a 3êdgUã@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ÚPATHÚwin32z.exe) ÚosÚenvironÚsplitÚpathsepÚpathÚsplitextÚsysÚplatformÚisfileÚjoin)Ú executablerÚpathsÚbaseÚextÚpÚf©rú(/usr/local/lib/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ÚtempfileÚNamedTemporaryFileÚ ImportErrorÚopenr ÚgetpidÚclosingÚnameÚsystemÚreadÚdecodeÚstrip)Z commandstringZcapture_stderrr r!ÚfpÚcmdrrrÚ _read_output7s  ÿÿ  r.cCst|ƒptd|fƒpdS)Nz/usr/bin/xcrun -find %sÚ)rr.)ZtoolnamerrrÚ_find_build_toolMs  ÿþ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_versionVs   ÿr;cCsJtdurFtƒ}|rFztdd„| d¡DƒƒaWntyDdaYn0tS)Ncss|]}t|ƒVqdS©N©Úint©Ú.0ÚirrrÚ óz,_get_system_version_tuple..r1r)Ú_SYSTEM_VERSION_TUPLEr;ÚtuplerÚ ValueError©Z osx_versionrrrÚ_get_system_version_tupleus  rHcCs"t|ƒD]}| t¡r||=qdSr<)ÚlistÚ startswithÚ_INITPRE)Ú _config_varsÚkrrrÚ_remove_original_valuesˆs  rNcCs8| |d¡}||kr,t||vr,||t|<|||<dS)Nr/)ÚgetrK)rLÚcvZnewvalueZoldvaluerrrÚ_save_modified_values  rQcCsŽtdur tStd|fdƒ}d}| ¡D]T}| d¡rzEnd of search listz /usr/includeú/z.sdk/usr/includeiôÿÿÿ)Ú_cache_default_sysrootr.Ú splitlinesrJr+Úendswith)ÚccÚcontentsZ in_incdirsÚlinerrrÚ_default_sysroot™s$    rYcCstƒ}|rt|dkƒSdS)N©é éF)rHÚboolrGrrrÚ_supports_universal_builds²sr^cCstƒ}|r|dkSdS)N)é rF)rHrGrrrÚ_supports_arm64_builds¼sr`cCsÚdtjvr|S|d ¡d}}t|ƒs4tdƒ}n/dev/nullrarbz-arch\s+ppc\w*\src) r rr6r7r(rerlrmrQ)rLÚstatusrPrkrrrÚ_remove_unsupported_archss þÿ rqcCsddtjvr`tjd}tD]F}||vrd||vr||}t dd|¡}|d|}t|||ƒq|S)NÚ ARCHFLAGSú-archrjrc)r rrlr6rmrQ)rLZarchrPrkrrrÚ_override_all_archs:s   rtcCsx| 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|$)rc) rOr6r7r9r rÚexistsrlrrmrQ)rLÚcflagsr:ZsdkrPrkrrrÚ_check_for_unavailable_sdkKs    rwc 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)NFTrscss|]}| d¡r|VqdS)ú -isysrootN©rJ)r@ÚargrrrrByrCz!compiler_fixup..rrr3r2Úarm64cSsg|]\}}| d¡r|‘qS©rxry©r@rAÚxrrrÚ ‘rCz"compiler_fixup..rrxcSsg|]\}}| d¡r|‘qSr|ryr}rrrr¡rCcSsg|]\}}| d¡r|‘qSr|ryr}rrrr¤rC)Úlogz4Compiling with an SDK that doesn't seem to exist: %sz$Please check your Xcode installation)rIr^Úanyr rÚindexrFr`ÚreversedÚrangeÚlenrÚ enumeraterÚisdirZ distutilsr€Úwarn) Z compiler_soZcc_argsZ stripArchZ stripSysrootr‚ÚidxÚindicesZsysrootZargvarr€rrrrfsZ       ÿ rcCs"tƒst|ƒt|ƒt|ƒ|Sr<)r^rortrw©rLrrrr·s rcCst|ƒt|ƒt|ƒ|Sr<)rirqrtr‹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|ƒVqdSr<r=r?rrrrBrCz#get_platform_osx..r1rr3)r[rrZrsZfatz -arch\s+(\S+)r2)r{Úx86_64Z universal2)Úi386Úppc)rrŒZintel)rrŽrŒZfat3)Úppc64rŒZfat64)rrŽrrŒÚ universalz%Don't know machine value for archs=%rrlrŒ)ZPowerPCZPower_MacintoshrrŽ)rOr;rKrErrFr+r6ÚfindallÚsortedÚsetr…rÚmaxsize)rLZosnameÚreleaseÚmachineZmacverZ macreleaservZarchsrrrrôsX    ÿ$         ÿ    r)N)F)r r6rÚ__all__rlrgrKrr.r0r4r;rDrHrNrQrSrYr^r`rirorqrtrwrrrrrrrrÚs8      >(Q)