a ;jg@sddlZddlmZddlmZmZgdZddZGdddeZGd d d eZ Gd d d e Z Gd dde Z GdddeZ Gddde Z Gddde ZedkrddlmZedddlmZeedddS)Nsimple_version_match) FCompilerdummy_fortran_file)IntelFCompilerIntelVisualFCompilerIntelItaniumFCompilerIntelItaniumVisualFCompilerIntelEM64VisualFCompilerIntelEM64TFCompilercCstd|fdS)Nz"Intel.*?Fortran.*?(?:%s).*?Versionstartr)typerI/usr/local/lib/python3.9/site-packages/numpy/distutils/fcompiler/intel.pyintel_version_match src@seZdZddZddZdS)BaseIntelFCompilercCs*t}dddd|dd|dg|jd<dS) N-FIz-Vz-c.fz-o.o version_cmdr executablesselffrrrupdate_executablessz%BaseIntelFCompiler.update_executablescCsd|vs Jd|S)N,z -Wl,-rpath=%srrdirrrrruntime_library_dir_options z-BaseIntelFCompiler.runtime_library_dir_optionN)__name__ __module__ __qualname__rr!rrrrrsrc@seZdZdZdZdZedZddgZdgddgdd gd d gd d gdgdZ dgZ dZ dZ ddZ ddZddZddZddZdS)rintel)ifortz&Intel Fortran Compiler for 32-bit apps 32-bit|IA-32r&ZifcN)Nz-72-w90-w95r-sharedar-crranlib)r compiler_f77 compiler_f90 compiler_fix linker_soarchiverr.-fPICz-module z-IcCsdgS)Nz-FRrrrrrget_flags_free5szIntelFCompiler.get_flags_freecCsdgS)Nr4rr5rrr get_flags8szIntelFCompiler.get_flagscCs2|}|r|dkrdnd}dddddd |gS) NZ15ZopenmpZqopenmpz -fp-modelstrictz-O1z-assumeZminus0z-{}) get_versionformat)rvZmpoptrrr get_flags_opt;s  zIntelFCompiler.get_flags_optcCsgSNrr5rrrget_flags_archAszIntelFCompiler.get_flags_archcCsvt|}|}|r(|dkr(|dtjdkrrz|d}|dWnty`d}Yn0ddg|||<|S)Nz8.0z -nofor_maindarwinr+rz -dynamiclibz-Wl,-undefined,dynamic_lookup) rget_flags_linker_sor9appendsysplatformindexremove ValueError)roptr;idxrrrr@Ds       z"IntelFCompiler.get_flags_linker_so)r"r#r$ compiler_typecompiler_aliases descriptionr version_matchpossible_executablesrZ pic_flagsmodule_dir_switchmodule_include_switchr6r7r<r>r@rrrrrs* rc@sPeZdZdZdZdZedZgdZdgdddgdgd d gd d gd gdZ dS)rZintelerz'Intel Fortran Compiler for Itanium appsz Itanium|IA-64r&ZefortZefcNNrr(r)rr*r+r,r-r.rr/r1r0r2r3r. r"r#r$rIrJrKrrLrMrrrrrrTsrc@sPeZdZdZdZdZedZgdZdddgddgdgdd gd d gd gd Z dS)r Zintelemrz&Intel Fortran Compiler for 64-bit appsz)EM64T-based|Intel\(R\) 64|64|IA-64|64-bitrPNrr*r+r,r-r.rRrSrrrrr hsr c@seZdZdZdZedZddZdZddgZ d d gd gd gd ged d gd d Z d Z dZ d Z dZdZddZddZddZddZddZddZd S)rZintelvz-Intel Visual Fortran Compiler for 32-bit appsr'cCs(t}ddd|dd|dg|jd<dS)Nrz/FIz/crz/orrrrrrrrsz'IntelVisualFCompiler.update_executableszlib.exer&ZiflN/verbose/OUT:rRz/c z/Foz/module:z/IcCs gd}|S)N)z/nologoz/MDz/nbsz/names:lowercasez/assume:underscorez/fppr)rrGrrrr7szIntelVisualFCompiler.get_flagscCsgSr=rr5rrrr6sz#IntelVisualFCompiler.get_flags_freecCsddgS)Nz/4Ybz/d2rr5rrrget_flags_debugsz$IntelVisualFCompiler.get_flags_debugcCsddgS)Nz/O1z/assume:minus0rr5rrrr<sz"IntelVisualFCompiler.get_flags_optcCsddgS)Nz /arch:IA32z/QaxSSE3rr5rrrr>sz#IntelVisualFCompiler.get_flags_archcCstdSr=)NotImplementedErrorrrrrr!sz/IntelVisualFCompiler.runtime_library_dir_option)r"r#r$rIrKrrLrar_exerMrZcompile_switchZ object_switchZlibrary_switchrNrOr7r6rVr<r>r!rrrrrs2 rc@sPeZdZdZdZedZdgZej Z dgdgddgdd ge d d gdd Z dS) r Zintelevz.Intel Visual Fortran Compiler for Itanium appsZItaniumZeflNrQ)Nrz-4L72z-wr*r+rTrUrR) r"r#r$rIrKrrLrMrrXrrrrrr sr c@s&eZdZdZdZeddZddZdS)r Zintelvemz-Intel Visual Fortran Compiler for 64-bit appszIntel\(R\).*?64,r cCsgSr=rr5rrrr>sz'IntelEM64VisualFCompiler.get_flags_archN)r"r#r$rIrKrrLr>rrrrr s r __main__)log)customized_fcompilerr%)compiler)rBZnumpy.distutils.ccompilerrZnumpy.distutils.fcompilerrrZ compilersrrrrr rr r r" distutilsrZ set_verbosityZnumpy.distutilsr\printr9rrrrs   62