
    G/Ph                        d dl Z d dlmZ d dlmZmZ g dZd Z G d de          Z G d d	e          Z	 G d
 de	          Z
 G d de	          Z G d de          Z G d de          Z G d de          Zedk    rEd dlmZ  ej        d           d dlmZ  e ed                                                     dS dS )    Nsimple_version_match)	FCompilerdummy_fortran_file)IntelFCompilerIntelVisualFCompilerIntelItaniumFCompilerIntelItaniumVisualFCompilerIntelEM64VisualFCompilerIntelEM64TFCompilerc                 *    t          d| d          S )NzIntel.*?Fortran.*?(?:z).*?Versionstartr   )types    _/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/numpy/distutils/fcompiler/intel.pyintel_version_matchr      s    ttt&UVVVV    c                       e Zd Zd Zd ZdS )BaseIntelFCompilerc                 P    t                      }dddd|dz   d|dz   g| j        d<   d S )	N<F77>-FIz-Vz-c.fz-o.oversion_cmdr   executablesselffs     r   update_executablesz%BaseIntelFCompiler.update_executables   s;      +2E4+,t8T1t8+E'''r   c                     d|vsJ d|z  S )N,z-Wl,-rpath=%s r   dirs     r   runtime_library_dir_optionz-BaseIntelFCompiler.runtime_library_dir_option   s    #~~~~$$r   N)__name__
__module____qualname__r!   r'   r$   r   r   r   r      s5        E E E
% % % % %r   r   c                       e Zd ZdZdZdZ ed          ZddgZdg ddgdd	gd
dgddgdgdZ	dgZ
dZdZd Zd Zd Zd Zd ZdS )r   intel)ifortz&Intel Fortran Compiler for 32-bit apps32-bit|IA-32r-   ifcN)Nz-72-w90-w95r   <F90>-sharedar-crranlib)r   compiler_f77compiler_f90compiler_fix	linker_soarchiverr6   -fPICz-module z-Ic                     dgS )Nz-FRr$   r   s    r   get_flags_freezIntelFCompiler.get_flags_free5   s	    wr   c                     dgS )Nr<   r$   r>   s    r   	get_flagszIntelFCompiler.get_flags8   s
    yr   c                 x    |                                  }|r|dk     rdnd}dddddd	                    |          gS )
N15openmpqopenmpz	-fp-modelstrictz-O1z-assumeminus0z-{})get_versionformat)r   vmpopts      r   get_flags_optzIntelFCompiler.get_flags_opt;   sM    9!d((	Xu8U\\%%8%8: 	:r   c                     g S Nr$   r>   s    r   get_flags_archzIntelFCompiler.get_flags_archA       	r   c                 >   t          j        |           }|                                 }|r|dk    r|                    d           t          j        dk    rG	 |                    d          }|                    d           n# t          $ r d}Y nw xY wddg|||<   |S )Nz8.0z-nofor_maindarwinr3   r   z-dynamiclibz-Wl,-undefined,dynamic_lookup)	r   get_flags_linker_sorH   appendsysplatformindexremove
ValueError)r   optrJ   idxs       r   rS   z"IntelFCompiler.get_flags_linker_soD   s    +D11 	&eJJ}%%%<8##ii	**

9%%%%   )+JKCCL
s   *B BB)r(   r)   r*   compiler_typecompiler_aliasesdescriptionr   version_matchpossible_executablesr   	pic_flagsmodule_dir_switchmodule_include_switchr?   rA   rL   rO   rS   r$   r   r   r   r      s        M!:K''77M#U+ 666!9-"
 
K 	I"     : : :      r   r   c                   `    e Zd ZdZdZdZ ed          Zg dZdg dddgdgd	d
gddgdgdZ	dS )r	   inteler$   z'Intel Fortran Compiler for Itanium appszItanium|IA-64r-   efortefcNNr   r0   r1   r   r2   r3   r4   r5   r6   r   r7   r9   r8   r:   r;   r6   
r(   r)   r*   r\   r]   r^   r   r_   r`   r   r$   r   r   r	   r	   T   st        M;K''88M444 666!9-"
 
KKKr   r	   c                   `    e Zd ZdZdZdZ ed          Zg dZdddgddgdgdd	gd
dgdgdZ	dS )r   intelemr$   z&Intel Fortran Compiler for 64-bit appsz)EM64T-based|Intel\(R\) 64|64|IA-64|64-bitrf   Nr   r2   r3   r4   r5   r6   rj   rk   r$   r   r   r   r   h   ss        M:K''(UVVM444 !9-"
 
KKKr   r   c                       e Zd ZdZdZ ed          Z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 Zd Zd Zd Zd Zd ZdS )r   intelvz-Intel Visual Fortran Compiler for 32-bit appsr.   c                 N    t                      }ddd|dz   d|dz   g| j        d<   d S )Nr   z/FIz/cr   z/or   r   r   r   s     r   r!   z'IntelVisualFCompiler.update_executables   s9      +2E4+,t8T1t8+E'''r   zlib.exer-   iflN/verbose/OUT:rj   z/c z/Foz/module:z/Ic                     g d}|S )N)z/nologoz/MDz/nbsz/names:lowercasez/assume:underscorez/fppr$   )r   rZ   s     r   rA   zIntelVisualFCompiler.get_flags   s    - - -
r   c                     g S rN   r$   r>   s    r   r?   z#IntelVisualFCompiler.get_flags_free   rP   r   c                 
    ddgS )Nz/4Ybz/d2r$   r>   s    r   get_flags_debugz$IntelVisualFCompiler.get_flags_debug   s    r   c                 
    ddgS )Nz/O1z/assume:minus0r$   r>   s    r   rL   z"IntelVisualFCompiler.get_flags_opt   s    '((r   c                 
    ddgS )Nz
