B { `@sddlZddlmZddlmZmZdddddd gZd d ZGd d d eZGdddeZ Gddde Z Gdd d e Z GdddeZ Gddde Z Gddde ZedkrddlmZedddlmZeedddS)N)simple_version_match) FCompilerdummy_fortran_fileIntelFCompilerIntelVisualFCompilerIntelItaniumFCompilerIntelItaniumVisualFCompilerIntelEM64VisualFCompilerIntelEM64TFCompilercCstd|fdS)Nz"Intel.*?Fortran.*?(?:%s).*?Version)start)r)typer C/tmp/pip-unpacked-wheel-4iou4664/numpy/distutils/fcompiler/intel.pyintel_version_match src@seZdZddZddZdS)BaseIntelFCompilercCs*t}dddd|dd|dg|jd<dS) Nzz-FIz-Vz-cz.fz-oz.o version_cmd)r executables)selffr r rupdate_executablessz%BaseIntelFCompiler.update_executablescCsd|ks td|S)N,z -Wl,-rpath=%s)AssertionError)rdirr r rruntime_library_dir_options z-BaseIntelFCompiler.runtime_library_dir_optionN)__name__ __module__ __qualname__rrr r r rrsrc@seZdZdZdZdZedZddgZdddd d gdgdd gd d gddgdgdZ dgZ dZ dZ ddZ ddZddZddZddZdS)rintel)ifortz&Intel Fortran Compiler for 32-bit appsz 32-bit|IA-32rZifcNz-72z-w90z-w95z-FIzz-sharedarz-crranlib)r compiler_f77 compiler_f90 compiler_fix linker_soarchiverr z-fPICz-module z-IcCsdgS)Nz-FRr )rr r rget_flags_free5szIntelFCompiler.get_flags_freecCsdgS)Nz-fPICr )rr r r get_flags8szIntelFCompiler.get_flagscCs.|}|r|dkrdnd}dddd|gS)N15openmpqopenmpz -fp-modelstrictz-O1z-{}) get_versionformat)rvmpoptr r r get_flags_opt;szIntelFCompiler.get_flags_optcCsgS)Nr )rr r rget_flags_arch@szIntelFCompiler.get_flags_archcCsxt|}|}|r(|dkr(|dtjdkrty|d}|dWntk rbd}YnXddg|||<|S)Nz8.0z -nofor_maindarwinz-sharedrz -dynamiclibz-Wl,-undefined,dynamic_lookup) rget_flags_linker_sor,appendsysplatformindexremove ValueError)roptr.idxr r rr3Cs      z"IntelFCompiler.get_flags_linker_so)rrr compiler_typecompiler_aliases descriptionr version_matchpossible_executablesrZ pic_flagsmodule_dir_switchmodule_include_switchr&r'r0r1r3r r r rrs(  c@sVeZdZdZdZdZedZdddgZddd d d gdd gdgd d gddgdgdZ dS)rZinteler z'Intel Fortran Compiler for Itanium appsz Itanium|IA-64refortefcNz-FIz-w90z-w95zz-sharedrz-crr )rr!r#r"r$r%r ) rrrr<r=r>rr?r@rr r r rrSs  c@sjeZdZdZdZdZedZdddgZddd gdd gdgd d gd d gdgdZ ddZ ddZ ddZ dS)r Zintelemr z&Intel Fortran Compiler for 64-bit appsz)EM64T-based|Intel\(R\) 64|64|IA-64|64-bitrrCrDNz-FIzz-sharedrz-crr )rr!r#r"r$r%r cCsdgS)Nz-fPICr )rr r rr'zszIntelEM64TFCompiler.get_flagscCs.|}|r|dkrdnd}dddd|gS)Nr(r)r*z -fp-modelr+z-O1z-{})r,r-)rr.r/r r rr0}sz!IntelEM64TFCompiler.get_flags_optcCsgS)Nr )rr r rr1sz"IntelEM64TFCompiler.get_flags_arch) rrrr<r=r>rr?r@rr'r0r1r r r rr gs  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 appsz 32-bit|IA-32cCs(t}ddd|dd|dg|jd<dS)Nzz/FIz/cz.fz/oz.or)rr)rrr r rrsz'IntelVisualFCompiler.update_executableszlib.exerZiflNz/verbosez/OUT:)rr!r#r"r$r%r z/c z/Foz/module:z/IcCsdddddg}|S)Nz/nologoz/MDz/nbsz/names:lowercasez/assume:underscorer )rr:r r rr'szIntelVisualFCompiler.get_flagscCsgS)Nr )rr r rr&sz#IntelVisualFCompiler.get_flags_freecCsddgS)Nz/4Ybz/d2r )rr r rget_flags_debugsz$IntelVisualFCompiler.get_flags_debugcCsdgS)Nz/O1r )rr r rr0sz"IntelVisualFCompiler.get_flags_optcCsddgS)Nz /arch:IA32z/QaxSSE3r )rr r rr1sz#IntelVisualFCompiler.get_flags_archcCstdS)N)NotImplementedError)rrr r rrsz/IntelVisualFCompiler.runtime_library_dir_option)rrrr<r>rr?rar_exer@rZcompile_switchZ object_switchZlibrary_switchrArBr'r&rEr0r1rr r r rrs0c@sXeZdZdZdZedZdgZej Z dddddgddd d gdgd d ge d dgddZ dS)rZintelevz.Intel Visual Fortran Compiler for Itanium appsZItaniumZeflNz-FIz-w90z-w95z-4L72z-wzz-sharedz/verbosez/OUT:)rr!r#r"r$r%r ) rrrr<r>rr?r@rrGrr r r rrs  c@s&eZdZdZdZeddZddZdS)r Zintelvemz-Intel Visual Fortran Compiler for 64-bit appszIntel\(R\).*?64,)r cCsgS)Nr )rr r rr1sz'IntelEM64VisualFCompiler.get_flags_archN)rrrr<r>rr?r1r r r rr s __main__)log)customized_fcompilerr)compiler)r5Znumpy.distutils.ccompilerrZnumpy.distutils.fcompilerrrZ compilersrrrrr rrr r distutilsrI set_verbosityZnumpy.distutilsrKprintr,r r r rs$  5"1