a ÕDOg Uã@sØddlZddlZddlZgd¢ZdZdZdZd-dd„Zd.d d „Zd d „Z da d d„Z da dd„Z dd„Zdd„Zdadd„Zdd„Zdd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„Zd%d&„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|SqXdS|SdS)NÚPATHZwin32z.exe) ÚosÚenvironÚsplitÚpathsepÚpathÚsplitextÚsysÚplatformÚisfileÚjoin)Ú executablerÚpathsÚbaseZextÚpÚf©rú1/opt/alt/python39/lib64/python3.9/_osx_support.pyÚ_find_executables     rFcCs´ddl}zddl}| ¡}Wn&tyBtdt ¡fdƒ}Yn0| |¡R}|rdd||jf}nd||jf}t  |¡sŽ|  ¡  d¡  ¡ndWdƒS1s¦0YdS)Nrz/tmp/_osx_support.%szw+bz %s >'%s' 2>&1z%s 2>/dev/null >'%s'zutf-8) Ú contextlibÚtempfileZNamedTemporaryFileÚ ImportErrorÚopenr ÚgetpidÚclosingÚnameÚsystemÚreadÚdecodeÚstrip)Z commandstringZcapture_stderrrrÚfpÚcmdrrrÚ _read_output7s  ÿÿ  r+cCst|ƒptd|fƒpdS)Nz/usr/bin/xcrun -find %sÚ)rr+)ZtoolnamerrrÚ_find_build_toolMs  ÿþr-cCs~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_versionVs   ÿr8cCsJtdurFtƒ}|rFztdd„| d¡DƒƒaWntyDdaYn0tS)Ncss|]}t|ƒVqdS©N©Úint©Ú.0ÚirrrÚ óz,_get_system_version_tuple..r.r)Ú_SYSTEM_VERSION_TUPLEr8ÚtuplerÚ ValueError©Z osx_versionrrrÚ_get_system_version_tupleus  rEcCs"t|ƒD]}| t¡r||=qdSr9)ÚlistÚ startswithÚ_INITPRE)Ú _config_varsÚkrrrÚ_remove_original_valuesˆs  rKcCs8| |d¡}||kr,t||vr,||t|<|||<dS)Nr,)ÚgetrH)rIÚcvZnewvalueZoldvaluerrrÚ_save_modified_values  rNcCsŽtdur tStd|fdƒ}d}| ¡D]T}| d¡rzEnd of search listz /usr/includeú/z.sdk/usr/includeiôÿÿÿ)Ú_cache_default_sysrootr+Ú splitlinesrGr(Úendswith)ÚccÚcontentsZ in_incdirsÚlinerrrÚ_default_sysroot™s$    rVcCstƒ}|rt|dkƒSdS)N©é éF)rEÚboolrDrrrÚ_supports_universal_builds²sr[cCstƒ}|r|dkSdS)N)é rF)rErDrrrÚ_supports_arm64_builds¼sr]cCsÚdtjvr|S|d ¡d}}t|ƒs4tdƒ}n/dev/nullr^r_z-arch\s+ppc\w*\sr`) r r r3r4r%rbrirjrN)rIZstatusrMrhrrrÚ_remove_unsupported_archss þÿ rmcCsddtjvr`tjd}tD]F}||vrd||vr||}t dd|¡}|d|}t|||ƒq|S)NÚ ARCHFLAGSú-archrgr`)r r rir3rjrN)rIZarchrMrhrrrÚ_override_all_archs:s   rpcCsx| dd¡}t d|¡}|durt| d¡}tj |¡sttD]8}||vr:|tjvr:||}t  dd|¡}t |||ƒq:|S)Nrr,z-isysroot\s*(\S+)r/z-isysroot\s*\S+(?:\s|$)r`) rLr3r4r6r rÚexistsrir rjrN)rIÚcflagsr7ZsdkrMrhrrrÚ_check_for_unavailable_sdkKs    rsc Csöd}}t|ƒ}tƒs d}}nd|v}tdd„|Dƒƒ}|sHdtjvr€z| d¡}|||d…=WqHtyzYqÆYqH0qHnFtƒsÆtt t |ƒƒƒD].}||dkr–||dd kr–|||d…=q–dtjvræ|sæ|tjd  ¡}|r>d d „t |ƒDƒ}|sq>|d }||d kr.|||d…=qì|||d…=qìd}|}dd „t |ƒDƒ}|st|}dd „t |ƒDƒ}|D]B}||d krž||d}q¼n||t d ƒd…}q¼qx|ròtj  |¡sòd dlm} |  d|¡|  d¡|S)NFTrocss|]}| d¡r|VqdS)ú -isysrootN©rG)r=Úargrrrr?yr@z!compiler_fixup..rnr0r/Úarm64cSsg|]\}}| d¡r|‘qS©rtru©r=r>ÚxrrrÚ ‘r@z"compiler_fixup..rrtcSsg|]\}}| d¡r|‘qSrxruryrrrr{¡r@cSsg|]\}}| d¡r|‘qSrxruryrrrr{¤r@)Úlogz4Compiling with an SDK that doesn't seem to exist: %sz$Please check your Xcode installation)rFr[Úanyr r ÚindexrCr]ÚreversedÚrangeÚlenrÚ enumeraterÚisdirZ distutilsr|Úwarn) Z compiler_soZcc_argsZ stripArchZ stripSysrootr~ÚidxÚindicesZsysrootZargvarr|rrrrfsZ       ÿ rcCs"tƒst|ƒt|ƒt|ƒ|Sr9)r[rlrprs©rIrrrr·s rcCst|ƒt|ƒt|ƒ|Sr9)rfrmrpr‡rrrràs rcCsŠ| dd¡}tƒp|}|p|}|r€|}d}| td| dd¡¡}|r†z$tdd„| d¡dd …Dƒƒ}WqŠty‚d }YqŠ0nd }|d krDd | ¡vrDd }t d|¡}tt t |ƒƒƒ}t |ƒdkrØ|d}nj|dkræd}n\|dkrôd }nN|dkrd}n>|dkrd}n.|dkr$d}n|dkr4d}ntd|fƒ‚n<|dkr`t j dkr€d}n |dvr€t j dkr|d }nd!}|||fS)"NZMACOSX_DEPLOYMENT_TARGETr,Zmacosxrcss|]}t|ƒVqdSr9r:r<rrrr?r@z#get_platform_osx..r.rr0)rXrrWroZfatz -arch\s+(\S+)r/)rwÚx86_64Z universal2)Úi386Úppc)r‰rˆZintel)r‰rŠrˆZfat3)Úppc64rˆZfat64)r‰rŠr‹rˆZ universalz%Don't know machine value for archs=%rr‰lrˆ)ZPowerPCZPower_Macintoshr‹rŠ)rLr8rHrBrrCr(r3ÚfindallÚsortedÚsetrrÚmaxsize)rIZosnameÚreleaseÚmachineZmacverZ macreleaserrZarchsrrrrôsX    ÿ$         ÿ    r)N)F)r r3rÚ__all__rirdrHrr+r-r1r8rArErKrNrPrVr[r]rfrlrmrprsrrrrrrrrÚs8      >(Q)