<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
a
    XC?hU  ã                   @   sØ   d dl Z d dlZd dlZg d¢ZdZdZdZd-dd„Zd.d	d
„Zdd„ Z	da
dd„ Zdadd„ Zdd„ Zdd„ Zdadd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd „ Zd!d"„ Zd#d$„ Zd%d&„ Zd'd(„ Zd)d*„ Zd+d,„ ZdS )/é    N)Úcompiler_fixupÚcustomize_config_varsÚcustomize_compilerÚget_platform_osx)ÚCFLAGSZLDFLAGSZCPPFLAGSZ
BASECFLAGSÚ	BLDSHAREDÚLDSHAREDÚCCÚCXXZ	PY_CFLAGSZ
PY_LDFLAGSZPY_CPPFLAGSZPY_CORE_CFLAGSZPY_CORE_LDFLAGS)r   r   r	   r
   Z_OSX_SUPPORT_INITIAL_c                 C   sŒ   |d u rt jd }| t j¡}t j | ¡\}}tjdkrH|dkrH| d } t j | ¡s„|D ]&}t j 	|| ¡}t j |¡rX|  S qXd S | S d S )NÚPATHZwin32z.exe)
ÚosÚenvironÚsplitÚpathsepÚpathÚsplitextÚsysÚplatformÚisfileÚjoin)Ú
executabler   ÚpathsÚbaseZextÚpÚf© r   ú1/opt/alt/python39/lib64/python3.9/_osx_support.pyÚ_find_executable   s    

r   Fc                 C   s´   dd l }zdd l}| ¡ }W n& tyB   tdt ¡ f dƒ}Y n0 | |¡R}|rdd| |jf }nd| |jf }t 	|¡sŽ| 
¡  d¡ ¡ nd W  d   ƒ S 1 s¦0    Y  d S )Nr   z/tmp/_osx_support.%szw+bz%s >'%s' 2>&1z%s 2>/dev/null >'%s'zutf-8)Ú
contextlibÚtempfileZNamedTemporaryFileÚImportErrorÚopenr   ÚgetpidÚclosingÚnameÚsystemÚreadÚdecodeÚstrip)ZcommandstringZcapture_stderrr   r   ÚfpÚcmdr   r   r   Ú_read_output7   s    ÿÿ
r+   c                 C   s   t | ƒptd| f ƒpdS )Nz/usr/bin/xcrun -find %sÚ )r   r+   )Ztoolnamer   r   r   Ú_find_build_toolM   s
    ÿþr-   c                  C   s~   t d u rzda ztdƒ} W n ty*   Y nP0 zt d|  ¡ ¡}W |  ¡  n
|  ¡  0 |d urzd | d¡ 	d¡d d… ¡a t S )Nr,   z0/System/Library/CoreServices/SystemVersion.plistz=<key>ProductUserVisibleVersion</key>\s*<string>(.*?)</string>Ú.é   é   )
Ú_SYSTEM_VERSIONr!   ÚOSErrorÚreÚsearchr&   Úcloser   Úgroupr   )r   Úmr   r   r   Ú_get_system_versionV   s    
ÿr8   c                  C   sJ   t d u rFtƒ } | rFztdd„ |  d¡D ƒƒa W n tyD   da Y n0 t S )Nc                 s   s   | ]}t |ƒV  qd S ©N©Úint©Ú.0Úir   r   r   Ú	<genexpr>   ó    z,_get_system_version_tuple.<locals>.<genexpr>r.   r   )Ú_SYSTEM_VERSION_TUPLEr8   Útupler   Ú
ValueError©Zosx_versionr   r   r   Ú_get_system_version_tupleu   s    
rE   c                 C   s"   t | ƒD ]}| t¡r| |= qd S r9   )ÚlistÚ
startswithÚ_INITPRE)Ú_config_varsÚkr   r   r   Ú_remove_original_valuesˆ   s    
rK   c                 C   s8   |   |d¡}||kr,t| | vr,|| t| < || |< d S )Nr,   )ÚgetrH   )rI   ÚcvZnewvalueZoldvaluer   r   r   Ú_save_modified_value   s    rN   c                 C   sŽ   t d urt S td| f dƒ}d}| ¡ D ]T}| d¡r<d}q(| d¡rLd}q(|r(| ¡ }|dkrfda q(| d¡r(|d d	… a q(t d u rŠda t S )
Nz%s -c -E -v - </dev/nullTFz#include <...>zEnd of search listz/usr/includeú/z.sdk/usr/includeiôÿÿÿ)Ú_cache_default_sysrootr+   Ú
splitlinesrG   r(   Úendswith)ÚccÚcontentsZ
in_incdirsÚliner   r   r   Ú_default_sysroot™   s$    


rV   c                  C   s   t ƒ } | rt| dkƒS dS )N©é
   é   F)rE   ÚboolrD   r   r   r   Ú_supports_universal_builds²   s    r[   c                  C   s   t ƒ } | r| dkS dS )N)é   r   F)rE   rD   r   r   r   Ú_supports_arm64_builds¼   s    r]   c                 C   sÚ   dt jv r| S | d  ¡ d  }}t|ƒs4tdƒ}n<t j |¡ d¡rptd| 	dd¡f ƒ}|rpd|v rptdƒ}|s|t
