U C^@sddlmZmZmZddlZddlmZddlmZm Z ddddd d gZ d d Z Gd ddeZ Gddde Z Gddde ZGdd d e ZGddde ZGdddeZGdd d eZedkrddlmZedddlmZeedddS))divisionabsolute_importprint_functionNsimple_version_match) FCompilerdummy_fortran_fileIntelFCompilerIntelVisualFCompilerIntelItaniumFCompilerIntelItaniumVisualFCompilerIntelEM64VisualFCompilerIntelEM64TFCompilercCstd|fdS)Nz"Intel.*?Fortran.*?(?:%s).*?Versionstartr)typerB/tmp/pip-install-6_kvzl1k/numpy/numpy/distutils/fcompiler/intel.pyintel_version_matchsrc@seZdZddZddZdS)BaseIntelFCompilercCs*t}dddd|dd|dg|jd<dS) N-FIz-Vz-c.fz-o.o version_cmdr executablesselffrrrupdate_executabless z%BaseIntelFCompiler.update_executablescCsd|ks td|S)N,z -Wl,-rpath=%s)AssertionErrorrdirrrrruntime_library_dir_options z-BaseIntelFCompiler.runtime_library_dir_optionN)__name__ __module__ __qualname__r r%rrrrrsrc@seZdZdZdZdZedZddgZdddd d gdgdd gd d gddgdgdZ dgZ dZ dZ ddZ ddZddZddZddZdS)r intel)ifortz&Intel Fortran Compiler for 32-bit apps 32-bit|IA-32r*ZifcNz-72-w90-w95r-sharedar-crranlib)r compiler_f77 compiler_f90 compiler_fix linker_soarchiverr2-fPICz-module z-IcCsdgS)Nz-FRrrrrrget_flags_free7szIntelFCompiler.get_flags_freecCsdgSNr8rr9rrr get_flags:szIntelFCompiler.get_flagscCs(|}|r|dkrdnd}d|gSNZ15ZopenmpZqopenmpz-fp-model strict -O1 -{} get_versionformatrvZmpoptrrr get_flags_opt=szIntelFCompiler.get_flags_optcCsgSNrr9rrrget_flags_archBszIntelFCompiler.get_flags_archcCsxt|}|}|r(|dkr(|dtjdkrtz|d}|dWntk rbd}YnXddg|||<|S)Nz8.0z -nofor_maindarwinr/rz -dynamiclibz-Wl,-undefined,dynamic_lookup) rget_flags_linker_sor?appendsysplatformindexremove ValueError)roptrBidxrrrrGEs      z"IntelFCompiler.get_flags_linker_so)r&r'r( compiler_typecompiler_aliases descriptionr version_matchpossible_executablesrZ pic_flagsmodule_dir_switchmodule_include_switchr:r<rCrErGrrrrr s*  c@sVeZdZdZdZdZedZdddgZddd d d gdd gdgd d gddgdgdZ dS)r Zintelerz'Intel Fortran Compiler for Itanium appsz Itanium|IA-64r*efortefcNrr,r-r.r/r0r1r2rr3r5r4r6r7r2) r&r'r(rPrQrRrrSrTrrrrrr Us  c@sjeZdZdZdZdZedZdddgZddd gdd gdgd d gd d gdgdZ ddZ ddZ ddZ dS)rZintelemrz&Intel Fortran Compiler for 64-bit appsz)EM64T-based|Intel\(R\) 64|64|IA-64|64-bitr*rWrXNrr.r/r0r1r2rYcCsdgSr;rr9rrrr<|szIntelEM64TFCompiler.get_flagscCs(|}|r|dkrdnd}d|gSr=r>rArrrrCsz!IntelEM64TFCompiler.get_flags_optcCsdgSNrr9rrrrEsz"IntelEM64TFCompiler.get_flags_arch) r&r'r(rPrQrRrrSrTrr<rCrErrrrris   c@seZdZdZdZedZddZdZddgZ d d gd gd gd ged d gd d Z d Z dZ d Z dZdZddZddZddZddZddZddZd S)r Zintelvz-Intel Visual Fortran Compiler for 32-bit appsr+cCs(t}ddd|dd|dg|jd<dS)Nrz/FIz/crz/orrrrrrrr s z'IntelVisualFCompiler.update_executableszlib.exer*ZiflN/verbose/OUT:rYz/c z/Foz/module:z/IcCsdddddg}|S)Nz/nologoz/MDz/nbsz/names:lowercasez/assume:underscorer)rrNrrrr<szIntelVisualFCompiler.get_flagscCsgSrDrr9rrrr:sz#IntelVisualFCompiler.get_flags_freecCsddgS)Nz/4Ybz/d2rr9rrrget_flags_debugsz$IntelVisualFCompiler.get_flags_debugcCsdgS)Nz/O1rr9rrrrCsz"IntelVisualFCompiler.get_flags_optcCsddgS)Nz /arch:IA32z/QaxSSE3rr9rrrrEsz#IntelVisualFCompiler.get_flags_archcCstdSrD)NotImplementedErrorr#rrrr%sz/IntelVisualFCompiler.runtime_library_dir_option)r&r'r(rPrRrrSr ar_exerTrZcompile_switchZ object_switchZlibrary_switchrUrVr<r:r^rCrEr%rrrrr s2 c@sXeZdZdZdZedZdgZej Z dddddgddd d gdgd d ge d dgddZ dS)r Zintelevz.Intel Visual Fortran Compiler for Itanium appsZItaniumZeflNrr,r-z-4L72z-wr.r/r\r]rY) r&r'r(rPrRrrSrTr r`rrrrrr s  c@s&eZdZdZdZeddZddZdS)r Zintelvemz-Intel Visual Fortran Compiler for 64-bit appszIntel\(R\).*?64,rcCsdgSrZrr9rrrrEsz'IntelEM64VisualFCompiler.get_flags_archN)r&r'r(rPrRrrSrErrrrr s __main__)log)customized_fcompilerr))compiler) __future__rrrrIZnumpy.distutils.ccompilerrZnumpy.distutils.fcompilerrrZ compilersrrr r rr r r r& distutilsrb set_verbosityZnumpy.distutilsrdprintr?rrrrs,  5"1