Hacked By AnonymousFox
B
� f�O � @ s d Z ddlZddlZddlZddlZddlZddlmZ ddl m
Z
ddlmZ ddl
mZ ddlmZ dd � Zd
d� Zdd
� Zdadd� Zdd� Zd(dd�Zd a aadd� Zdd� Zd)dd�Zdd� Zd*dd�Zd d!� Zd+d"d#�Z d,d$d%�Z!G d&d'� d'�Z"dS )-zudistutils.util
Miscellaneous utility functions -- anything that doesn't fit into
one of the other *util.py modules.
� N)�DistutilsPlatformError)�newer)�spawn)�log)�DistutilsByteCompileErrorc
C s� t jdkr"dtj�� krdS tjS dt jkr6t jd S t jdksJtt d�sPtjS t �� \} }}}}| �� � dd�} |� d d
�}|� dd�}| dd
� dkr�d| |f S | dd
� dk�r|d dk�r�d} dt
|d �d |dd� f }ddd�}|d|tj 7 }n�| dd� dk�r(d| ||f S | dd� dk�rfd} t�
dtj�}|�|�}|�r�|�� }n>| dd� d k�r�ddl}ddl} |�| j�� | ||�\} }}d!| ||f S )"a� Return a string that identifies the current platform. This is used mainly to
distinguish platform-specific build directories and platform-specific built
distributions. Typically includes the OS name and version and the
architecture (as supplied by 'os.uname()'), although the exact information
included depends on the OS; eg. on Linux, the kernel version isn't
particularly important.
Examples of returned values:
linux-i586
linux-alpha (?)
solaris-2.6-sun4u
Windows will return one of:
win-amd64 (64bit Windows on AMD64 (aka x86_64, Intel64, EM64T, etc)
win32 (all others - specifically, sys.platform is returned)
For other non-POSIX platforms, currently just returns 'sys.platform'.
�ntZamd64z win-amd64Z_PYTHON_HOST_PLATFORM�posix�uname�/� � �_�-N� Zlinuxz%s-%sZsunosr �5Zsolarisz%d.%s� � Z32bitZ64bit)i���l ���� z.%sZaixz%s-%s.%s� �cygwinz[\d.]+�darwinz%s-%s-%s)�os�name�sys�version�lower�platform�environ�hasattrr �replace�int�maxsize�re�compile�ASCII�match�group�_osx_supportZdistutils.sysconfigZget_platform_osxZ sysconfigZget_config_vars)
ZosnameZhost�releaser �machineZbitnessZrel_re�mr&