U
    ÉZjª  ã                   @   sì   d dl Z d dlmZ d dlmZmZ dddddd	gZd
d„ ZG dd„ deƒZG dd„ deƒZ	G dd„ de	ƒZ
G dd	„ d	e	ƒZG dd„ deƒZG dd„ deƒ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©Úsimple_version_match)Ú	FCompilerÚdummy_fortran_fileÚIntelFCompilerÚIntelVisualFCompilerÚIntelItaniumFCompilerÚIntelItaniumVisualFCompilerÚIntelEM64VisualFCompilerÚIntelEM64TFCompilerc                 C   s   t d| f d�S )Nz"Intel.*?Fortran.*?(?:%s).*?Version©Ústartr   )Útype© r   úb/var/www/html/TRUCKING_PROJECT/venv/lib/python3.8/site-packages/numpy/distutils/fcompiler/intel.pyÚintel_version_match   s    r   c                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚBaseIntelFCompilerc                 C   s*   t ƒ }dddd|d d|d g| jd< d S )	Nú<F77>ú-FIz-Vz-cú.fz-oú.oÚversion_cmd©r   Úexecutables©ÚselfÚfr   r   r   Úupdate_executables   s      ÿz%BaseIntelFCompiler.update_executablesc                 C   s   d|kst ‚d| S )Nú,z-Wl,-rpath=%s)ÚAssertionError©r   Údirr   r   r   Úruntime_library_dir_option   s    z-BaseIntelFCompiler.runtime_library_dir_optionN)Ú__name__Ú
__module__Ú__qualname__r   r"   r   r   r   r   r      s   r   c                   @   sŠ   e Zd ZdZdZdZedƒZddgZdddd	d
gdgddgd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dd„ Zdd„ ZdS )r   Úintel)Úifortz&Intel Fortran Compiler for 32-bit appsú32-bit|IA-32r'   ZifcNz-72ú-w90ú-w95r   ú<F90>ú-sharedÚarú-crÚranlib)r   Úcompiler_f77Úcompiler_f90Úcompiler_fixÚ	linker_soÚarchiverr/   ú-fPICz-module z-Ic                 C   s   dgS )Nz-FRr   ©r   r   r   r   Úget_flags_free5   s    zIntelFCompiler.get_flags_freec                 C   s   dgS )Nr5   r   r6   r   r   r   Ú	get_flags8   s    zIntelFCompiler.get_flagsc                 C   s2   |   ¡ }|r|dk rdnd}dddddd	 |¡gS )
NZ15ZopenmpZqopenmpz	-fp-modelÚstrictz-O1z-assumeZminus0z-{})Úget_versionÚformat)r   ÚvZmpoptr   r   r   Úget_flags_opt;   s      ÿzIntelFCompiler.get_flags_optc                 C   s   g S ©Nr   r6   r   r   r   Úget_flags_archA   s    zIntelFCompiler.get_flags_archc                 C   sx   t  | ¡}|  ¡ }|r(|dkr(| d¡ tjdkrtz| d¡}| d¡ W n tk
rb   d}Y nX ddg|||…< |S )Nz8.0z-nofor_mainÚdarwinr,   r   z-dynamiclibz-Wl,-undefined,dynamic_lookup)	r   Úget_flags_linker_sor:   ÚappendÚsysÚplatformÚindexÚremoveÚ
ValueError)r   Úoptr<   Úidxr   r   r   rA   D   s    




z"IntelFCompiler.get_flags_linker_so)r#   r$   r%   Úcompiler_typeÚcompiler_aliasesÚdescriptionr   Úversion_matchÚpossible_executablesr   Z	pic_flagsÚmodule_dir_switchÚmodule_include_switchr7   r8   r=   r?   rA   r   r   r   r   r      s*   
ù
c                   @   sV   e Zd ZdZdZdZedƒZdddgZddd	d
dgdd	gdgddgddgdgdœZ	dS )r   Zinteler   z'Intel Fortran Compiler for Itanium appszItanium|IA-64r'   ÚefortÚefcNr   r)   r*   r+   r,   r-   r.   r/   ©r   r0   r2   r1   r3   r4   r/   ©
r#   r$   r%   rJ   rK   rL   r   rM   rN   r   r   r   r   r   r   T   s   

