File: //usr/lib/python3/dist-packages/setuptools/_distutils/__pycache__/util.cpython-310.pyc
o
�_�a�P � @ s8 d Z ddlZddlZddlZddlZddlZddlmZ ddl m
Z
ddlmZ ddl
mZ ddlmZ dd lmZ d
d� Zdd
� ZejdkrIdadZdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdadd� Zdd� Zd d!� Z d1d#d$�Z!d a" a#a$d%d&� Z%d'd(� Z&d2d)d*�Z'd+d,� Z( d3d-d.�Z)d/d0� Z*dS )4zudistutils.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 jdkr#dtj�� v rdS dtj�� v rdS dtj�� v r dS tjS dt jv r-t jd S t jd ks7tt d
�s:tjS t �� \} }}}}| �� � dd�} |� d
d�}|� dd�}| dd� dkred| |f S | dd� dkr�|d dkr�d} dt
|d �d |dd� f }ddd�}|d|tj 7 }nO| dd� dkr�d d!lm
} || ||�S | dd"� d#kr�d#} t�d$tj�}|�|�}|r�|�� }n| dd"� d%kr�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�amd64� win-amd64z(arm)� win-arm32z(arm64)� 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�maxsize�
py38compatr �re�compile�ASCII�match�group�_osx_support�distutils.sysconfig�get_platform_osx� sysconfig�get_config_vars)�osname�host�releaser'