o
    ʩZh                     @   s   d dl Z d dlmZ d dlmZmZ d dlmZ dgZG dd deZ	e
dkrCd dlmZ ed	 d d
lmZ eedd  dS dS )    N)cpu)	FCompilerdummy_fortran_file)	cyg2win32AbsoftFCompilerc                   @   s   e Zd ZdZdZdZddgdgdgdgdd	gd
gdZejdkr"dZ	dZ
dZdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd  Zd!d" Zd#d$ ZdS )%r   absoftzAbsoft Corp Fortran Compilerz(f90:.*?(Absoft Pro FORTRAN Version|FORTRAN 77 Compiler|Absoft Fortran Compiler Version|Copyright Absoft Corporation.*?Version)) (?P<version>[^\s*,]*)(.*?Absoft Corp|)NZf77f90<F90>arz-crranlib)version_cmdZcompiler_f77Zcompiler_fixZcompiler_f90Z	linker_soZarchiverr   ntz/out:z-pc                 C   s,   t t }ddd|d d|d g| jd< d S )Nr	   z-Vz-cz.fz-oz.or   )r   r   executables)selff r   W/var/www/html/lang_env/lib/python3.10/site-packages/numpy/distutils/fcompiler/absoft.pyupdate_executables/   s   
z"AbsoftFCompiler.update_executablesc                 C   s6   t jdkr
dg}|S |  dkrdg}|S ddg}|S )Nr   z/dllz9.0z-sharedz-KZshared)osnameget_versionr   optr   r   r   get_flags_linker_so4   s   
	z#AbsoftFCompiler.get_flags_linker_soc                 C   s   t jdkrdd| gS d| S )Nr   z-linkz/PATH:%sz-Lr   r   )r   dirr   r   r   library_dir_optionA   s   
z"AbsoftFCompiler.library_dir_optionc                 C   s   t jdkr	d| S d| S )Nr   z%s.libz-lr   )r   libr   r   r   library_optionF   s   
zAbsoftFCompiler.library_optionc                 C   sb   t | }tjd}|r/|  dkrd}nd}t rd}nd}|tj	
|d||f  |S )NZABSOFT10.0sh Z64z%slib%s)r   get_library_dirsr   environgetr   r   Zis_64bitappendpathjoin)r   r   dprefixsuffixr   r   r   r"   K   s   
z AbsoftFCompiler.get_library_dirsc                 C   s   t | }|  dkr|g d n#|  dkr!|g d n|  dkr/|g d n|g d tjdkr@|d	 |S )
Nz11.0)af90mathafioaf77mathZamiscr   )r+   r,   r-   U778.0)f90mathfioZf77mathr.   )r1   r0   Zfmathr.   r   ZCOMDLG32)r   get_librariesr   extendr   r   r%   r   r   r   r   r2   [   s   


zAbsoftFCompiler.get_librariesc                 C   sB   t | }tjdkr|dg |  r|  dkr|d |S )Nr   z-sz8.2z-fpic)r   	get_flagsr   r   r3   r   r%   r   r   r   r   r4   i   s   


zAbsoftFCompiler.get_flagsc                 C   sz   t | }|g d |  }tjdkr$|r"|dkr"|ddg |S |d |r;|dkr6|d |S |d |S )N)z-N22z-N90z-N110r   r/   -fz-N154.6z-B108)r   get_flags_f77r3   r   r   r   r%   )r   r   vr   r   r   r7   r   s   





zAbsoftFCompiler.get_flags_f77c                 C   s<   t | }|g d |  r|  dkr|dg |S )Nz-YCFRL=1z-YCOM_NAMES=LCSz	-YCOM_PFXz	-YEXT_PFXz-YCOM_SFX=_z-YEXT_SFX=_z-YEXT_NAMES=LCSr6   z-YDEALLOC=ALL)r   get_flags_f90r3   r   r   r   r   r   r:      s   
zAbsoftFCompiler.get_flags_f90c                 C   s*   t | }|g d |ddg |S )Nr9   r5   fixed)r   get_flags_fixr3   r   r   r   r   r<      s   
zAbsoftFCompiler.get_flags_fixc                 C   s
   dg}|S )Nz-Or   r   r   r   r   get_flags_opt   s   zAbsoftFCompiler.get_flags_opt)__name__
__module____qualname__Zcompiler_typedescriptionZversion_patternr   r   r   Zlibrary_switchZmodule_dir_switchZmodule_include_switchr   r   r   r   r"   r2   r4   r7   r:   r<   r=   r   r   r   r   r      s6    

		__main__)log   )customized_fcompilerr   )compiler)r   Znumpy.distutils.cpuinfor   Znumpy.distutils.fcompilerr   r   Znumpy.distutils.misc_utilr   Z	compilersr   r>   	distutilsrC   Zset_verbosityZnumpy.distutilsrE   printr   r   r   r   r   <module>   s    	
