o
    >~#g                     @   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rbd d
lmZ ed d dlmZ de jv rWeedd  dS eedd  dS dS )    N)	FCompiler)platform)joindirnamenormpathPGroupFCompilerPGroupFlangCompilerc                   @   s   e Zd ZdZdZdZedkr(d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rXd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   libtoolarz-crranlibversion_cmdcompiler_f77compiler_fix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    /var/www/static.ux5.de/https/Moving-Object-Detection-with-OpenCV/env/lib/python3.10/site-packages/numpy/distutils/fcompiler/pg.py	get_flags+   s   
zPGroupFCompiler.get_flagsc                 C      dgS )Nz-fastr    r   r    r    r!   get_flags_opt/      zPGroupFCompiler.get_flags_optc                 C   r#   Nz-gr    r$   r    r    r!   get_flags_debug2   r&   zPGroupFCompiler.get_flags_debugc                 C   s   g dS )N)z-dynamicz
-undefineddynamic_lookupr    r$   r    r    r!   get_flags_linker_so6      z#PGroupFCompiler.get_flags_linker_soc                 C   s   ddgS )Nz-sharedr   r    r$   r    r    r!   r*   :   r+   c                 C   s   d| S )Nz-R%sr    r   dirr    r    r!   runtime_library_dir_option=   r+   z*PGroupFCompiler.runtime_library_dir_optionN)__name__
__module____qualname__compiler_typedescriptionversion_patternr   executablesr   module_dir_switch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)r8   flangrtiompstub)r   get_librariesextendr   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   r5   appendr   r   )r   r   	flang_dirr    r    r!   r@   ]   s   
z$PGroupFlangCompiler.get_library_dirsc                 C      g S Nr    r$   r    r    r!   r"   f      zPGroupFlangCompiler.get_flagsc                 C   rC   rD   r    r$   r    r    r!   get_flags_freei   rE   z"PGroupFlangCompiler.get_flags_freec                 C   r#   r'   r    r$   r    r    r!   r(   l   r&   z#PGroupFlangCompiler.get_flags_debugc                 C   r#   )Nz-O3r    r$   r    r    r!   r%   o   r&   z!PGroupFlangCompiler.get_flags_optc                 C   rC   rD   r    r$   r    r    r!   get_flags_archr   rE   z"PGroupFlangCompiler.get_flags_archc                 C   s   t rD   )NotImplementedErrorr,   r    r    r!   r.   u   rE   z.PGroupFlangCompiler.runtime_library_dir_option)r/   r0   r1   r2   r3   r4   ar_exepossible_executablesr5   library_switchr6   r;   	functools	lru_cacher@   r"   rF   r(   r%   rG   r.   r    r    r    r!   r   C   s2    


__main__)log   )customized_fcompilerr8   )compilerr	   )sysnumpy.distutils.fcompilerr   r   os.pathr   r   r   	compilersr   rL   r   r/   	distutilsrO   set_verbositynumpy.distutilsrQ   argvprintget_versionr    r    r    r!   <module>   s    66