/arch:IA32z/QaxSSE3r$   r>   s    r   rO   z#IntelVisualFCompiler.get_flags_arch   s    j))r   c                     t           rN   )NotImplementedErrorr%   s     r   r'   z/IntelVisualFCompiler.runtime_library_dir_option   s    !!r   )r(   r)   r*   r\   r^   r   r_   r!   ar_exer`   r   compile_switchobject_switchlibrary_switchrb   rc   rA   r?   rw   rL   rO   r'   r$   r   r   r   r      s        MAK''77ME E E
 F#U+  *g6
 
K NMN"   
    ) ) )* * *" " " " "r   r   c                   h    e Zd ZdZdZ ed          ZdgZej	        Z	dg dg ddgdd	ge	d
dgddZ
dS )r
   intelevz.Intel Visual Fortran Compiler for Itanium appsItaniumeflNri   )Nr   z-4L72z-wr2   r3   rr   rs   rj   )r(   r)   r*   r\   r^   r   r_   r`   r   r|   r   r$   r   r   r
   r
      su        MBK''	22M!7!(F 666555!9- *g6
 
KKKr   r
   c                   4    e Zd ZdZdZ ed          Zd ZdS )r   intelvemz-Intel Visual Fortran Compiler for 64-bit appszIntel\(R\).*?64,r   c                     g S rN   r$   r>   s    r   rO   z'IntelEM64VisualFCompiler.get_flags_arch   rP   r   N)r(   r)   r*   r\   r^   r   r_   rO   r$   r   r   r   r      sA        MAK((/BCCCM    r   r   __main__)log   )customized_fcompilerr,   )compiler)rU   numpy.distutils.ccompilerr   numpy.distutils.fcompilerr   r   	compilersr   r   r   r	   r   r   r
   r   r(   	distutilsr   set_verbositynumpy.distutilsr   printrH   r$   r   r   <module>r      s   



 : : : : : : C C C C C C C C@ @ @	
W W W

% 
% 
% 
% 
% 
% 
% 
%3 3 3 3 3' 3 3 3l
 
 
 
 
N 
 
 
(
 
 
 
 
. 
 
 
./" /" /" /" /"- /" /" /"d
 
 
 
 
"6 
 
 
(    3    zCa444444	E


0
0
0
<
<
>
>?????	 r   