d	ƒ‚||krÖtD ]L}|| v rˆ|t jvrˆ| |  ¡ }|d
kr¶|n|d |d< t| |d |¡ƒ qˆ| S )Nr	   r   ZclangZgccz'%s' --versionú'ú'"'"'zllvm-gcczCannot locate working compilerr
   z++ú )r   r   r   r   r-   r   ÚbasenamerG   r+   ÚreplaceÚSystemErrorÚ_COMPILER_CONFIG_VARSrN   r   )rI   rS   ZoldccÚdatarM   Zcv_splitr   r   r   Ú_find_appropriate_compilerÆ   s,    

ÿÿrf   c                 C   sV   t D ]L}|| v r|tjvr| | }tjdd|tjd}t dd|¡}t| ||ƒ q| S )Nú-arch\s+\w+\sr`   )Úflagsz-isysroot\s*\S+)Ú_UNIVERSAL_CONFIG_VARSr   r   r3   ÚsubÚASCIIrN   )rI   rM   rh   r   r   r   Ú_remove_universal_flags  s    rl   c                 C   s„   dt jv r| S t d| d ¡d ur€t  d| d  dd¡f ¡}|r€tD ]8}|| v rF|t jvrF| | }t dd|¡}t| ||ƒ qF| S )	Nr	   z-arch\s+ppcr   zNecho 'int main{};' | '%s' -c -arch ppc -x c -o /dev/null /dev/null 2>/dev/nullr^   r_   z-arch\s+ppc\w*\sr`   )	r   r   r3   r4   r%   rb   ri   rj   rN   )rI   ZstatusrM   rh   r   r   r   Ú_remove_unsupported_archs  s    
þÿ	rm   c                 C   sd   dt jv r`t jd }tD ]F}|| v rd| | v r| | }t dd|¡}|d | }t| ||ƒ q| S )NÚ	ARCHFLAGSú-archrg   r`   )r   r   ri   r3   rj   rN   )rI   ZarchrM   rh   r   r   r   Ú_override_all_archs:  s    

