File: //lib64/python3.6/distutils/__pycache__/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'