B j÷,:]{ã@sºddlZddlZddlZddddgZdZdZdZd%d d „Zd d „Zd d„Z da dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd„Zdd „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Œ|dkrtjd}| tj¡}tj |¡\}}tjdkrH|dkrH|d}tj |¡s„x*|D]"}tj  ||¡}tj |¡rZ|SqZWdS|SdS)NÚPATHÚwin32z.exe) ÚosÚenvironÚsplitÚpathsepÚpathÚsplitextÚsysÚplatformÚisfileÚjoin)Ú executablerÚpathsÚbaseZextÚpÚf©rú//opt/alt/python37/lib/python3.7/_osx_support.pyÚ_find_executables     rc CsŠddl}yddl}| ¡}Wn(tk rDtdt ¡fdƒ}YnX| |¡0}d||jf}t  |¡s||  ¡  d¡  ¡SdSQRXdS)Nrz/tmp/_osx_support.%szw+bz%s 2>/dev/null >'%s'zutf-8) Ú contextlibÚtempfileZNamedTemporaryFileÚ ImportErrorÚopenr ÚgetpidÚclosingÚnameÚsystemÚreadÚdecodeÚstrip)Z commandstringrr ÚfpÚcmdrrrÚ _read_output7s  r,cCst|ƒptd|fƒpdS)Nz/usr/bin/xcrun -find %sÚ)rr,)ZtoolnamerrrÚ_find_build_toolJsr.cCsxtdkrtday tdƒ}Wntk r,YnHXzt d| ¡¡}Wd| ¡X|dk rtd | 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   r9cCs&x t|ƒD]}| t¡r ||=q WdS)N)ÚlistÚ startswithÚ_INITPRE)Ú _config_varsÚkrrrÚ_remove_original_valuesqs r?cCs8| |d¡}||kr,t||kr,||t|<|||<dS)Nr-)Úgetr<)r=ÚcvZnewvalueZoldvaluerrrÚ_save_modified_valuexs  rBcCsTtƒ}|r@ytdd„| d¡Dƒƒ}Wntk r>d}YnX|rPt|dkƒSdS)Ncss|]}t|ƒVqdS)N)Úint)Ú.0Úirrrú Šsz-_supports_universal_builds..r/r-)é éF)r9ÚtuplerÚ ValueErrorÚbool)Z osx_versionrrrÚ_supports_universal_builds€s rLcCsÞdtjkr|S|d ¡d}}t|ƒs4tdƒ}n/dev/nullrMz'"'"'z-arch\s+ppc\w*\srN) r rr4r5r&rPrVrWrB)r=ÚstatusrArUrrrÚ_remove_unsupported_archsÜs  r[cCshdtjkrdtjd}xNtD]F}||krd||kr||}t dd|¡}|d|}t|||ƒqW|S)NÚ ARCHFLAGSz-archz -arch\s+\w+\srN)r rrVr4rWrB)r=ZarchrArUrrrÚ_override_all_archss    r]cCs|| dd¡}t d|¡}|dk rx| d¡}tj |¡sxx@tD]8}||kr<|tjkr<||}t  dd|¡}t |||ƒq.r\r1cSsg|]\}}| d¡r|‘qS)z -isysroot)r;)rDrEÚxrrrú Usz"compiler_fixup..rz -isysrootr0cSsg|]\}}| d¡r|‘qS)z -isysroot)r;)rDrErbrrrrcescSsg|]\}}| d¡r|‘qS)z -isysroot)r;)rDrErbrrrrchs)Úlogz4Compiling with an SDK that doesn't seem to exist: %sz$Please check your Xcode installation)r:rLÚanyr rÚindexrJrÚ enumerateÚlenrÚisdirZ distutilsrdÚwarn) Z compiler_soZcc_argsZ stripArchZ stripSysrootrfÚindicesZsysrootZargvarÚidxrdrrrr0sT         cCs"tƒst|ƒt|ƒt|ƒ|S)N)rLrYr]r`)r=rrrr{s cCst|ƒt|ƒt|ƒ|S)N)rTr[r])r=rrrr¤s cCs|| dd¡}tƒp|}|p|}|rr|}d}| td| dd¡¡}|rˆy$tdd„| d¡dd …Dƒƒ}WqŒtk r„d }YqŒXnd }|d kr6d | ¡kr6d }t d|¡}tt t |ƒƒƒ}t |ƒdkrÚ|d}nZ|dkrèd }nL|dkröd}n>|dkrd}n.|dkrd}n|dkr&d}ntd|fƒ‚n<|dkrRt j dkrrd}n |dkrrt j dkrnd}nd}|||fS) NZMACOSX_DEPLOYMENT_TARGETr-Zmacosxrcss|]}t|ƒVqdS)N)rC)rDrErrrrFÒsz#get_platform_osx..r/rr1)rGr)rGrHz-archZfatz -arch\s+(\S+)r0)Úi386Úppc)rmÚx86_64Zintel)rmrnroZfat3)Úppc64roZfat64)rmrnrproÚ universalz%Don't know machine value for archs=%rrmlro)ZPowerPCZPower_Macintoshrprn)r@r9r<rIrrJr)r4ÚfindallÚsortedÚsetrhrÚmaxsize)r=ZosnameÚreleaseÚmachineZmacverZ macreleaser_Zarchsrrrr¸sP   $           )N)r r4rÚ__all__rVrRr<rr,r.r2r9r?rBrLrTrYr[r]r`rrrrrrrrÚs4 >(K)