f ž _Lã@s¶ddlZddlZddlZgd¢ZdZdZdZd&dd„Zdd „Zd d „Z da d d „Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zd d!„Zd"d#„Zd$d%„ZdS)'éN)Úcompiler_fixupÚcustomize_config_varsÚcustomize_compilerÚget_platform_osx) ÚCFLAGSZLDFLAGSZCPPFLAGSZ BASECFLAGSÚ BLDSHAREDÚLDSHAREDÚCCÚCXXZ PY_CFLAGSZ PY_LDFLAGSZ PY_CPPFLAGSZPY_CORE_CFLAGSZPY_CORE_LDFLAGS)rrr r Z_OSX_SUPPORT_INITIAL_cCs†|durtjd}| tj¡}tj |¡\}}tjdkrH|dkrH|d}tj |¡s‚|D]$}tj  ||¡}tj |¡rX|SdS|S)NÚPATHÚwin32z.exe) ÚosÚenvironÚsplitÚpathsepÚpathÚsplitextÚsysÚplatformÚisfileÚjoin)Ú executablerÚpathsÚbaseÚextÚpÚf©rú%/usr/lib64/python3.10/_osx_support.pyÚ_find_executables    rcCs ddl}zddl}| ¡}Wn&tyBtdt ¡fdƒ}Yn0| |¡>}d||jf}t  |¡sz|  ¡  d¡  ¡ndWdƒS1s’0YdS)Nrz/tmp/_osx_support.%szw+bz%s 2>/dev/null >'%s'zutf-8) Ú contextlibÚtempfileÚNamedTemporaryFileÚ ImportErrorÚopenr ÚgetpidÚclosingÚnameÚsystemÚreadÚdecodeÚstrip)Z commandstringr r!ÚfpÚcmdrrrÚ _read_output7s  ÿÿ  r.cCst|ƒptd|fƒpdS)Nz/usr/bin/xcrun -find %sÚ)rr.)ZtoolnamerrrÚ_find_build_toolJs  ÿþr0cCs~tdurzdaz tdƒ}Wnty*YnP0zt d| ¡¡}W| ¡n | ¡0|durzd | d¡  d¡dd…¡atS)Nr/z0/System/Library/CoreServices/SystemVersion.plistz=ProductUserVisibleVersion\s*(.*?)Ú.éé) Ú_SYSTEM_VERSIONr$ÚOSErrorÚreÚsearchr)ÚcloserÚgroupr)rÚmrrrÚ_get_system_versionSs   ÿr;cCs"t|ƒD]}| t¡r||=qdS©N)ÚlistÚ startswithÚ_INITPRE)Ú _config_varsÚkrrrÚ_remove_original_valuesqs  rBcCs8| |d¡}||kr,t||vr,||t|<|||<dS)Nr/)Úgetr?)r@ÚcvZnewvalueZoldvaluerrrÚ_save_modified_valuexs  rEcCsRtƒ}|r>ztdd„| d¡Dƒƒ}Wnty<d}Yn0|rNt|dkƒSdS)Ncss|]}t|ƒVqdSr<©Úint©Ú.0ÚirrrÚ Šóz-_supports_universal_builds..r1r/©é éF)r;ÚtuplerÚ ValueErrorÚbool)Z osx_versionrrrÚ_supports_universal_builds€s  rScCsÚdtjvr|S|d ¡d}}t|ƒs4tdƒ}nr.ÚreplaceÚ SystemErrorÚ_COMPILER_CONFIG_VARSrEr)r@ZccZoldccÚdatarDZcv_splitrrrÚ_find_appropriate_compilers,   ÿ ÿ r\cCsVtD]L}||vr|tjvr||}tjdd|tjd}t dd|¡}t|||ƒq|S)Nú -arch\s+\w+\srV)Úflagsz-isysroot\s*\S+)Ú_UNIVERSAL_CONFIG_VARSr rr6ÚsubÚASCIIrE)r@rDr^rrrÚ_remove_universal_flagsÎsrbcCs„dtjvr|St d|d¡dur€t d|d dd¡f¡}|r€tD]8}||vrF|tjvrF||}t dd|¡}t|||ƒqF|S) Nr z -arch\s+ppcrzNecho 'int main{};' | '%s' -c -arch ppc -x c -o /dev/null /dev/null 2>/dev/nullrTrUz-arch\s+ppc\w*\srV) r rr6r7r(rXr_r`rE)r@ÚstatusrDr^rrrÚ_remove_unsupported_archsÜs þÿ rdcCsddtjvr`tjd}tD]F}||vrd||vr||}t dd|¡}|d|}t|||ƒq|S)NÚ ARCHFLAGSú-archr]rV)r rr_r6r`rE)r@ZarchrDr^rrrÚ_override_all_archss   rgcCsx| dd¡}t d|¡}|durt| d¡}tj |¡sttD]8}||vr:|tjvr:||}t  dd|¡}t |||ƒq:|S)Nrr/z-isysroot\s*(\S+)r2z-isysroot\s*\S+(?:\s|$)rV) rCr6r7r9r rÚexistsr_rr`rE)r@Úcflagsr:ZsdkrDr^rrrÚ_check_for_unavailable_sdks    rjc Cs¦d}}t|ƒ}tƒs d}}nd|v}tdd„|Dƒƒ}|sHdtjvr|z| d¡}|||d…=WqHtyzYq|YqH0dtjvrœ|sœ|tjd ¡}|rìdd „t|ƒDƒ}|s¸qì|d }||d krÜ|||d…=q |||d …=q d}|}d d „t|ƒDƒ}|s"|}dd „t|ƒDƒ}|D]D}||d krN||d }qlq&||t d ƒd…}qlq&|r¢tj   |¡s¢d dl m } |  d|¡|  d¡|S)NFTrfcss|]}| d¡r|VqdS)ú -isysrootN©r>)rIÚargrrrrKCrLz!compiler_fixup..rer3cSsg|]\}}| d¡r|‘qS©rkrl©rIrJÚxrrrÚ UrLz"compiler_fixup..rrkr2cSsg|]\}}| d¡r|‘qSrnrlrorrrrqerLcSsg|]\}}| d¡r|‘qSrnrlrorrrrqhrL)Úlogz4Compiling with an SDK that doesn't seem to exist: %sz$Please check your Xcode installation)r=rSÚanyr rÚindexrQrÚ enumerateÚlenrÚisdirZ distutilsrrÚwarn) Z compiler_soZcc_argsZ stripArchZ stripSysrootrtÚindicesZsysrootZargvarÚidxrrrrrr0sR          ÿ rcCs"tƒst|ƒt|ƒt|ƒ|Sr<)rSrbrgrj©r@rrrr{s rcCst|ƒt|ƒt|ƒ|Sr<)r\rdrgr{rrrr¤s rcCsx| dd¡}tƒp|}|p|}|rn|}d}| td| dd¡¡}|r„z$tdd„| d¡dd …Dƒƒ}Wnty‚d }Yn0d }|d kr2d | ¡vr2d }t d|¡}tt t |ƒƒƒ}t |ƒdkrÖ|d}n˜|dkräd }nŠ|dkròd}n||dkrd}nl|dkrd}n\|dkr"d}nLtd|fƒ‚n<|dkrNt j dkrnd}n |dvrnt j dkrjd}nd}|||fS) NZMACOSX_DEPLOYMENT_TARGETr/Zmacosxrcss|]}t|ƒVqdSr<rFrHrrrrKÒrLz#get_platform_osx..r1rr3)rNrrMrfZfatz -arch\s+(\S+)r2)Úi386Úppc)r|Úx86_64Zintel)r|r}r~Zfat3)Úppc64r~Zfat64)r|r}rr~Ú universalz%Don't know machine value for archs=%rr|lr~)ZPowerPCZPower_Macintoshrr})rCr;r?rPrrQr+r6ÚfindallÚsortedÚsetrvrÚmaxsize)r@ZosnameÚreleaseÚmachineZmacverZ macreleaseriZarchsrrrr¸sT    ÿ$        ÿ    r)N)r r6rÚ__all__r_rZr?rr.r0r4r;rBrErSr\rbrdrgrjrrrrrrrrÚs.  >(K)