£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<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| sx*|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rxTtD ]L}|| kr|t jkr| |  }|d
kr|n|d |d< t| |d| qW | 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	rt d| d ddf }|rx@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rx8y| d}| ||d = W qJ tk
r|   P Y qJX qJW dtjkr|s| tjd   } |rxNdd	 t| D }|sP |d
 }| | dkr| ||d = q| ||d = qW d }|}dd	 t|D }|s,| }dd	 t| D }xB|D ]:}|| dkrT||d  }P n|| t	dd  }P q2W |rtj
|sd
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}|ry$tdd |ddd	 D }W q tk
r   d
}Y qX nd
}|dkr6d| kr6d}td|}tt	t
|}t|dkr|d }nZ|dkrd}nL|dkrd}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)