§
%ñü`tìöÑã ó¸ — d Z ddlZddlZddlZg d¢ZdZdZdZdd„Zdd „Z d
„ Z
dad„ Zda
d„ Zd
„ Zd„ Zdad„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )zShared OS X support functions.é N)Úcompiler_fixupÚcustomize_config_varsÚcustomize_compilerÚget_platform_osx)
ÚCFLAGSÚLDFLAGSÚCPPFLAGSÚ
BASECFLAGSÚ BLDSHAREDÚLDSHAREDÚCCÚCXXÚ PY_CFLAGSÚ
PY_LDFLAGSÚPY_CPPFLAGSÚPY_CORE_CFLAGSÚPY_CORE_LDFLAGS)r r r
r Ú_OSX_SUPPORT_INITIAL_c ó¸ — |€t j d }| t j ¦ « }t j | ¦ « \ }}t j dk r|dk r| dz } t j | ¦ « sJ|D ]E}t j || ¦ « }t j |¦ « r|c S ŒFdS | S )zÚTries to find 'executable' in the directories listed in 'path'.
A string listing directories separated by 'os.pathsep'; defaults to
os.environ['PATH']. Returns the complete filename or None if not found.
NÚPATHÚwin32z.exe)
ÚosÚenvironÚsplitÚpathsepÚpathÚsplitextÚsysÚplatformÚisfileÚjoin)Ú
executabler ÚpathsÚbaseÚextÚpÚfs ú3/opt/alt/python311/lib64/python3.11/_osx_support.pyÚ_find_executabler) sË € ð €|ÝŒz˜&Ô!ˆà�JŠJ•r”zÑ"Ô"€EÝ”× Ò Ñ,Ô,�I€Dˆ#匘ÒÐ c¨V¢m mØ &Ñ(ˆ
å
Œ7�>Š>˜*Ñ%Ô%ð Øð ð ˆAÝ”—’˜Q
Ñ+Ô+ˆAÝŒw�~Š~˜aÑ Ô ð
à���ð
ð ˆtàÐó Fc óÜ — ddl } ddl}| ¦ « }n4# t $ r' t dt j ¦ « ›�d¦ « }Y nw xY w| |¦ « 5 }|r| ›d|j ›d�}n
| ›d|j ›d�}t j |¦ « s9|
¦ « d ¦ « ¦ « ndcddd¦ « S # 1 swxY w Y dS )
z0Output from successful command execution or Noner Nz/tmp/_osx_support.zw+bz >'z' 2>&1z 2>/dev/null >'ú'úutf-8)
Ú
contextlibÚtempfileÚNamedTemporaryFileÚImportErrorÚopenr ÚgetpidÚclosingÚnameÚsystemÚreadÚdecodeÚstrip)Ú
commandstringÚcapture_stderrr. r/ ÚfpÚcmds r( Ú_read_outputr> 7 sh € ð ÐÐÐð"؈ˆˆØ
×
(Ò
(Ñ
*Ô
*ˆˆøÝð "ð "ð "Ý
ˆTÝŒI‰KŒKˆKðØ ñ"ô "ˆˆˆð"øøøð
× Ò ˜BÑ Ô ð Q 2Øð DØ%2 ] ]°B´G°G°GÐ<ˆCˆCà,9¨M¨M¸2¼7¸7¸7ÐCˆCÝ8:¼ À#¹¼ÐPˆr�wŠw‰yŒy×Ò Ñ(Ô(×.Ò.Ñ0Ô0Ð0ÈDðQð Qð Qð Qñ Qô Qð Qð Qð Qð Qð Qð Qøøøð Qð Qð Qð Qð Qð Qs" † Ÿ.AÁAÁ(A,C!Ã!C%Ã(C%c óH — t | ¦ « pt d| ›�¦ « pdS )z0Find a build tool on current path or using xcrunz/usr/bin/xcrun -find Ú )r) r> )Útoolnames r( Ú_find_build_toolrB M s1 € å˜XÑ&Ô&ð