o
    U=ºi0  ã                   @   s¨   d dl Z d dlZd dlmZ ddgZG dd„ deƒZG dd„ deƒZG dd„ deƒZed	krRd d
l	m
Z
 e
 d¡ d dlmZ edd�Zee ¡ ƒ ee ¡ ƒ dS dS )é    N)Ú	FCompilerÚNAGFCompilerÚNAGFORCompilerc                   @   s0   e Zd ZdZdd„ Zdd„ Zdd„ Zdd	„ Zd
S )ÚBaseNAGFCompilerz"NAG.* Release (?P<version>[^(\s]*)c                 C   s    t  | j|¡}|r| d¡S d S )NÚversion)ÚreÚsearchÚversion_patternÚgroup)ÚselfÚversion_stringÚm© r   úcC:\Users\psant\Downloads\PAF backend\school\venv\Lib\site-packages\numpy/distutils/fcompiler/nag.pyÚversion_match
   s   
zBaseNAGFCompiler.version_matchc                 C   ó   dgS )Nz-Wl,-sharedr   ©r   r   r   r   Úget_flags_linker_so   ó   z$BaseNAGFCompiler.get_flags_linker_soc                 C   r   )Nz-O4r   r   r   r   r   Úget_flags_opt   r   zBaseNAGFCompiler.get_flags_optc                 C   s   g S )Nr   r   r   r   r   Úget_flags_arch   s   zBaseNAGFCompiler.get_flags_archN)Ú__name__Ú
__module__Ú__qualname__r	   r   r   r   r   r   r   r   r   r      s    r   c                   @   sV   e Zd ZdZdZddgddgddgdgdgddgd	gd
œZdd„ Zdd„ Zdd„ ZdS )r   ZnagzNAGWare Fortran 95 Compilerz<F90>ú-VZf95ú-fixedÚarú-crÚranlib©Zversion_cmdZcompiler_f77Zcompiler_fixZcompiler_f90Ú	linker_soÚarchiverr   c                 C   ó   t jdkr	ddgS t | ¡S )NÚdarwinz-unsharedf95ú/-Wl,-bundle,-flat_namespace,-undefined,suppress©ÚsysÚplatformr   r   r   r   r   r   r   '   s   

z NAGFCompiler.get_flags_linker_soc                 C   s$   |   ¡ }|r|dk rdgS t | ¡S )Nz5.1z-target=native)Úget_versionr   r   ©r   r   r   r   r   r   +   s   
zNAGFCompiler.get_flags_archc                 C   s   g d¢S )N)ú-gz-glinez-g90ú-nanz-Cr   r   r   r   r   Úget_flags_debug1   s   zNAGFCompiler.get_flags_debugN)	r   r   r   Úcompiler_typeÚdescriptionÚexecutablesr   r   r,   r   r   r   r   r      s    ù
c                   @   sN   e Zd ZdZdZddgddgddgdgdgddgdgdœZd	d
„ Zdd„ ZdS )r   ÚnagforzNAG Fortran Compilerr   r   r   r   r   r   c                 C   r"   )Nr#   z-unsharedrtsr$   r%   r   r   r   r   r   C   s
   
ÿ
z"NAGFORCompiler.get_flags_linker_soc                 C   s$   |   ¡ }|r|dkrg d¢S g d¢S )Nz6.1)r*   ú-ur+   ú-C=allú-thread_safez-kind=uniquez-Warn=allocationz-Warn=subnormal)r*   r+   r2   r1   r3   )r(   r)   r   r   r   r,   H   s   zNAGFORCompiler.get_flags_debugN)r   r   r   r-   r.   r/   r   r,   r   r   r   r   r   4   s    ù
Ú__main__)Úlogé   )Úcustomized_fcompilerr0   )Úcompiler)r&   r   Znumpy.distutils.fcompilerr   Z	compilersr   r   r   r   Ú	distutilsr5   Úset_verbosityZnumpy.distutilsr7   r8   Úprintr(   r,   r   r   r   r   Ú<module>   s    

ú