Ñò \ÐKc@sºddkZddkZddkZddkZddkZddkZddklZlZl Z ddk l Z ddk l Z ddklZddklZddgZeid ƒZd „Zeƒo gZngZde fd „ƒYZdefd „ƒYZd „Zedjo’ddklZeidƒeƒZeiƒei ƒGHe!dƒy"eƒZeiƒei ƒGHWne"j oZ#e#GHnXe!dƒndS(iÿÿÿÿN(tPopentPIPEtSTDOUT(tcpu(t FCompiler(t exec_command(tmsvc_runtime_libraryt GnuFCompilertGnu95FCompilersTarget: ([a-zA-Z0-9_\-]*)cCs$tidjotiƒddjS(Ntwin32it64bit(tsystplatformt architecture(((sC/usr/lib64/python2.6/site-packages/numpy/distutils/fcompiler/gnu.pytis_win64scBsieZdZd"ZdZd„Zd„ZddgZhd#dgd6d#dd d gd 6d#d 6d#d 6d#dd gd6ddgd6dgd6d#dd gd6Z d#Z d#Z e i djoeidjo dgZneidjo2x/dd ddgD]Ze eidƒqýWndZdZd„Zd„Zd„Zd„Zd„Zd „Zd!„ZRS($tgnutg77sGNU Fortran 77 compilercCsÀtid|ƒ}|pd Stid|ƒ}|od|idƒfStid|ƒ}|oX|idƒ}|idƒp |idƒp|idƒo d |fSd|fSnd S( s6Handle the different versions of GNU fortran compilerss GNU FortransGNU Fortran\s+95.*?([0-9-.]+)tgfortranisGNU Fortran.*?([0-9-.]+)t0t2t3RN(tretmatchtNonetgroupt startswith(tselftversion_stringtmtv((sC/usr/lib64/python2.6/site-packages/numpy/distutils/fcompiler/gnu.pytgnu_version_match!s0 cCs5|i|ƒ}| p|ddjodS|dS(NiRi(RR(RRR((sC/usr/lib64/python2.6/site-packages/numpy/distutils/fcompiler/gnu.pyt version_match4stf77s --versiont version_cmds-gs-Walls-fno-second-underscoret compiler_f77t compiler_f90t compiler_fixt linker_sotars-crtarchivertranlibt linker_exetnttcygwins-fPICR s -mno-cygwintg2ctgnu95cCs|id}tidjo®tiiddƒ}|pxddki}h}|i ƒ}|i ||ƒ|iddƒ}|tid<|djod}t i |ƒq±n|i ddd gƒn|id ƒtiid ƒo|id ƒn|S( NitdarwintMACOSX_DEPLOYMENT_TARGETiÿÿÿÿs10.3s2Env. variable MACOSX_DEPLOYMENT_TARGET set to 10.3s -undefinedtdynamic_lookups-bundles-sharedtsunoss -mimpure-text(R%R R tostenvirontgetRtdistutils.sysconfigt sysconfigtget_makefile_filenametparse_makefiletwarningstwarntextendtappendR(Rtoptttargettsctgtfilenamets((sC/usr/lib64/python2.6/site-packages/numpy/distutils/fcompiler/gnu.pytget_flags_linker_soes$     cCs>t|idgddƒ\}}|ptii|ƒSdS(Ns-print-libgcc-file-nametuse_teei(RR"R2tpathtdirnameR(Rtstatustoutput((sC/usr/lib64/python2.6/site-packages/numpy/distutils/fcompiler/gnu.pytget_libgcc_dirŒs   cCsg}tid djoç|iƒ}|oÐtidjo¯|idƒ ožtii|ƒ}tiitii|d|i ƒƒp_tii tii|dƒƒ}tiitii|d|i ƒƒo|i |ƒqèqìn|i |ƒqn|S(NitlinuxR s/usr/libslib%s.as../../../../lib( R R RIRR2REtnormpathtexiststjoinR,tabspathR<(RR=tdtd2((sC/usr/lib64/python2.6/site-packages/numpy/distutils/fcompiler/gnu.pytget_library_dirs”s !) )cCs#g}|iƒ}|dj oV|id}|i||if}tiitii||ƒƒp |i}q~n |i}|dj o|i |ƒn|i }t i djoI|oB|i djo2|i dƒtƒ}|o|i |ƒqþnt i djo|i dƒn|S(Ns-picR tmsvctgccR.t cc_dynamic(RIRR,tstatic_lib_formattstatic_lib_extensionR2REtisfileRMR<t c_compilerR R t compiler_typeR(RR=ROR,tfRXt runtime_lib((sC/usr/lib64/python2.6/site-packages/numpy/distutils/fcompiler/gnu.pyt get_libraries¤s(   "     cCsdgS(Ns-g((R((sC/usr/lib64/python2.6/site-packages/numpy/distutils/fcompiler/gnu.pytget_flags_debug¾scCs:|iƒdjo dg}n dg}|idƒ|S(Ns3.3.3s-O2s-O3s-funroll-loops(t get_versionR<(RR=((sC/usr/lib64/python2.6/site-packages/numpy/distutils/fcompiler/gnu.pyt get_flags_optÁs    cCsgS(N((R((sC/usr/lib64/python2.6/site-packages/numpy/distutils/fcompiler/gnu.pytget_flags_archËs(sg77N(t__name__t __module__RYtcompiler_aliasest descriptionRRtpossible_executablesRt executablestmodule_dir_switchtmodule_include_switchR2tnameR R t pic_flagstkeyR<R,tsuggested_f90_compilerRCRIRQR\R]R_R`(((sC/usr/lib64/python2.6/site-packages/numpy/distutils/fcompiler/gnu.pyRs@         '     cBsNeZdZdZdZd„ZddgZhddgd6d dd d ged 6d dd ged 6d dd d ged 6ddgd6ddgd6dgd6d dgd6Z e i djo8x5dd d d ddgD]Z e e i dƒqÜWndZdZdZd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(!R-RsGNU Fortran 95 compilercCs5|i|ƒ}| p|ddjodS|dS(NiRi(RR(RRR((sC/usr/lib64/python2.6/site-packages/numpy/distutils/fcompiler/gnu.pyRÓstf95ss --versionR!s-Walls -ffixed-forms-fno-second-underscoreR"R#R$R%R&s-crR'R(R)R s -mno-cygwins-Js-IcCs`tidjpgSg}x>dddgD]-}t||ƒo|id|gƒq+q+W|S(s>Return a list of -arch flags for every supported architecture.R.tppcti686tx86_64s-arch(R R t _can_targetR;(Rtcmdt arch_flagstarch((sC/usr/lib64/python2.6/site-packages/numpy/distutils/fcompiler/gnu.pyt_universal_flagsúscCs:ti|ƒ}|i|iƒ}|o||d*n|S(Ni(Rt get_flagsRuR#(RtflagsRs((sC/usr/lib64/python2.6/site-packages/numpy/distutils/fcompiler/gnu.pyRvs cCs:ti|ƒ}|i|iƒ}|o||d*n|S(Ni(RRCRuR%(RRwRs((sC/usr/lib64/python2.6/site-packages/numpy/distutils/fcompiler/gnu.pyRC s cCsti|ƒ}tidjoÞ|i}|oÊ|idjoº|iƒ}|o£tii |i ƒƒ}tii |ti ti ti ti ƒ}tii tii ||dƒƒ}tii |dƒ}tii |ƒo|i|ƒqõqùqýn|S(NR RRtlibs libmingwex.a(RRQR R RXRYt get_targetR2RERKRIRMtpardirRLR<(RR=RXR>ROtroottmingwdirtfull((sC/usr/lib64/python2.6/site-packages/numpy/distutils/fcompiler/gnu.pyRQs  *$cCsóti|ƒ}tidjo|idƒntidjo¯|i}|o\|idjoLd|jo;|idƒ}|i|ddƒ|i|ddƒq¬nt ƒo5|i}|o|idjogSt d ƒ‚qïn|S( NR.RTR RRRSitmingwextmingw32s1Only MS compiler supported with gfortran on win64( RR\R R tremoveRXRYtindextinsertRtNotImplementedError(RR=RXti((sC/usr/lib64/python2.6/site-packages/numpy/distutils/fcompiler/gnu.pyR\!s     cCsUt|idgddƒ\}}|p(ti|ƒ}|o|idƒSndS(Ns-vRDiit(RR"tTARGET_RtsearchR(RRGRHR((sC/usr/lib64/python2.6/site-packages/numpy/distutils/fcompiler/gnu.pyRy5s  cCs#tƒodgSti|ƒSdS(Ns-O0(RRR_(R((sC/usr/lib64/python2.6/site-packages/numpy/distutils/fcompiler/gnu.pyR_?s (sgfortranN(RaRbRYRcRdRReRt _EXTRAFLAGSRfR R RkR<RgRhR,RuRvRCRQR\RyR_(((sC/usr/lib64/python2.6/site-packages/numpy/distutils/fcompiler/gnu.pyRÎs>               cCsÞ|}tiddƒ\}}zªtii|ƒ}tii|ƒdd}zR|id|d|gƒt|dtdt d |ƒ}|i ƒ|i djSWd tii |ƒoti |ƒnXWd ti |ƒXtS( sRReturn true is the command supports the -arch flag for the given architecture.tsuffixs.fis.os-archs-ctstderrtstdouttcwdN(ttempfiletmkstempR2RERFtsplitextR;RRRt communicatet returncodeRLR€tFalse(RrRttnewcmdtfidRARORHtp((sC/usr/lib64/python2.6/site-packages/numpy/distutils/fcompiler/gnu.pyRqEs t__main__(tlogisPress ENTER to continue...($RR2R R9R Rt subprocessRRRtnumpy.distutils.cpuinfoRtnumpy.distutils.fcompilerRtnumpy.distutils.exec_commandRtnumpy.distutils.misc_utilRt compilerstcompileR†RRˆRRRqRat distutilsR—t set_verbositytcompilert customizeR^t raw_inputt Exceptiontmsg(((sC/usr/lib64/python2.6/site-packages/numpy/distutils/fcompiler/gnu.pytsB          ²w