File: //usr/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-39.pyc
a
?�f� � @ s` d dl mZ d dlZd dlZd dlmZ er<d dlmZmZ dd� Z dd� Z
d d
� Zdd� ZdS )
� )�absolute_importN)�MYPY_CHECK_RUNNING)�Optional�Tuplec C s t � p
t� S )z9Returns glibc version string, or None if not using glibc.)�glibc_version_string_confstr�glibc_version_string_ctypes� r r �=/usr/lib/python3.9/site-packages/pip/_internal/utils/glibc.py�glibc_version_string s r
c
C sD t jdkrdS zt�d��� \} }W n tttfy> Y dS 0 |S )z@Primary implementation of glibc_version_string using os.confstr.Zwin32N�CS_GNU_LIBC_VERSION)�sys�platform�os�confstr�split�AttributeError�OSError�
ValueError)�_�versionr r r r s
r c C sr zddl } W n ty Y dS 0 | �d�}z
|j}W n tyJ Y dS 0 | j|_|� }t|t�sn|� d�}|S )z=Fallback implementation of glibc_version_string using ctypes.r N�ascii)
�ctypes�ImportErrorZCDLL�gnu_get_libc_versionr Zc_char_pZrestype�
isinstance�str�decode)r Zprocess_namespacer Zversion_strr r r r '