ùc                   @   sR   e Zd ZdZdZdZedƒZdddgZddd	gdd	gdgd
dgddgdgdœZ	dS )r   Zintelemr   z&Intel Fortran Compiler for 64-bit appsz)EM64T-based|Intel\(R\) 64|64|IA-64|64-bitr'   rQ   rR   Nr   r+   r,   r-   r.   r/   rS   rT   r   r   r   r   r   h   s   
ùc                   @   s–   e Zd ZdZdZedƒZdd„ ZdZddgZ	d	d	gd	gd	gd	ged
dgd	dœZ
dZdZ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	S )r   Zintelvz-Intel Visual Fortran Compiler for 32-bit appsr(   c                 C   s(   t ƒ }ddd|d d|d g| jd< d S )Nr   z/FIz/cr   z/or   r   r   r   r   r   r   r   „   s      ÿz'IntelVisualFCompiler.update_executableszlib.exer'   ZiflNú/verboseú/OUT:rS   z/c z/Foz/module:z/Ic                 C   s   ddddddg}|S )Nz/nologoz/MDz/nbsz/names:lowercasez/assume:underscorez/fppr   )r   rH   r   r   r   r8   œ   s
     ÿzIntelVisualFCompiler.get_flagsc                 C   s   g S r>   r   r6   r   r   r   r7   ¡   s    z#IntelVisualFCompiler.get_flags_freec                 C   s   ddgS )Nz/4Ybz/d2r   r6   r   r   r   Úget_flags_debug¤   s    z$IntelVisualFCompiler.get_flags_debugc                 C   s   ddgS )Nz/O1z/assume:minus0r   r6   r   r   r   r=   §   s    z"IntelVisualFCompiler.get_flags_optc                 C   s   ddgS )Nz
/arch:IA32z/QaxSSE3r   r6   r   r   r   r?   ª   s    z#IntelVisualFCompiler.get_flags_archc                 C   s   t ‚d S r>   )ÚNotImplementedErrorr    r   r   r   r"   ­   s    z/IntelVisualFCompiler.runtime_library_dir_option)r#   r$   r%   rJ   rL   r   rM   r   Úar_exerN   r   Zcompile_switchZobject_switchZlibrary_switchrO   rP   r8   r7   rW   r=   r?   r"   r   r   r   r   r      s2   ù
c                   @   sX   e Zd ZdZdZedƒZdgZej	Z	dddddgddd	d
gdgddge	ddgddœZ
dS )r	   Zintelevz.Intel Visual Fortran Compiler for Itanium appsZItaniumZeflNr   r)   r*   z-4L72z-wr+   r,   rU   rV   rS   )r#   r$   r%   rJ   rL   r   rM   rN   r   rY   r   r   r   r   r   r	   ±   s   

ùc                   @   s&   e Zd ZdZdZedd�Zdd„ ZdS )r
   Zintelvemz-Intel Visual Fortran Compiler for 64-bit appszIntel\(R\).*?64,r   c                 C   s   g S r>   r   r6   r   r   r   r?   Ë   s    z'IntelEM64VisualFCompiler.get_flags_archN)r#   r$   r%   rJ   rL   r   rM   r?   r   r   r   r   r
   Å   s   
Ú__main__)Úlogé   )Úcustomized_fcompilerr&   )Úcompiler)rC   Znumpy.distutils.ccompilerr   Znumpy.distutils.fcompilerr   r   Z	compilersr   r   r   r   r   r   r	   r
   r#   Ú	distutilsr[   Úset_verbosityZnumpy.distutilsr]   Úprintr:   r   r   r   r   Ú<module>   s*     þ62

