???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................3

  \t                 @   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)Zdistutils.ccompilerr   )r    r   //usr/lib64/python3.6/distutils/command/build.pyr      s    r   c               @   s   e Zd ZdZd8d9d:d<d=d>ddde  fd?d@dAdBdCg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d0d1 Zd2d3 Zd4efd5efd6efd7efgZdS )Dbuildz"build everything needed to installbuild-base=b base directory for build librarybuild-purelib=N2build directory for platform-neutral distributionsbuild-platlib=3build directory for platform-specific distributions
build-lib=z9build directory for all distribution (defaults to either zbuild-purelib or build-platlibbuild-scripts=build directory for scriptsbuild-temp=ttemporary build directoryz
plat-name=pz6platform name to build for, if supported (default: %s)	compiler=cspecify the compiler type	parallel=jnumber of parallel build jobsdebugg;compile extensions and libraries with debugging informationforcef2forcibly build everything (ignore file timestamps)executable=e5specify final destination interpreter path (build.py)zhelp-compilerz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_scriptsZcompiler	plat_namer   r    
executableparallel)selfr   r   r   initialize_options8   s    zbuild.initialize_optionsc             C   sZ  | 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
| jd| _| jd krtj	j
| jd| | _| jd kr| jjr| j| _n| j| _| jd krtj	j
| jd| | _| jd krtj	j
| jd	tjd d  | _| jd krtj	jtj| _t| jtrVyt| j| _W n tk
rT   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libZtempzscripts-%d.%dzparallel should be an integer)r,   r   osnamer   sysversion_infohasattrr'   pathjoinr&   r(   r)   distributionZext_modulesr*   r+   r-   normpath
isinstancer.   strint
ValueError)r/   Zplat_specifierr   r   r   finalize_optionsH   s<    












zbuild.finalize_optionsc             C   s    x| j  D ]}| j| q
W d S )N)Zget_sub_commandsZrun_command)r/   Zcmd_namer   r   r   run   s    z	build.runc             C   s
   | j j S )N)r<   has_pure_modules)r/   r   r   r   rD      s    zbuild.has_pure_modulesc             C   s
   | j j S )N)r<   has_c_libraries)r/   r   r   r   rE      s    zbuild.has_c_librariesc             C   s
   | j j S )N)r<   has_ext_modules)r/   r   r   r   rF      s    zbuild.has_ext_modulesc             C   s
   | j j S )N)r<   has_scripts)r/   r   r   r   rG      s    zbuild.has_scriptsZbuild_pyZ
build_clibZ	build_extr+   )r	   r
   r   )r   Nr   )r   Nr   Wbuild directory for all distribution (defaults to either build-purelib or build-platlib)r   NrH   )r   Nr   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r    r!   r"   )r#   r$   r%   )__name__
__module____qualname__Zdescriptionr   Zuser_optionsZboolean_optionsr   Zhelp_optionsr0   rB   rC   rD   rE   rF   rG   Zsub_commandsr   r   r   r   r      sR               
8r   )__doc__r7   r5   Zdistutils.corer   Zdistutils.errorsr   Zdistutils.utilr   r   r   r   r   r   r   <module>   s   