rp   c                 C   sx   |   dd¡}t d|¡}|d urt| d¡}tj |¡sttD ]8}|| v r:|tjvr:| | }t 	dd|¡}t
| ||ƒ q:| S )Nr   r,   z-isysroot\s*(\S+)r/   z-isysroot\s*\S+(?:\s|$)r`   )rL   r3   r4   r6   r   r   Úexistsri   r   rj   rN   )rI   Úcflagsr7   ZsdkrM   rh   r   r   r   Ú_check_for_unavailable_sdkK  s    
rs   c           
      C   sö  d }}t | ƒ} tƒ s d }}nd|v }tdd„ |D ƒƒ}|sHdtjv r€z|  d¡}| ||d …= W qH tyz   Y qÆY qH0 qHnFtƒ sÆtt	t
| ƒƒƒD ].}| | dkr–| |d  d	kr–| ||d …= q–dtjv ræ|sæ| tjd  ¡  } |r>d
d„ t| ƒD ƒ}|sq>|d }| | dkr.| ||d …= qì| ||d …= qìd }|}dd„ t|ƒD ƒ}|st| }dd„ t| ƒD ƒ}|D ]B}|| dkrž||d  } q¼n|| t
dƒd … } q¼qx|ròtj |¡sòddlm}	 |	 d|¡ |	 d¡ | S )NFTro   c                 s   s   | ]}|  d ¡r|V  qdS )ú	-isysrootN©rG   )r=   Úargr   r   r   r?   y  r@   z!compiler_fixup.<locals>.<genexpr>rn   r0   r/   Úarm64c                 S   s   g | ]\}}|  d ¡r|‘qS ©rt   ru   ©r=   r>   Úxr   r   r   Ú
<listcomp>‘  r@   z"compiler_fixup.<locals>.<listcomp>r   rt   c                 S   s   g | ]\}}|  d ¡r|‘qS rx   ru   ry   r   r   r   r{   ¡  r@   c                 S   s   g | ]\}}|  d ¡r|‘qS rx   ru   ry   r   r   r   r{   ¤  r@   )Úlogz4Compiling with an SDK that doesn't seem to exist: %sz$Please check your Xcode installation)rF   r[   Úanyr   r   ÚindexrC   r]   ÚreversedÚrangeÚlenr   Ú	enumerater   ÚisdirZ	distutilsr|   Úwarn)
Zcompiler_soZcc_argsZ	stripArchZstripSysrootr~   ÚidxÚindicesZsysrootZargvarr|   r   r   r   r   f  sZ    	


ÿ
r   c                 C   s"   t ƒ st| ƒ t| ƒ t| ƒ | S r9   )r[   rl   rp   rs   ©rI   r   r   r   r   ·  s
    r   c                 C   s   t | ƒ t| ƒ t| ƒ | S r9   )rf   rm   rp   r‡   r   r   r   r   à  s    	r   c                 C   sŠ  |   dd¡}tƒ p|}|p|}|r€|}d}|   td |   dd¡¡}|r†z$tdd„ | d¡dd	… D ƒƒ}W qŠ ty‚   d
}Y qŠ0 nd
}|dkrDd| ¡ v rDd}t d|¡}tt	t
|ƒƒƒ}t|ƒdkrØ|d }nj|dkræd}n\|dkrôd}nN|dkrd}n>|dkrd}n.|dkr$d}n|dkr4d}ntd|f ƒ‚n<|dkr`tjdkr€d}n |dv r€tjdkr|d }nd!}|||fS )"NZMACOSX_DEPLOYMENT_TARGETr,   Zmacosxr   c                 s   s   | ]}t |ƒV  qd S r9   r:   r<   r   r   r   r?     r@   z#get_platform_osx.<locals>.<genexpr>r.   r   r0   )rX   r   rW   ro   Zfatz-arch\s+(\S+)r/   )rw   Úx86_64Z
universal2)Úi386Úppc)r‰   rˆ   Zintel)r‰   rŠ   rˆ   Zfat3)Úppc64rˆ   Zfat64)r‰   rŠ   r‹   rˆ   Z	universalz%Don't know machine value for archs=%rr‰   l        rˆ   )ZPowerPCZPower_Macintoshr‹   rŠ   )rL   r8   rH   rB   r   rC   r(   r3   ÚfindallÚsortedÚsetr   r   Úmaxsize)rI   ZosnameÚreleaseÚmachineZmacverZ
macreleaserr   Zarchsr   r   r   r   ô  sX    



ÿ$




ÿ

r   )N)F)r   r3   r   Ú__all__ri   rd   rH   r   r+   r-   r1   r8   rA   rE   rK   rN   rP   rV   r[   r]   rf   rl   rm   rp   rs   r   r   r   r   r   r   r   r   Ú<module>   s8   


	

>(Q)