Your IP : 3.138.120.112
U
e5dV � @ sT d Z ddlZddlmZ ddlT ddlmZ ddlmZ dd� Z G d d
� d
e�Z
dS )z�distutils.command.build_clib
Implements the Distutils 'build_clib' command, to build a C/C++ library
that is included in the module distribution and needed by an extension
module.� N)�Command)�*)�customize_compiler)�logc C s ddl m} | � d S )Nr ��show_compilers)�distutils.ccompilerr r � r �4/usr/lib64/python3.8/distutils/command/build_clib.pyr s r c @ sl e Zd ZdZdddddgZddgZd d
defgZdd
� Zdd� Z dd� Z
dd� Zdd� Zdd� Z
dd� Zd
S )�
build_clibz/build C/C++ libraries used by Python extensions)zbuild-clib=�bz%directory to build C/C++ libraries to)zbuild-temp=�tz,directory to put temporary build by-products)�debug�gz"compile with debugging information)�force�fz2forcibly build everything (ignore file timestamps))z compiler=�czspecify the compiler typer r z
help-compilerNzlist available compilersc C s: d | _ d | _d | _d | _d | _d | _d | _d| _d | _d S )Nr ) r �
build_temp� libraries�include_dirs�define�undefr r �compiler��selfr r r
�initialize_options4 s zbuild_clib.initialize_optionsc C sh | � dddddd� | jj| _| jr0| �| j� | jd krH| jjpDg | _t| jt�rd| j�tj �| _d S )NZbuild)r r )r r )r r )r r )r r )
Zset_undefined_optionsZdistributionr �check_library_listr �
isinstance�str�split�os�pathsepr r r r
�finalize_optionsD s �
zbuild_clib.finalize_optionsc C s� | j s
d S ddlm} || j| j| jd�| _t| j� | jd k rN| j�| j� | j d k rv| j D ]\}}| j�
||� q^| jd k r�| jD ]}| j�|� q�| �
| j � d S )Nr )�new_compiler)r �dry_runr )r r r# r r$ r r r Zset_include_dirsr Zdefine_macror Zundefine_macro�build_libraries)r r# �name�valueZmacror r r
�run^ s"