관리-도구
편집 파일: util.cpython-36.pyc
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'