3 2aJ @sddlZddlZddlZddddgZd0Zd1ZdZd2ddZddZddZ da ddZ ddZ ddZ d d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,dZd-dZd.dZd/dZdS)3Ncompiler_fixupcustomize_config_varscustomize_compilerget_platform_osxCFLAGSLDFLAGSCPPFLAGS BASECFLAGS BLDSHAREDLDSHAREDCCCXX PY_CFLAGS PY_LDFLAGS PY_CPPFLAGSPY_CORE_CFLAGSPY_CORE_LDFLAGSZ_OSX_SUPPORT_INITIAL_cCs|dkrtjd}|jtj}tjj|\}}tjdkrH|dkrH|d}tjj|sx*|D]"}tjj ||}tjj|rZ|SqZWdS|SdS)NPATHwin32z.exe) osenvironsplitpathseppathsplitextsysplatformisfilejoin) executablerpathsbaseZextpfr$1/opt/alt/python36/lib64/python3.6/_osx_support.py_find_executables     r&cCsddl}yddl}|j}Wn(tk rDtdtjfd}YnX|j|0}d||jf}tj |s||j j dj SdSQRXdS)Nrz/tmp/_osx_support.%szw+bz%s 2>/dev/null >'%s'zutf-8) contextlibtempfileZNamedTemporaryFile ImportErroropenrgetpidclosingnamesystemreaddecodestrip)Z commandstringr'r(fpcmdr$r$r% _read_output7s  r4cCst|ptd|fpdS)Nz/usr/bin/xcrun -find %s)r&r4)Ztoolnamer$r$r%_find_build_toolJsr6cCsxtdkrtday td}Wntk r,YnHXztjd|j}Wd|jX|dk rtdj|jdj dddatS)Nr5z0/System/Library/CoreServices/SystemVersion.plistz=ProductUserVisibleVersion\s*(.*?).) _SYSTEM_VERSIONr*OSErrorresearchr/closergroupr)r#mr$r$r%_get_system_versionSs   rAcCs&x t|D]}|jtr ||=q WdS)N)list startswith_INITPRE) _config_varskr$r$r%_remove_original_valuesqs rGcCs8|j|d}||kr,t||kr,||t|<|||<dS)Nr5)getrD)rEcvZnewvalueZoldvaluer$r$r%_save_modified_valuexs  rJc CsTt}|r@ytdd|jdD}Wntk r>d}YnX|rPt|dkSdS) Ncss|]}t|VqdS)N)int).0ir$r$r% sz-_supports_universal_builds..r7r5 F)rOrP)rAtupler ValueErrorbool)Z osx_versionr$r$r%_supports_universal_buildss rTcCsdtjkr|S|djd}}t|s4td}n/dev/nullrVz'"'"'z-arch\s+ppc\w*\srW) rrr<r=r.rYr_r`rJ)rEstatusrIr^r$r$r%_remove_unsupported_archss  rdcCshdtjkrdtjd}xNtD]F}||krd||kr||}tjdd|}|d|}t|||qW|S)N ARCHFLAGSz-archz -arch\s+\w+\srW)rrr_r<r`rJ)rEZarchrIr^r$r$r%_override_all_archss    rfcCs||jdd}tjd|}|dk rx|jd}tjj|sxx@tD]8}||kr<|tjkr<||}tj dd|}t |||qdtjkrxx8y|jd}|||d=Wq@tk rrPYq@Xq@Wdtjkr| r|tjdj}|rx8y|jd}|||d=Wqtk rPYqXqWd}d|kr|jd}||d}n d|kr|jd}||d}|rTtjj| rTdd l m }|j d ||j d |S) NFTz-archz -isysrootrer9r8r)logz4Compiling with an SDK that doesn't seem to exist: %sz$Please check your Xcode installation) rBrTrrindexrRrrisdirZ distutilsrjwarn)Z compiler_soZcc_argsZ stripArchZ stripSysrootrkZsysrootidxrjr$r$r%r0sF            cCs"tst|t|t||S)N)rTrbrfri)rEr$r$r%rps cCst|t|t||S)N)r]rdrf)rEr$r$r%rs c Cs||jdd}tp|}|p|}|rr|}d}|jtd|jdd}|ry$tdd|jddd D}Wqtk rd}YqXnd}|dkod |jkr6d }tjd|}tt t |}t |dkr|d}n\|dkrd }nN|d krd}n>|d!krd}n.|d"krd}n|d#kr&d}ntd|fn<|dkrRt j d$krrd}n |d%krrt j d&krnd}nd}|||fS)'NMACOSX_DEPLOYMENT_TARGETr5Zmacosxrcss|]}t|VqdS)N)rK)rLrMr$r$r%rNsz#get_platform_osx..r7rr9rOrPz-archZfatz -arch\s+(\S+)r8i386ppcx86_64ZintelZfat3ppc64Zfat64 universalz%Don't know machine value for archs=%r PowerPCPower_Macintosh)rOr)rOr)rOrP)rprq)rprr)rprqrr)rsrr)rprqrsrrl)rvrwl)rHrArDrQrrRr1r<findallsortedsetlenrmaxsize)rEosnamereleasemachineZmacverZ macreleaserhZarchsr$r$r%rsP   $            ) rrrr r r r r rrrrr)r r r r )N)rr<r__all__r_r[rDr&r4r6r:rArGrJrTr]rbrdrfrirrrrr$r$r$r%s: >(@)