File: //lib64/python3.9/distutils/__pycache__/extension.cpython-39.opt-2.pyc
a
    �DOg)  �                   @   s*   d dl Z d dlZG dd� d�Zdd� ZdS )�    Nc                   @   s   e Zd Zddd�Zdd� ZdS )�	ExtensionNc                 K   s  t |t�std��t |t�r.tdd� |D ��s6td��|| _|| _|pHg | _|pRg | _|p\g | _	|pfg | _
|ppg | _|pzg | _|	p�g | _
|
p�g | _|p�g | _|p�g | _|
p�g | _|p�g | _|| _|| _t|�dk�rdd� |D �}d�t|��}d	| }t�|� d S )
Nz'name' must be a stringc                 s   s   | ]}t |t�V  qd S )N)�
isinstance�str)�.0�v� r   �+/usr/lib64/python3.9/distutils/extension.py�	<genexpr>j   �    z%Extension.__init__.<locals>.<genexpr>z#'sources' must be a list of stringsr   c                 S   s   g | ]}t |��qS r   )�repr)r   �optionr   r   r   �
<listcomp>�   r
   z&Extension.__init__.<locals>.<listcomp>z, zUnknown Extension options: %s)r   r   �AssertionError�list�all�name�sources�include_dirs�
define_macros�undef_macros�library_dirs�	libraries�runtime_library_dirs�
extra_objects�extra_compile_args�extra_link_args�export_symbols�	swig_opts�depends�language�optional�len�join�sorted�warnings�warn)�selfr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    �kw�options�msgr   r   r   �__init__V   s6    
�
zExtension.__init__c                 C   s   d| j j| j j| jt| �f S )Nz<%s.%s(%r) at %#x>)�	__class__�
__module__�__qualname__r   �id)r&