/usr/local/lib64/python3.6/site-packages/numpy/distutils/fcompiler/__pycache__
NameSizeModeActions
absoft.cpython-36.pyc46120644editdlrm
compaq.cpython-36.pyc41890644editdlrm
environment.cpython-36.pyc29290644editdlrm
g95.cpython-36.pyc14840644editdlrm
gnu.cpython-36.pyc129690644editdlrm
hpux.cpython-36.pyc17580644editdlrm
ibm.cpython-36.pyc33770644editdlrm
intel.cpython-36.pyc70160644editdlrm
lahey.cpython-36.pyc17920644editdlrm
mips.cpython-36.pyc21480644editdlrm
nag.cpython-36.pyc29980644editdlrm
none.cpython-36.pyc9570644editdlrm
nv.cpython-36.pyc22030644editdlrm
pathf95.cpython-36.pyc13550644editdlrm
pg.cpython-36.pyc41830644editdlrm
sun.cpython-36.pyc20040644editdlrm
vast.cpython-36.pyc18020644editdlrm
__init__.cpython-36.pyc284330644editdlrm
Edit: /usr/local/lib64/python3.6/site-packages/numpy/distutils/fcompiler/__pycache__/gnu.cpython-36.pyc (12969B)
3 EgO@sTddlZddlZddlZddlZddlZddlZddlZddlZddlZddlm Z m Z m Z ddl m Z ddlmZddlmZddgZejdZd d ZergZngZGd ddeZGd ddeZd dZedkrPddlmZddlmZejde edj!ye edj!Wn,e"k rNZ#ze e#WYddZ#[#XnXdS)N)PopenPIPESTDOUT)filepath_from_subprocess_output) FCompiler) LooseVersion GnuFCompilerGnu95FCompilerzTarget: ([a-zA-Z0-9_\-]*)cCstjdkotjddkS)Nwin32r64bit)sysplatform architecturerrI/usr/local/lib64/python3.6/site-packages/numpy/distutils/fcompiler/gnu.pyis_win64src @seZdZdZd1ZdZddZddZddgZd d gd d d d gd d d d d gddgdgd d d gdZ d Z d Z e j dkrejdkrdgZejdkrxd2D]Ze ejdqWdZdZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd S)3rgnug77zGNU Fortran 77 compilercCsx$|jdr$||jddd}qWt|dkrvtjd|}|r|jdrZd|jdfS|jd krd |jdfSnftjd |}|rd |jdfStjd |}|r|jd}|jd s|jds|jdrd|fSd |fSd}t||dS)z6Handle the different versions of GNU fortran compilerszgfortran: warning Nz ([0-9.]+)z GNU FortranrrgfortranzGNU Fortran\s+95.*?([0-9-.]+)z%GNU Fortran.*?\-?([0-9-.]+\.[0-9-.]+)023z6A valid Fortran version was not found in this string: ) startswithfindlenresearchgroupstart ValueError)selfversion_stringmverrrrrgnu_version_match&s*       zGnuFCompiler.gnu_version_matchcCs(|j|}| s|ddkr dS|dS)Nrrr)r()r#r$r&rrr version_matchRs zGnuFCompiler.version_matchZf77Nz -dumpversionz-gz-Wallz-fno-second-underscorearz-crranlib) version_cmd compiler_f77 compiler_f90 compiler_fix linker_soarchiverr+ linker_exentcygwinz-fPICr r,r-r0r2z -mno-cygwing2cgnu95cCs|jdd}tjdkrxtjjdd}|sfddl}|jd}|s\d}d|}tj |dd|tjd<|j d d d gn |j d tjj d r|j d|S)NrdarwinMACOSX_DEPLOYMENT_TARGETrz10.9z.Env. variable MACOSX_DEPLOYMENT_TARGET set to ) stacklevelz -undefinedZdynamic_lookupz-bundlez-sharedsunosz -mimpure-text) r0r r osenvironget sysconfigget_config_varwarningswarnextendappendr)r#opttargetr?srrrget_flags_linker_soss        z GnuFCompiler.get_flags_linker_soc CsJytj|jdg}Wnttjfk r0YnXt|}tjj|SdS)Nz-print-libgcc-file-name) subprocess check_outputr-OSErrorCalledProcessErrorrr<pathdirname)r#outputrrrget_libgcc_dirs zGnuFCompiler.get_libgcc_dirc Cstjdddkrd}ntjdkr(d}nd}d}|rdj|g}ytj|j|}Wnttjfk rnYnXt|}t j j |}|S)Nlinuxzlibgfortran.sor7zlibgfortran.dylibz-print-file-name={0}) r r formatrIrJr-rKrLrr<rMrN)r#Zlibgfortran_nameZlibgfortran_dirZ find_lib_argrOrrrget_libgfortran_dirs    z GnuFCompiler.get_libgfortran_dircCsg}tjdddkr|j}|rtjdkr|jd rtjj|}tjj|d|j}tjj |stjj|ftj fd}tjj tjj|d}tjj|d|j}tjj |r|j ||j ||j }|r|j ||S)NrQrRr z/usr/libzlib%s.alib)r r rPrr<rMnormpathjoinr5existspardirabspathrDrT)r#rEdrMrootZd2lib_gfortran_dirrrrget_library_dirss$      zGnuFCompiler.get_library_dirscCsg}|j}|dk rL|jd}|j||jf}tjjtjj||sR|j}n|j}|dk rd|j||j }t j dkr|r|j dkr|jdt j dkr|jd|S)Nz-picr msvcgccr7 cc_dynamic) rPr5Zstatic_lib_formatZstatic_lib_extensionr<rMisfilerXrD c_compilerr r compiler_type)r#rEr\r5frdrrr get_librariess"      zGnuFCompiler.get_librariescCsdgS)Nz-gr)r#rrrget_flags_debugszGnuFCompiler.get_flags_debugcCs0|j}|r|dkrdg}ndg}|jd|S)Nz3.3.3z-O2z-O3z-funroll-loops) get_versionrD)r#r&rErrr get_flags_opts   zGnuFCompiler.get_flags_optc Csdddlm}y|jd}Wntk r0gSXtjd}g}x|j|D]}|d|g7}qLW|S)z( Return detected arch flags from CFLAGS r)r?CFLAGSz -arch\s+(\w+)z-arch) distutilsr?get_config_varsKeyErrorrcompilefindall)r#r?cflagsZarch_re arch_flagsarchrrr _c_arch_flagss  zGnuFCompiler._c_arch_flagscCsgS)Nr)r#rrrget_flags_archszGnuFCompiler.get_flags_archcCsXtjdkrtd|ksttjdkr.d|StjdddkrJd|Sd|SdS) Nr ,r7z -Wl,-rpath,aixz-Wl,-blibpath:z -Wl,-rpath=)r r NotImplementedErrorAssertionError)r#dirrrrruntime_library_dir_options     z'GnuFCompiler.runtime_library_dir_option)r)r,r-r0r2)__name__ __module__ __qualname__recompiler_aliases descriptionr(r)possible_executables executablesmodule_dir_switchmodule_include_switchr<namer r Z pic_flagskeyrDr5Zsuggested_f90_compilerrHrPrTr_rgrhrjrtrur|rrrrr!sB,   #   c @s*eZdZdZd4ZdZddZddgZddgd d d d d ged d d d ged d d d d gedd d gddgdgd d gdZ dZ dZ e j d ddkre djde jdd ddkrxd5D]Ze ejdqWdZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Zd S)6r r6rzGNU Fortran 95 compilercCsb|j|}| s|ddkr dS|d}t|dkr6n(tjdkr^xd D]}|j|jd qFW|S)Nrrr4r r,r-r.r/r0r2z -mno-cygwin)r,r-r.r/r0r2)r(rr r rrD)r#r$r&rrrrr)s   zGnu95FCompiler.version_matchZf95zz -dumpversionNz-Wallz-gz -ffixed-formz-fno-second-underscorer*z-crr+)r,r-r.r/r0r1r+r2z-Jz-Irwrxr0z -lpthreadrr9Z64r-r.r/r2z-maix64cCsbtjdksgSg}|j}d|kr0d||jd<x,dD]$}t||r6||kr6|jd|gq6W|S) z>Return a list of -arch flags for every supported architecture.r7i386i686ppcx86_64ppc64z-arch)rrrr)r r rtindex _can_targetrC)r#cmdrrZc_archsrsrrr_universal_flagsBs  zGnu95FCompiler._universal_flagscCs*tj|}|j|j}|r&||dd<|S)Nr)r get_flagsrr.)r#flagsrrrrrrRs    zGnu95FCompiler.get_flagscCs*tj|}|j|j}|r&||dd<|S)Nr)rrHrr0)r#rrrrrrrHYs    z"Gnu95FCompiler.get_flags_linker_soc Cstj|}tjdkr|j}|r|jdkr|j}|rtjj |j }tjj |ftj fd}tjj |d}tjj |}tjj tjj |dr|j||j}|r|j||S)Nr r`rUrVz libmingwex.a)rr_r r rdre get_targetr<rMrWrPrXrZrYrDrT) r#rErdrFr\r]rMZmingwdirr^rrrr_`s      zGnu95FCompiler.get_library_dirscCstj|}tjdkr|jdtjdkr|j}|rn|jdkrnd|krn|jd}|j|dd|j|dd|j}|r|jdkrgS|S) Nr7rbr r`rarZmingwexZmingw32) rrgr r removerdrerinsert)r#rErdirrrrgss     zGnu95FCompiler.get_librariesc CsVytj|jdg}Wnttjfk r0Yn"Xt|}tj|}|rR|jdSdS)Nz-vr) rIrJr-rKrLrTARGET_Rrr )r#rOr%rrrrs  zGnu95FCompiler.get_targetc Csntj}xB|D]:}t|d&}x|jd}|s0P|j|q WWdQRXqWtj|j}|jd}|j dS)Nrbiascii=) hashlibsha1openreadupdatebase64 b32encodedigestdecoderstrip)r# filenameshfnrfblocktextrrr _hash_filess    zGnu95FCompiler._hash_filesc Cs`|j}|jdkrtd|jt|t|}tr:d}nd}dtjjtjj |dddd} | d |d |} | d } | d } | d } tjj || }tjj || }tjj || }tjj |r||fS|rdgt|dg}|j || |t|dd|ddddgdtr d}nd}d|d||g}|j sF|j|j|jg|||fS)zeCreate a wrapper shared library for the given objects Return an MSVC-compatible lib r`zThis method only supports MSVCZ win_amd64r rVrN.z .gfortran-z.dllz.defz.libz-Wl,--whole-archivez-Wl,--no-whole-archivez-Wl,--allow-multiple-definitionz-Wl,--output-def,z-Wl,--export-all-symbolsz-Wl,--enable-auto-importz-staticz-mlong-double-64) output_dirZextra_postargsz /MACHINE:X64z /MACHINE:X86z/def:z/OUT:)rdrer"rlistrr<rMsplitextbasenamerXrcZlink_shared_objectZ initializedZ initializespawnrV)r#objectsr extra_dll_dir chained_dlls is_archiverdZ object_hashtagrZ root_nameZdll_nameZdef_nameZlib_nameZdll_pathZdef_pathZlib_path specifierZlib_argsrrr_link_wrapper_libsP     z Gnu95FCompiler._link_wrapper_libcCs |jdkS)Nr`)r`)re)r#compilerrrrcan_ccompiler_linksz!Gnu95FCompiler.can_ccompiler_linkc Cs|jjdkrg}g}x0|D](}|jjdr8|j|q|j|qWg}g}xH|ddd D]6} |j| g|||dd\} } |jd| |jd| q^W|s|S|j||||dd\} } | g|Std dS) z Convert a set of object files that are not compatible with the default linker, to a file that is compatible. r`z.aNrT)rrrFzUnsupported C compiler)rdrelowerendswithrDrrr") r#rrrZarchivesZ plain_objectsobjZ chained_libsrarchiverVdllrrrwrap_unlinkable_objectss8       z&Gnu95FCompiler.wrap_unlinkable_objects)r)r-r.r/r0r2)r}r~rrerrr)r _EXTRAFLAGSrrrr r rDrrr5rrrHr_rgrrrrrrrrrr sD    >cCs|dd}tjdd\}}tj|zrtjj|}tjj|dd}z4|jd|d|gt|t t |d}|j |j dkStjj |rtj|XWdtj|Xd S) z7Return true if the architecture supports the -arch flagNz.f)suffixrz.oz-archz-c)stderrstdoutcwdF)tempfilemkstempr<closerMrNrrCrrr communicate returncoderYr)rrsZnewcmdZfidfilenamer\rOprrrrs      r__main__)log)customized_fcompilerr9rZg95)$rr<r rAr rrrrIrrrZnumpy.distutils.exec_commandrZnumpy.distutils.fcompilerrZdistutils.versionrZ compilersrorrrrr rr}rlrZnumpy.distutilsr set_verbosityprintri ExceptionerrrrsB    p