File: //lib/python3.10/distutils/__pycache__/util.cpython-310.pyc
o
    ��bc(R  �                   @   s   d Z ddlZddlZddlZddlZddlZddlZddlm	Z	 ddl
mZ ddlm
Z
 ddlmZ ddlmZ dd	� Zd
d� Zdd
� Zdd� Zdadd� Zdd� Zd*dd�Zd a aadd� Zdd� Zd+dd�Zdd� Z				d,d d!�Zd"d#� Z d-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 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 }nL| dd� dkr�dd 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)z	win-arm64�_PYTHON_HOST_PLATFORM�posix�uname�/� � �_�-N�   �linuxz%s-%s�sunosr   �5�solarisz%d.%s�   �   �32bit�64bit)i���l   ���� z.%s�aix)�aix_platform�   �cygwinz[\d.]+�darwinz%s-%s-%s)�os�name�sys�version�lower�platform�environ�hasattrr
   �replace�int�maxsize�_aix_supportr   �re�compile�ASCII�match�group�_osx_support�distutils.sysconfig�get_platform_osx�	sysconfig�get_config_vars)�osname�host�releaser$   �machine�bitnessr   �rel_re�mr2   �	distutils� r?   �%/usr/lib/python3.10/distutils/util.py�get_host_platform   sT   
 
�
�
�rA   c                  C   s4   t jdkrdddd�} | �t j�d��pt� S t� S )Nr   �win32r	   r
   )�x86�x64�arm�VSCMD_ARG_TGT_ARCH)r!   r"