a
    p=ic{  ã                   @   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r‚d dlmZ e d	¡ d d
lmZ eedd ¡ ƒ 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rDd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_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   úq/home/droni/.local/share/virtualenvs/DPS-5Je3_V2c/lib/python3.9/site-packages/numpy/distutils/fcompiler/absoft.pyÚupdate_executables/   s    
ÿz"AbsoftFCompiler.update_executablesc                 C   s2   t jdkrdg}n|  ¡ dkr&dg}n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¢¡ nF|  ¡ dkrB| 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f77mathr0   )r3   r2   Zfmathr0   r   ZCOMDLG32)r   Úget_librariesr   Úextendr   r   r'   r   r   r   r   r4   [   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   r5   r   r'   r   r   r   r   r6   i   s    


zAbsoftFCompiler.get_flagsc                 C   sv   t  | ¡}| g d¢¡ |  ¡ }tjdkrF|rr|dkrr| ddg¡ n,| d¡ |rr|dkrh| d¡ n
| d¡ |S )N)z-N22z-N90z-N110r   r1   ú-fz-N15ú4.6z-B108)r   Úget_flags_f77r5   r   r   r   r'   )r   r   Úvr   r   r   r9   r   s    



zAbsoftFCompiler.get_flags_f77c                 C   s<   t  | ¡}| g d¢¡ |  ¡ r8|  ¡ dkr8| dg¡ |S )N©z-YCFRL=1z-YCOM_NAMES=LCSz	-YCOM_PFXz	-YEXT_PFXz-YCOM_SFX=_z-YEXT_SFX=_z-YEXT_NAMES=LCSr8   z-YDEALLOC=ALL)r   Úget_flags_f90r5   r   r   r   r   r   r<   „   s    
zAbsoftFCompiler.get_flags_f90c                 C   s*   t  | ¡}| g d¢¡ | ddg¡ |S )Nr;   r7   Úfixed)r   Úget_flags_fixr5   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__Úcompiler_typeÚdescriptionZversion_patternr   r   r   Zlibrary_switchZmodule_dir_switchZmodule_include_switchr   r   r   r    r$   r4   r6   r9   r<   r>   r?   r   r   r   r   r      s4   ù

		Ú__main__)Úlogé   )Úcustomized_fcompilerr   )Úcompiler)r   Znumpy.distutils.cpuinfor   Znumpy.distutils.fcompilerr   r   Znumpy.distutils.misc_utilr   Z	compilersr   r@   Ú	distutilsrF   Úset_verbosityZnumpy.distutilsrH   Úprintr   r   r   r   r   Ú<module>   s    	
