<!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>
B
    YI~dL  ã               @   sº   d dl Z d dlZd dlZddddgZdZdZdZd%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$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 krt jd }| t j¡}t j | ¡\}}tjdkrH|dkrH| d } t j | ¡s„x*|D ]"}t j 	|| ¡}t j |¡rZ|S qZW d S | S d S )NÚPATHÚwin32z.exe)
ÚosÚenvironÚsplitÚpathsepÚpathÚsplitextÚsysÚplatformÚisfileÚjoin)Ú
executabler   ÚpathsÚbaseZextÚpÚf© r   ú1/opt/alt/python37/lib64/python3.7/_osx_support.pyÚ_find_executable   s    

r   c          	   C   sŠ   dd l }ydd l}| ¡ }W n( tk
rD   tdt ¡ f dƒ}Y nX | |¡0}d| |jf }t 	|¡s|| 
¡  d¡ ¡ S d S Q R X d S )Nr   z/tmp/_osx_support.%szw+bz%s 2>/dev/null >'%s'zutf-8)Ú
contextlibÚtempfileZNamedTemporaryFileÚImportErrorÚopenr   ÚgetpidÚclosingÚnameÚsystemÚreadÚdecodeÚstrip)Zcommandstringr   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_toolJ   s    r.   c              C   sx   t d krtda ytdƒ} W n tk
r,   Y nHX zt d|  ¡ ¡}W d |  ¡  X |d k	rtd | 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_versionS   s    

r9   c             C   s&   x t | ƒD ]}| t¡r
| |= q
W d S )N)ÚlistÚ
startswithÚ_INITPRE)Ú_config_varsÚkr   r   r   Ú_remove_original_valuesq   s    
r?   c             C   s8   |   |d¡}||kr,t| | kr,|| t| < || |< d S )Nr-   )Úgetr<   )r=   ÚcvZnewvalueZoldvaluer   r   r   Ú_save_modified_valuex   s    rB   c              C   sT   t ƒ } | r@ytdd„ |  d¡D ƒƒ} W n tk
r>   d} Y nX | rPt| dkƒS dS )Nc             s   s   | ]}t |ƒV  qd S )N)Úint)Ú.0Úir   r   r   ú	<genexpr>Š   s    z-_supports_universal_builds.<locals>.<genexpr>r/   r-   )é
   é   F)r9   Útupler   Ú
ValueErrorÚbool)Zosx_versionr   r   r   Ú_supports_universal_builds€   s    
rL   c             C   sÞ   dt jkr| S | d  ¡ d  }}t|ƒs4tdƒ}n<t j |¡ d¡rptd| 	dd¡f ƒ}|rpd|krptdƒ}|s|t
d	ƒ‚||krÚxTtD ]L}|| krŠ|t jkrŠ| |  ¡ }|d
kr¸|n|d |d< t| |d |¡ƒ qŠW | S )Nr	   r   ZclangZgccz'%s' --versionú'z'"'"'zllvm-gcczCannot locate working compilerr
   z++ú )r   r   r   r   r.   r   Úbasenamer;   r,   ÚreplaceÚSystemErrorÚ_COMPILER_CONFIG_VARSrB   r   )r=   ZccZoldccÚdatarA   Zcv_splitr   r   r   Ú_find_appropriate_compiler   s(    


rT   c             C   sZ   xTt D ]L}|| kr|tjkr| | }tjdd|tjd}t dd|¡}t| ||ƒ qW | S )Nz-arch\s+\w+\srN   )Úflagsz-isysroot\s*\S+)Ú_UNIVERSAL_CONFIG_VARSr   r   r4   ÚsubÚASCIIrB   )r=   rA   rU   r   r   r   Ú_remove_universal_flagsÎ   s    
rY   c             C   sˆ   dt jkr| S t d| d ¡d k	r„t  d| d  dd¡f ¡}|r„x@tD ]8}|| krH|t jkrH| | }t dd|¡}t| ||ƒ qHW | S )	Nr	   z-arch\s+ppcr   zNecho 'int main{};' | '%s' -c -arch ppc -x c -o /dev/null /dev/null 2>/dev/nullrM   z'"'"'z-arch\s+ppc\w*\srN   )	r   r   r4   r5   r&   rP   rV   rW   rB   )r=   ÚstatusrA   rU   r   r   r   Ú_remove_unsupported_archsÜ   s    
	
r[   c             C   sh   dt jkrdt jd }xNtD ]F}|| krd| | kr| | }t dd|¡}|d | }t| ||ƒ qW | S )NÚ	ARCHFLAGSz-archz-arch\s+\w+\srN   )r   r   rV   r4   rW   rB   )r=   ZarchrA   rU   r   r   r   Ú_override_all_archs  s    


