B
    c	                 @   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rd d
l	m
Z
 e
d d dlmZ eddZee  ee  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 d S )Nversion)researchversion_patterngroup)selfversion_stringm r   @/tmp/pip-install-v41xt_bg/numpy/numpy/distutils/fcompiler/nag.pyversion_match
   s    
zBaseNAGFCompiler.version_matchc             C   s   dgS )Nz-Wl,-sharedr   )r   r   r   r   get_flags_linker_so   s    z$BaseNAGFCompiler.get_flags_linker_soc             C   s   dgS )Nz-O4r   )r   r   r   r   get_flags_opt   s    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>z-VZf95z-fixedarz-crranlib)version_cmdcompiler_f77compiler_fixcompiler_f90	linker_soarchiverr   c             C   s   t jdkrddgS t| S )Ndarwinz-unsharedf95z/-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 d S )Nz5.1z-target=native)get_versionr   r   )r   r   r   r   r   r   +   s    zNAGFCompiler.get_flags_archc             C   s   dddddgS )Nz-gz-glinez-g90z-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               @   sF   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S )r   nagforzNAG Fortran Compilerz-Vz-fixedr   z-crr   )r   r   r   r   r   r   r   c             C   s:   |   }|r(|dkr(dddddddd	gS dddddgS d S )
Nz6.1z-gz-uz-nanz-C=allz-thread_safez-kind=uniquez-Warn=allocationz-Warn=subnormal)r"   )r   r   r   r   r   r#   C   s
    

zNAGFORCompiler.get_flags_debugN)r   r   r   r$   r%   r&   r#   r   r   r   r   r   4   s   
__main__)log   )customized_fcompilerr'   )compiler)r    r   Znumpy.distutils.fcompilerr   Z	compilersr   r   r   r   	distutilsr)   set_verbosityZnumpy.distutilsr+   r,   printr"   r#   r   r   r   r   <module>   s   

