B
    G0d                 @   s   d dl Z d dlmZ d dl mZ d dlmZmZmZ ddgZG dd deZ	d dl
Z
G dd deZed	krd d
lmZ ed d dlmZ de jkreedd  needd  dS )    N)	FCompiler)platform)joindirnamenormpathPGroupFCompilerPGroupFlangCompilerc               @   s   e Zd ZdZdZdZedkrRddgddgdd	dgddgd
gddgdgdZdgZn.ddgdgdd	gdgdgddgdgdZdgZdZ	dZ
dd Zdd Zdd Zedkrdd Zndd Zdd ZdS ) r   pgzPortland Group Fortran Compilerz1\s*pg(f77|f90|hpf|fortran) (?P<version>[\d.-]+).*darwinz<F77>z-VZ	pgfortranz-dynamiclibz-MfixedZlibtoolarz-crranlib)version_cmdcompiler_f77compiler_fixcompiler_f90	linker_soarchiverr    z<F90>z-fpicz-module z-Ic             C   s   ddg}| j | S )Nz-Minform=informz-Mnosecond_underscore)	pic_flags)selfopt r   N/var/www/html/venv/lib/python3.7/site-packages/numpy/distutils/fcompiler/pg.py	get_flags+   s    zPGroupFCompiler.get_flagsc             C   s   dgS )Nz-fastr   )r   r   r   r   get_flags_opt/   s    zPGroupFCompiler.get_flags_optc             C   s   dgS )Nz-gr   )r   r   r   r   get_flags_debug2   s    zPGroupFCompiler.get_flags_debugc             C   s
   dddgS )Nz-dynamicz
-undefinedZdynamic_lookupr   )r   r   r   r   get_flags_linker_so6   s    z#PGroupFCompiler.get_flags_linker_soc             C   s   ddgS )Nz-sharedz-fpicr   )r   r   r   r   r   :   s    c             C   s   d| S )Nz-R%sr   )r   dirr   r   r   runtime_library_dir_option=   s    z*PGroupFCompiler.runtime_library_dir_optionN)__name__
__module____qualname__compiler_typedescriptionversion_patternr   executablesr   module_dir_switchZmodule_include_switchr   r   r   r   r   r   r   r   r   r      s:   


c               @   s   e Zd ZdZdZdZdZdgZddgdgdgdgdgedd	gdd
Zd	Z	dZ
dd Zejdddd Zdd Zdd Zdd Zdd Zdd Zdd ZdS )r   flangz$Portland Group Fortran LLVM Compilerz/\s*(flang|clang) version (?P<version>[\d.-]+).*zlib.exez<F77>z	--versionNz/verbosez/OUT:)r   r   r   r   r   r   r   z-module c             C   s   t | }|dddg |S )Nr'   ZflangrtiZompstub)r   get_librariesextend)r   r   r   r   r   r(   X   s    
z!PGroupFlangCompiler.get_libraries   )maxsizec             C   s6   t | }t| jd d }|tt|dd |S )z%List of compiler library directories.r   r   z..lib)r   get_library_dirsr   r%   appendr   r   )r   r   Z	flang_dirr   r   r   r-   ]   s    
z$PGroupFlangCompiler.get_library_dirsc             C   s   g S )Nr   )r   r   r   r   r   f   s    zPGroupFlangCompiler.get_flagsc             C   s   g S )Nr   )r   r   r   r   get_flags_freei   s    z"PGroupFlangCompiler.get_flags_freec             C   s   dgS )Nz-gr   )r   r   r   r   r   l   s    z#PGroupFlangCompiler.get_flags_debugc             C   s   dgS )Nz-O3r   )r   r   r   r   r   o   s    z!PGroupFlangCompiler.get_flags_optc             C   s   g S )Nr   )r   r   r   r   get_flags_archr   s    z"PGroupFlangCompiler.get_flags_archc             C   s   t d S )N)NotImplementedError)r   r   r   r   r   r   u   s    z.PGroupFlangCompiler.runtime_library_dir_option)r   r    r!   r"   r#   r$   Zar_exeZpossible_executablesr%   Zlibrary_switchr&   r(   	functools	lru_cacher-   r   r/   r   r   r0   r   r   r   r   r   r   C   s,   	__main__)log   )customized_fcompilerr'   )compilerr	   )sysZnumpy.distutils.fcompilerr   r   os.pathr   r   r   Z	compilersr   r2   r   r   	distutilsr5   set_verbosityZnumpy.distutilsr7   argvprintget_versionr   r   r   r   <module>   s   66

