관리-도구
편집 파일: util.cpython-37.pyc
B ��Re�O � @ s( d Z ddlZddlZddlZddlZddlZddlmZ ddl m Z ddlmZ ddl mZ ddlmZ dd lmZ d d� Zdd � Zejdkr�dadZdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdadd� Zdd� Zd/d!d"�Z d a! a"a#d#d$� Z$d%d&� Z%d0d'd(�Z&d)d*� Z'd1d+d,�Z(d-d.� Z)dS )2zudistutils.util Miscellaneous utility functions -- anything that doesn't fit into one of the other *util.py modules. � N)�DistutilsPlatformError)�newer)�spawn)�log)�DistutilsByteCompileError� )�"_optim_args_from_interpreter_flagsc C s� t jdkrFdtj�� krdS dtj�� kr.dS dtj�� kr@dS tjS dt jkrZt jd S t jd ksntt d �sttjS 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�rVd d!lm } || ||�S | dd"� d#k�r�d#} t�d$tj�}|�|�}|�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'. �nt�amd64z win-amd64z(arm)z win-arm32z(arm64)z win-arm64�_PYTHON_HOST_PLATFORM�posix�uname�/� � �_�-N� �linuxz%s-%s�sunosr �5�solarisz%d.%s� � �32bit�64bit)i���l ���� z.%s�aixr )�aix_platform� �cygwinz[\d.]+�darwinz%s-%s-%s)�os�name�sys�version�lower�platform�environ�hasattrr �replace�int�maxsizeZ py38compatr �re�compile�ASCII�match�group�_osx_support�distutils.sysconfig�get_platform_osx� sysconfig�get_config_vars)�osname�host�releaser$ �machine�bitnessr �rel_re�mr1 � distutils� r>