U
    aÊ¹ja  ã                   @   s\   d Z ddlZddlZddlZddlmZ ddlmZ ddlm	Z	 dd„ Z
G d	d
„ d
eƒZdS )zBdistutils.command.build

Implements the Distutils 'build' command.é    Né   )ÚCommand)ÚDistutilsOptionError)Úget_platformc                  C   s   ddl m}  | ƒ  d S )Nr   ©Úshow_compilers)Z	ccompilerr   r   © r   úb/var/www/html/bwave/python/venv/lib/python3.8/site-packages/setuptools/_distutils/command/build.pyr      s    r   c                   @   s¦   e Zd ZdZdddddddd	d
eƒ › d�fdddddgZddgZdddefgZdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zd d!„ Zd"d#„ Zd$efd%efd&efd'efgZdS )(Úbuildz"build everything needed to install)zbuild-base=Úbz base directory for build library)zbuild-purelib=Nz2build directory for platform-neutral distributions)zbuild-platlib=Nz3build directory for platform-specific distributions)z
build-lib=NzWbuild directory for all distribution (defaults to either build-purelib or build-platlib)zbuild-scripts=Nzbuild directory for scripts)zbuild-temp=Útztemporary build directoryz
plat-name=Úpz3platform name to build for, if supported [default: ú])z	compiler=Úczspecify the compiler type)z	parallel=Újznumber of parallel build jobs)ÚdebugÚgz;compile extensions and libraries with debugging information)ÚforceÚfz2forcibly build everything (ignore file timestamps))zexecutable=Úez5specify final destination interpreter path (build.py)r   r   zhelp-compilerNzlist available compilersc                 C   sL   d| _ d | _d | _d | _d | _d | _d | _d | _d | _d| _	d | _
d | _d S )Nr
   F)Ú
build_baseÚbuild_purelibÚbuild_platlibÚ	build_libÚ
build_tempÚbuild_scriptsÚcompilerÚ	plat_namer   r   Ú
executableÚparallel©Úselfr   r   r	   Úinitialize_options4   s    zbuild.initialize_optionsc                 C   st  | j d krtƒ | _ ntjdkr&tdƒ‚d| j › dtjj› �}t 	d¡rN|d7 }t
tdƒr`|d7 }| jd kr|tj | jd	¡| _| jd krœtj | jd	| ¡| _| jd krÂ| j ¡ rº| j| _n| j| _| jd krâtj | jd
| ¡| _| jd k�rtj | jdtjd d…  ¡| _| jd k�r2tj�r2tj tj¡| _t| jtƒ�rpzt| jƒ| _W n tk
�rn   tdƒ‚Y nX d S )NÚntzW--plat-name only supported on Windows (try using './configure --help' on your platform)Ú.ú-ÚPy_GIL_DISABLEDr   Úgettotalrefcountz-pydebugÚlibÚtempzscripts-%d.%dr   zparallel should be an integer)r   r   ÚosÚnamer   ÚsysÚimplementationÚ	cache_tagÚ	sysconfigÚget_config_varÚhasattrr   ÚpathÚjoinr   r   r   ÚdistributionÚhas_ext_modulesr   r   Úversion_infor   ÚnormpathÚ
isinstancer   ÚstrÚintÚ
ValueError)r!   Úplat_specifierr   r   r	   Úfinalize_optionsD   sB    


ÿ







 ÿzbuild.finalize_optionsc                 C   s   |   ¡ D ]}|  |¡ qd S ©N)Úget_sub_commandsÚrun_command)r!   Úcmd_namer   r   r	   Úrun€   s    z	build.runc                 C   s
   | j  ¡ S r>   )r4   Úhas_pure_modulesr    r   r   r	   rC   ‹   s    zbuild.has_pure_modulesc                 C   s
   | j  ¡ S r>   )r4   Úhas_c_librariesr    r   r   r	   rD   Ž   s    zbuild.has_c_librariesc                 C   s
   | j  ¡ S r>   )r4   r5   r    r   r   r	   r5   ‘   s    zbuild.has_ext_modulesc                 C   s
   | j  ¡ S r>   )r4   Úhas_scriptsr    r   r   r	   rE   ”   s    zbuild.has_scriptsÚbuild_pyÚ
build_clibÚ	build_extr   )Ú__name__Ú
__module__Ú__qualname__Údescriptionr   Úuser_optionsÚboolean_optionsr   Úhelp_optionsr"   r=   rB   rC   rD   r5   rE   Úsub_commandsr   r   r   r	   r
      s@   ýì
ÿ<ür
   )Ú__doc__r*   r,   r/   Úcorer   Úerrorsr   Úutilr   r   r
   r   r   r   r	   Ú<module>   s   