id ddlZddlZddlZddlZddlmZddlmZddlm Z ddl m Z dgZ GddeZ edkr?dd lmZe jd eed dSdS) N) FCompiler)find_executable)make_temp_file)log IBMFCompilerc`eZdZdZdZdZddgdgddgdgd gd d gd gd ZdZdZdZ dZ dZ dS)ribmzIBM XL Fortran Compilerzo(xlf\(1\)\s*|)IBM XL Fortran ((Advanced Edition |)Version |Enterprise Edition V|for AIX, V)(?P[^\s*]*)zz -qversionxlfxlf90z-qfixedxlf95arz-crranlib) version_cmd compiler_f77 compiler_fix compiler_f90 linker_soarchiverrc tj|g|Ri|}|tjdrt d}t d}t j|rt j|ra tj |ddg}tj d|}|r| d}n#ttjf$rYnwxYwd |t j rct#t j }| fd |D}|rd d lm} | |d x|_}|S) Naixlslppr z-Lcxlfcmpz xlfcmp:(?P\d+([.]\d+)+)versionz/etc/opt/ibmcmp/xlfc g|]B}tjtj|d@|CS)zxlf.cfg)ospathisfilejoin).0dxlf_dirs R/opt/cloudlinux/venv/lib/python3.11/site-packages/numpy/distutils/fcompiler/ibm.py z,IBMFCompiler.get_version..5s>UUUq Wa0S0S!T!TUUUUr) LooseVersion)r get_versionsysplatform startswithrrrexists subprocess check_outputresearchgroupOSErrorCalledProcessErrorisdirsortedlistdirreversedistutils.versionr%r) selfargskwdsrrr omlr%r!s @r"r&zIBMFCompiler.get_versions':d:::T:: ?s|66u==?#G,,E!%((Cw~~c"" 7rw~~e'<'< 77"/x0HIIA "EqIIA6AGGI$6$6'  !>?D ( ?rw}}W55? rz'**++A IIKKKUUUUAUUUA <::::::)5ad););; wsCC21C2cdgS)Nz -qextnamer7s r" get_flagszIBMFCompiler.get_flags;s }r$cdgS)Nz-gr>r?s r"get_flags_debugzIBMFCompiler.get_flags_debug>s v r$cg}tjdkr|dn|d|ddg}|tjdrd}nd |z}t d \}}t jd |zt|5}tj d j }|D]P}||} | r,| d| dz;| |Q dddn #1swxYwY||d|z|S)Ndarwinz/-Wl,-bundle,-flat_namespace,-undefined,suppressz-bsharedr() ok_statusrz /etc/xlf.cfgz/etc/opt/ibmcmp/xlf/%s/xlf.cfgz_xlf.cfg)suffixz Creating z \s*crt\s*=\s*(?P.*)/crt1.ozcrt = %s/bundle1.o rz-F)r'r(appendr&r)rrinfoopenr-compilematchwriter/close) r7optrxlf_cfgfonew_cfgfi crt1_matchliner;s r"get_flags_linker_soz IBMFCompiler.get_flags_linker_soAs < ! ! JJH I I I I JJz " " """aW"55  |&&u-- E(:WD( ;;;KB H[( ) ) )g '"Z(KLLR ''D" 4((A'!71776??!KLLLL ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' HHJJJ JJtG| $ $ $ s9A-D33D7:D7cdgS)Nz-O3r>r?s r" get_flags_optzIBMFCompiler.get_flags_opt[s wr$N) __name__ __module__ __qualname__ compiler_type descriptionversion_pattern executablesr&r@rBrVrXr>r$r"rr sM+KJO";/!9-!!"  K<4r$__main__)customized_fcompilerr )compiler)rr-r'r+numpy.distutils.fcompilerrnumpy.distutils.exec_commandrnumpy.distutils.misc_utilr distutilsr compilersrrYnumpy.distutilsra set_verbosityprintr&r>r$r"rls //////888888444444   OOOOO9OOOb z444444Ca E   . . . : : < <=====r$