
    ,h#                        d Z ddlm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lmZ dd	lmZ dd
lmZ  G d de      Zy)zBdistutils.command.build

Implements the Distutils 'build' command.    )annotationsN)Callable)ClassVar   )show_compilers)Command)DistutilsOptionError)get_platformc                      e Zd ZU 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ed<   dddefgZ	ded<   d Z
d%dZd%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=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ClassVar[list[str]]boolean_optionszhelp-compilerNzlist available compilerszAClassVar[list[tuple[str, str | None, str, Callable[[], object]]]]help_optionsc                    d| _         d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d| _	        d | _
        d | _        y )Nr   F)
build_basebuild_purelibbuild_platlib	build_lib
build_tempbuild_scriptscompiler	plat_namer   r   
executableparallelselfs    e/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/setuptools/_distutils/command/build.pyinitialize_optionszbuild.initialize_options3   s[    ! "!!

    c                D   | j                   t               | _         nt        j                  dk7  rt	        d      d| j                    dt
        j                  j                   }t        j                  d      r|dz  }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(                  et        j                  j                  | j                  dt
        j*                  j,                   dt
        j*                  j.                         | _        | j0                  Bt
        j0                  r2t        j                  j3                  t
        j0                        | _        t5        | j6                  t8              r	 t;        | j6                        | _        y y # t<        $ r t	        d      w xY w)NntzW--plat-name only supported on Windows (try using './configure --help' on your platform).-Py_GIL_DISABLEDr   gettotalrefcountz-pydebuglibtempzscripts-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_infomajorminorr#   normpath
isinstancer$   strint
ValueError)r&   plat_specifiers     r'   finalize_optionszbuild.finalize_optionsC   s   >>!)^DN
 ww$*C 
 T^^,Ac.@.@.J.J-KL ##$56c!N
 3*+j(N
 %!#doou!ED%!#doou~?U!VD
 >>!  002!%!3!3!%!3!3 ??" ggll4??F^<STDO%!#3++112!C4D4D4J4J3KL"D
 ??"s~~ gg..s~~>DOdmmS)L #DMM 2 *  L*+JKKLs   .J
 
J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 rI   )r<   has_pure_modulesr%   s    r'   rO   zbuild.has_pure_modules   s      1133r)   c                6    | j                   j                         S rI   )r<   has_c_librariesr%   s    r'   rQ   zbuild.has_c_libraries         0022r)   c                6    | j                   j                         S rI   )r<   r=   r%   s    r'   r=   zbuild.has_ext_modules   rR   r)   c                6    | j                   j                         S rI   )r<   has_scriptsr%   s    r'   rU   zbuild.has_scripts   s      ,,..r)   build_py
build_clib	build_extr    )returnNone)__name__
__module____qualname__descriptionr
   user_optionsr   __annotations__r   r   r(   rG   rM   rO   rQ   r=   rU   sub_commands r)   r'   r   r      s    6K 	AVW	

 	@9A,.AQQRS	

 	8;ULU)L. -4W+=O(= 
$ :NKWLS  ;Lz'433/ 
%&	'	o&	+&	Lr)   r   )__doc__
__future__r   r2   r4   r7   collections.abcr   typingr   	ccompilerr   corer   errorsr	   utilr
   r   rb   r)   r'   <module>rk      s8   - # 	 
  $  &  ) IG Ir)   