ruạṛ
a �u:j� � @ s� d Z ddlmZ ddlZddlZddlZddlZddlmZ ddl m Z ddlmZ ddl mZ dd lmZ dd lmZmZ ddlmZ ddlmZmZmZmZmZmZ dd lmZ ddlm Z m!Z!m"Z" ddl#m$Z$m%Z%m&Z& e�'d�Z(G dd� de�Z)dS )z�distutils.command.build_ext Implements the Distutils 'build_ext' command, for building extension modules (currently limited to C extensions, should accommodate C++ extensions ASAP).� )�annotationsN)�Callable)�log)� USER_BASE)�ClassVar� )�newer_group)�new_compiler�show_compilers)�Command)�CCompilerError�CompileError�DistutilsError�DistutilsOptionError�DistutilsPlatformError�DistutilsSetupError)� Extension)�customize_compiler�get_config_h_filename�get_python_version)�get_platform�is_freethreaded�is_mingwz3^[a-zA-Z_][a-zA-Z_0-9]*(\.[a-zA-Z_][a-zA-Z_0-9]*)*$c @ s� e Zd ZU dZdej� d�Zddddde� � d �fd ddd e fdddddde fddddddddddgZg d�Z de d <