a
    Sic                     @   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   _/var/www/html/django/DPS/env/lib/python3.9/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  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_options5   s    zbuild.initialize_optionsc                 C   sZ  | j d u rt | _ ntjdkr&tdd| j tjj}t	tdrJ|d7 }| j
d u rftj| jd| _
| jd u rtj| jd| | _| jd u r| j r| j| _n| j
| _| jd u rtj| jd| | _| jd u rtj| jdtjd d	  | _| jd u rtjrtjtj| _t| jtrVzt| j| _W n tyT   td
Y n0 d S )NntzW--plat-name only supported on Windows (try using './configure --help' on your platform)z.{}-{}gettotalrefcountz-pydebuglibZtempzscripts-%d.%d   zparallel should be an integer)r   r   osnamer   formatsysimplementation	cache_taghasattrr   pathjoinr   r   r   distributionhas_ext_modulesr   r   version_infor   normpath
isinstancer   strint
ValueError)r   Zplat_specifierr   r   r   finalize_optionsE   s<    










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	      sD   
8r	   )__doc__r(   r%   distutils.corer   distutils.errorsr   distutils.utilr   r   r	   r   r   r   r   <module>   s   