Ë ‚Ö¦iV ã ó¶ — 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„ Zy)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 }|j t j « }t j j | « \ }}t j dk( r |dk7 r| dz } t j j | « sK|D ]E }t j j || « }t j j |« sŒC|c S y| 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 ú%/usr/lib64/python3.12/_osx_support.pyÚ_find_executabler) s« € ð €|Ü�z‰z˜&Ñ!ˆà�J‰J”r—z‘zÓ"€EÜ—‘× Ñ Ó,�I€Dˆ#ä�‰˜Ò c¨V¢mØ &Ñ(ˆ ä �7‰7�>‰>˜*Ô%ÛˆAÜ—‘—‘˜Q Ó+ˆAÜ�w‰w�~‰~˜aÕ à’ð ð àÐó c ó¸ — ddl } ddl}|j « }|j |« 5 }|r| ›d|j ›d�}n| ›d|j ›d�}t j |« s-|j « j d « j « ndcddd« S # t $ r$ t dt j « ›�d« }Y Œ²w xY w# 1 sw Y yxY w) 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 s´ € ó ð"ÛØ × (Ñ (Ó *ˆð × Ñ ˜BÔ 2ÙÚ%2°B·G³GÐ<‰Câ,9¸2¿7»7ÐCˆCÜ8:¿ ¹ À#¼ˆr�w‰w‹y×Ñ Ó(×.Ñ.Ô0ÈD÷ Ñ øô ò "Ý Ü�I‰IŒKðØ ó"Šð"ú÷ Ð ús †B «A+C *C ÃC ÃCc ó@ — t | « xs t d| ›�« xs dS )z0Find a build tool on current path or using xcrunz/usr/bin/xcrun -find Ú )r) r> )Útoolnames r( Ú_find_build_toolrB M s' € ä˜XÓ&ò