3
\V ã @ sP d dl Z d dlmZ d dlT d dlmZ d dlmZ dd„ ZG dd „ d eƒZ dS )
é N)ÚCommand)Ú*)Úcustomize_compiler)Úlogc C s ddl m} | ƒ d S )Nr )Úshow_compilers)Údistutils.ccompilerr )r © r ú4/usr/lib64/python3.6/distutils/command/build_clib.pyr s r c @ sl e Zd ZdZd"d#d$d%d&gZddgZdddefgZdd„ Zdd„ Z dd„ Z
dd„ Zdd„ Zdd„ Z
d d!„ ZdS )'Ú
build_clibz/build C/C++ libraries used by Python extensionsúbuild-clib=Úbú%directory to build C/C++ libraries toúbuild-temp=Útú,directory to put temporary build by-productsÚdebugÚgú"compile with debugging informationÚforceÚfú2forcibly build everything (ignore file timestamps)ú compiler=Úcúspecify the compiler typez
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 | j dddd d
dƒ | jj| _| jr0| j| jƒ | jd krH| jjpDg | _t| jtƒrd| jjtj ƒ| _d S )NZbuildr r
r r r )r r
)r r )r r )r r )r r )
Zset_undefined_optionsZdistributionr Úcheck_library_listr Ú
isinstanceÚstrÚsplitÚosÚpathsep)r 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| jj| jƒ | j d k rzx | j D ]\}}| jj
||ƒ q`W | jd k r x| jD ]}| jj|ƒ qŒW | j
| 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
zbuild_clib.runc C sœ t |tƒstdƒ‚x„|D ]|}t |tƒ r