a
    p=ic                     @   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v 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rPddgddgg d	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.-]+).*darwin<F77>z-V	pgfortran-dynamiclib)r   -Mfixedr   Zlibtoolarz-crranlibZversion_cmdcompiler_f77Zcompiler_fixZcompiler_f90	linker_soarchiverr    r   z<F90>-fpic-module z-Ic                 C   s   ddg}| j | S )Nz-Minform=informz-Mnosecond_underscore)	pic_flagsselfopt r   m/home/droni/.local/share/virtualenvs/DPS-5Je3_V2c/lib/python3.9/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   g dS )N)z-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-sharedr   r   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.exer   z	--versionNz/verbosez/OUT:r   r   c                 C   s   t | }|g d |S )N)r/   ZflangrtiZompstub)r   get_librariesextendr   r   r   r   r0   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   r5   ]   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 r7   r   r   r   r   r   get_flags_freei   s    z"PGroupFlangCompiler.get_flags_freec                 C   s   dgS r!   r   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 r7   r   r   r   r   r   get_flags_archr   s    z"PGroupFlangCompiler.get_flags_archc                 C   s   t d S r7   )NotImplementedErrorr$   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.   r0   	functools	lru_cacher5   r   r8   r"   r    r9   r&   r   r   r   r   r   C   s0   


__main__)log   )customized_fcompilerr/   )compilerr	   )sysZnumpy.distutils.fcompilerr   r   os.pathr   r   r   Z	compilersr   r;   r   r'   	distutilsr>   set_verbosityZnumpy.distutilsr@   argvprintget_versionr   r   r   r   <module>   s   66

