B
fL @ s d Z ddlZddlZddlZddddgZdZdZd Zd&d
dZdd
Z dd Z
dadd Zdd Z
dd Zdd Zdd Zdd Zdd Zdd Zd d! Zd"d Zd#d Zd$d Zd%d ZdS )'zShared OS X support functions. Ncompiler_fixupcustomize_config_varscustomize_compilerget_platform_osx)
CFLAGSZLDFLAGSZCPPFLAGSZ
BASECFLAGS BLDSHAREDLDSHAREDCCCXXZ PY_CFLAGSZ
PY_LDFLAGSZPY_CPPFLAGSZPY_CORE_CFLAGSZPY_CORE_LDFLAGS)r r r r
Z_OSX_SUPPORT_INITIAL_c C s |dkrt jd }|t j}t j| \}}tjdkrH|dkrH| d } t j| sx*|D ]"}t j || }t j|rZ|S qZW dS | S dS )zTries 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.
NPATHZwin32z.exe)
osenvironsplitpathseppathsplitextsysplatformisfilejoin)
executabler pathsbaseZextpf r 1/opt/alt/python37/lib64/python3.7/_osx_support.py_find_executable s
r c C s ddl }yddl}| }W n( tk
rD tdt f d}Y nX ||0}d| |jf }t |s||
d S dS Q R X dS )z0Output from successful command execution or Noner Nz/tmp/_osx_support.%szw+bz%s 2>/dev/null >'%s'zutf-8)
contextlibtempfileZNamedTemporaryFileImportErroropenr getpidclosingnamesystemreaddecodestrip)Z
commandstringr r fpcmdr r r _read_output7 s r+ c C s t | ptd| f pdS )z0Find a build tool on current path or using xcrunz/usr/bin/xcrun -find %s )r r+ )Ztoolnamer r r _find_build_toolJ s r- c C sx t dkrtda ytd} W n tk
r, Y nHX ztd| }W d| X |dk rtd|d ddd a t S )z*Return the OS X system version as a stringNr, z0/System/Library/CoreServices/SystemVersion.plistz=ProductUserVisibleVersion\s*(.*?). )
_SYSTEM_VERSIONr! OSErrorresearchr&