
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
U
    š’a�  ã                   @   sT   d 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)Údistutils.ccompilerr   r   © r   úK/tmp/pip-install-7tp5dx2w/setuptools/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ƒ  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=Úpz6platform name to build for, if supported (default: %s))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
   r   )Ú
build_baseÚbuild_purelibÚbuild_platlibÚ	build_libÚ
build_tempÚbuild_scriptsÚcompilerÚ	plat_namer   r   Ú
executableÚparallel©Úselfr   r   r	   Úinitialize_options8   s    zbuild.initialize_optionsc                 C   sd  | j d krtƒ | _ ntjdkr&tdƒ‚d| j ftjd d… ˜ }ttdƒrR|d7 }| jd krnt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�r"tj�r"tj	 tj¡| _t| jtƒ�r`zt| jƒ| _W n tk
�r^   td
ƒ‚Y nX d S )NÚntzW--plat-name only supported on Windows (try using './configure --help' on your platform)z	.%s-%d.%dé   Úgettotalrefcountz-pydebugÚlibÚtempzscripts-%d.%dzparallel should be an integer)r   r   ÚosÚnamer   ÚsysÚversion_infoÚhasattrr   ÚpathÚjoinr   r   r   ÚdistributionÚhas_ext_modulesr   r   r   ÚnormpathÚ
isinstancer   ÚstrÚintÚ
ValueError)r    Úplat_specifierr   r   r	   Úfinalize_optionsH   sD    


ÿ



ÿ




ÿ

ÿ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 r7   )r.   Úhas_pure_modulesr   r   r   r	   r<   Œ   s    zbuild.has_pure_modulesc                 C   s
   | j  ¡ S r7   )r.   Úhas_c_librariesr   r   r   r	   r=   �   s    zbuild.has_c_librariesc                 C   s
   | j  ¡ S r7   )r.   r/   r   r   r   r	   r/   ’   s    zbuild.has_ext_modulesc                 C   s
   | j  ¡ S r7   )r.   Úhas_scriptsr   r   r   r	   r>   •   s    zbuild.has_scriptsÚbuild_pyÚ
build_clibÚ	build_extr   )Ú__name__Ú
__module__Ú__qualname__Údescriptionr   Úuser_optionsÚboolean_optionsr   Úhelp_optionsr!   r6   r;   r<   r=   r/   r>   Úsub_commandsr   r   r   r	   r
      sH   ÿÿç ÿÿ8ýr
   )Ú__doc__r)   r'   Údistutils.corer   Údistutils.errorsr   Údistutils.utilr   r   r
   r   r   r   r	   Ú<module>   s   