Your IP : 3.15.214.244
3
\5Q � @ 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 jdkrnd} tjj| �}|d)kr(tjS tjjd|�}tj|t| � |� j� }|dkr\dS |dkrhdS tjS d t jkr�t jd S t jd
ks�t t d� r�tjS t j
� \}}}}}|j� jdd
�}|jdd�}|jdd�}|dd� dkr�d||f S |dd� dk�rV|d dk�rd}dt|d �d |dd� f }ddd�} |d| tj
7 }n�|dd � d!k�rtd||f S |dd� d"k�r�d#|||f S |dd$� d%k�r�d%}tjd&tj�}
|
j|�}|�r|j� }n>|dd$� d'k�rddl}ddl}
|j|
jj� |||�\}}}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. for IRIX
the architecture isn't particularly important (IRIX only runs on SGI
hardware), but for Linux the kernel version isn't particularly
important.
Examples of returned values:
linux-i586
linux-alpha (?)
solaris-2.6-sun4u
irix-5.3
irix64-6.2
Windows will return one of:
win-amd64 (64bit Windows on AMD64 (aka x86_64, Intel64, EM64T, etc)
win-ia64 (64bit Windows on Itanium)
win32 (all others - specifically, sys.platform is returned)
For other non-POSIX platforms, currently just returns 'sys.platform'.
�ntz bit (� �)�amd64z win-amd64�itaniumzwin-ia64�_PYTHON_HOST_PLATFORM�posix�uname�/� � �_�-N� �linuxz%s-%s�sunosr �5�solarisz%d.%s� � �32bit�64bit)i���l ���� z.%s� �irix�aixz%s-%s.%s� �cygwinz[\d.]+�darwinz%s-%s-%s���)�os�name�sys�version�find�platform�len�lower�environ�hasattrr �replace�int�maxsize�re�compile�ASCII�match�group�_osx_supportZdistutils.sysconfig�get_platform_osx� sysconfig�get_config_vars)�prefix�i�j�look�osname�host�releaser'