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   úb/var/www/html/ecg_monitoring/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    	
ü