o
    寪g                     @   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|)Nf77f90<F90>arz-crranlib)version_cmdcompiler_f77compiler_fixcompiler_f90	linker_so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   \/var/www/html/chatdoc2/venv/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-K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 )NABSOFT10.0sh 64z%slib%s)r   get_library_dirsr   environgetr   r   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af77mathamiscr'   )r5   r6   r7   U778.0)f90mathfiof77mathr9   )r<   r;   fmathr9   r   COMDLG32)r   get_librariesr   extendr   r   r/   r   r   r   r   r@   [   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   rA   r   r/   r   r   r   r   rB   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_f77rA   r   r   r   r/   )r   r   vr   r   r   rE   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=LCSrD   z-YDEALLOC=ALL)r   get_flags_f90rA   r   r   r   r   r   rH      s   
zAbsoftFCompiler.get_flags_f90c                 C   s*   t | }|g d |ddg |S )NrG   rC   fixed)r   get_flags_fixrA   r   r   r   r   rJ      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__compiler_typedescriptionversion_patternr   r   r   library_switchmodule_dir_switchmodule_include_switchr   r    r#   r%   r+   r@   rB   rE   rH   rJ   rK   r   r   r   r   r      s6    

		__main__)log   )customized_fcompilerr   )compiler)r   numpy.distutils.cpuinfor   numpy.distutils.fcompilerr   r   numpy.distutils.misc_utilr   	compilersr   rL   	distutilsrV   set_verbositynumpy.distutilsrX   printr   r   r   r   r   <module>   s    	