r]   c             C   s|   |   dd¡}t d|¡}|d k	rx| d¡}tj |¡sxx@tD ]8}|| kr<|tjkr<| | }t 	dd|¡}t
| ||ƒ q<W | S )Nr   r-   z-isysroot\s*(\S+)r0   z-isysroot\s*\S+(?:\s|$)rN   )r@   r4   r5   r7   r   r   ÚexistsrV   r   rW   rB   )r=   Úcflagsr8   ZsdkrA   rU   r   r   r   Ú_check_for_unavailable_sdk  s    

r`   c       
      C   sª  d }}t | ƒ} tƒ s d }}nd|k}tdd„ |D ƒƒ}|sHdtjkr‚x8y|  d¡}| ||d …= W qJ tk
r|   P Y qJX qJW dtjkr¢|s¢| tjd  ¡  } |röxNdd	„ t| ƒD ƒ}|sÀP |d
 }| | dkrä| ||d …= q¨| ||d …= q¨W d }|}dd	„ t|ƒD ƒ}|s,| }dd	„ t| ƒD ƒ}xB|D ]:}|| dkrT||d  }P n|| t	dƒd … }P q2W |r¦tj
 |¡s¦d
dlm}	 |	 d|¡ |	 d¡ | S )NFTz-archc             s   s   | ]}|  d ¡r|V  qdS )z	-isysrootN)r;   )rD   Úargr   r   r   rF   C  s    z!compiler_fixup.<locals>.<genexpr>r\   r1   c             S   s   g | ]\}}|  d ¡r|‘qS )z	-isysroot)r;   )rD   rE   Úxr   r   r   ú
<listcomp>U  s    z"compiler_fixup.<locals>.<listcomp>r   z	-isysrootr0   c             S   s   g | ]\}}|  d ¡r|‘qS )z	-isysroot)r;   )rD   rE   rb   r   r   r   rc   e  s    c             S   s   g | ]\}}|  d ¡r|‘qS )z	-isysroot)r;   )rD   rE   rb   r   r   r   rc   h  s    )Úlogz4Compiling with an SDK that doesn't seem to exist: %sz$Please check your Xcode installation)r:   rL   Úanyr   r   ÚindexrJ   r   Ú	enumerateÚlenr   ÚisdirZ	distutilsrd   Úwarn)
Zcompiler_soZcc_argsZ	stripArchZstripSysrootrf   ÚindicesZsysrootZargvarÚidxrd   r   r   r   r   0  sT    	



c             C   s"   t ƒ st| ƒ t| ƒ t| ƒ | S )N)rL   rY   r]   r`   )r=   r   r   r   r   {  s
    c             C   s   t | ƒ t| ƒ t| ƒ | S )N)rT   r[   r]   )r=   r   r   r   r   ¤  s    	c             C   s|  |   dd¡}tƒ p|}|p|}|rr|}d}|   td |   dd¡¡}|rˆy$tdd„ | d¡dd	… D ƒƒ}W qŒ tk
r„   d
}Y qŒX nd
}|dkr6d| ¡ kr6d}t d|¡}tt	t
|ƒƒƒ}t|ƒdkrÚ|d }nZ|dkrèd}nL|dkröd}n>|dkrd}n.|dkrd}n|dkr&d}ntd|f ƒ‚n<|dkrRtjdkrrd}n |dkrrtjdkrnd}nd}|||fS ) NZMACOSX_DEPLOYMENT_TARGETr-   Zmacosxr   c             s   s   | ]}t |ƒV  qd S )N)rC   )rD   rE   r   r   r   rF   Ò  s    z#get_platform_osx.<locals>.<genexpr>r/   r   r1   )rG   r   )rG   rH   z-archZfatz-arch\s+(\S+)r0   )Úi386Úppc)rm   Úx86_64Zintel)rm   rn   ro   Zfat3)Úppc64ro   Zfat64)rm   rn   rp   ro   Ú	universalz%Don't know machine value for archs=%rrm   l        ro   )ZPowerPCZPower_Macintoshrp   rn   )r@   r9   r<   rI   r   rJ   r)   r4   ÚfindallÚsortedÚsetrh   r   Úmaxsize)r=   ZosnameÚreleaseÚmachineZmacverZ
macreleaser_   Zarchsr   r   r   r   ¸  sP    


$





)N)r   r4   r   Ú__all__rV   rR   r<   r   r,   r.   r2   r9   r?   rB   rL   rT   rY   r[   r]   r`   r   r   r   r   r   r   r   r   Ú<module>   s4   
>(K)