
    df                     X    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 Z	 G d de      Z
y)	zBdistutils.command.build

Implements the Distutils 'build' command.    N)Command)DistutilsOptionError)get_platformc                      ddl m}   |         y )Nr   show_compilers)distutils.ccompilerr   r   s    \/home/api-vastappli/venv/lib/python3.12/site-packages/setuptools/_distutils/command/build.pyr   r      s    2    c                       e Zd ZdZdddddddd	d
 e       z  fdddddgZddgZdddefgZd Z	d Z
d Zd Zd Zd Zd ZdefdefdefdefgZy) 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                     d| _         d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d| _	        d | _
        d | _        y )Nr   r   )
build_basebuild_purelibbuild_platlib	build_lib
build_tempbuild_scriptscompiler	plat_namer   r   
executableparallelselfs    r
   initialize_optionszbuild.initialize_options5   s[    ! "!!

r   c                    | j                   t               | _         nt        j                  dk7  rt	        d      dj                  | j                   t        j                  j                        }t        t        d      r|dz  }| j                  /t        j                  j                  | j                  d      | _
        | j                  2t        j                  j                  | j                  d|z         | _        | j                  =| j                   j#                         r| j                  | _        n| j                  | _        | j$                  2t        j                  j                  | j                  d|z         | _        | j&                  Ct        j                  j                  | j                  dt        j(                  d d	 z        | _        | j*                  Bt        j*                  r2t        j                  j-                  t        j*                        | _        t/        | j0                  t2              r	 t5        | j0                        | _        y y # t6        $ r t	        d
      w xY w)NntzW--plat-name only supported on Windows (try using './configure --help' on your platform)z.{}-{}gettotalrefcountz-pydebuglib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$   plat_specifiers     r
   finalize_optionszbuild.finalize_optionsE   s   >>!)^DN
 ww$*C 
 "9K9K9U9UV
 3*+j(N
 %!#doou!ED%!#doou~?U!VD
 >>!  002!%!3!3!%!3!3 ??" ggll4??F^<STDO%!#33C3CBQ3G!G"D ??"s~~ gg..s~~>DOdmmS)L #DMM 2 *  L*+JKKLs   <I I-c                 P    | j                         D ]  }| j                  |        y N)get_sub_commandsrun_command)r$   cmd_names     r
   runz	build.run}   s*     --/ 	'HX&	'r   c                 6    | j                   j                         S r@   )r5   has_pure_modulesr#   s    r
   rF   zbuild.has_pure_modules   s      1133r   c                 6    | j                   j                         S r@   )r5   has_c_librariesr#   s    r
   rH   zbuild.has_c_libraries         0022r   c                 6    | j                   j                         S r@   )r5   r6   r#   s    r
   r6   zbuild.has_ext_modules   rI   r   c                 6    | j                   j                         S r@   )r5   has_scriptsr#   s    r
   rL   zbuild.has_scripts   s      ,,..r   build_py
build_clib	build_extr   )__name__
__module____qualname__descriptionr   user_optionsboolean_optionsr   help_optionsr%   r>   rD   rF   rH   r6   rL   sub_commands r   r
   r   r      s    6K 	AVW	
 	@9*n-	
 	8;ULU-L2 (O 
$ :NKL 6Lp'433/ 
%&	'	o&	+&	Lr   r   )__doc__r/   r,   distutils.corer   distutils.errorsr   distutils.utilr   r   r   rX   r   r
   <module>r]      s.   -  	 " 1 'GG Gr   