§
    ZQd‡  ã                   ó`   — 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
dS )	zBdistutils.command.build

Implements the Distutils 'build' command.é    N)ÚCommand)ÚDistutilsOptionError)Úget_platformc                  ó&   — ddl m}   | ¦   «          d S )Nr   ©Úshow_compilers)Údistutils.ccompilerr   r   s    ú./usr/lib/python3.11/distutils/command/build.pyr   r      s(   € Ø2Ð2Ð2Ð2Ð2Ð2Ø€NÑÔÐÐÐó    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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                 ó®   — 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©Úselfs    r
   Úinitialize_optionszbuild.initialize_options8   s_   € Ø!ˆŒð "ˆÔØ!ˆÔØˆŒØˆŒØ!ˆÔØˆŒØˆŒØˆŒ
ØˆŒ
ØˆŒØˆŒˆˆr   c                 ó,  — | j         €t          ¦   «         | _         nt          j        dk    rt	          d¦  «        ‚d| j         gt
          j        d d…         ¢R z  }t          t
          d¦  «        r|dz  }| j        €*t          j	         
                    | j        d¦  «        | _        | j        €-t          j	         
                    | j        d|z   ¦  «        | _        | j        €%| j        j        r| j        | _        n| j        | _        | j        €-t          j	         
                    | j        d|z   ¦  «        | _        | j        €?t          j	         
                    | j        d	t
          j        d d…         z  ¦  «        | _        | j        €:t
          j        r.t          j	                             t
          j        ¦  «        | _        t)          | j        t,          ¦  «        r9	 t/          | j        ¦  «        | _        d S # t0          $ r t	          d
¦  «        ‚w xY w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Úext_modulesr   r   r!   ÚnormpathÚ
isinstancer"   ÚstrÚintÚ
ValueError)r$   Úplat_specifiers     r
   Úfinalize_optionszbuild.finalize_optionsH   s  € ØŒ>Ð!Ý)™^œ^ˆDŒNˆNõ
 Œw˜$ŠˆÝ*ðKñLô Lð Lð %¨¬Ð'N½Ô9IÈ"È1È"Ô9MÐ'NÐ'NÑNˆõ
 •3Ð*Ñ+Ô+ð 	)Ø˜jÑ(ˆNð
 ÔÐ%Ý!#¤§¢¨d¬o¸uÑ!EÔ!EˆDÔØÔÐ%Ý!#¤§¢¨d¬oØ.3°nÑ.Dñ"Fô "FˆDÔð Œ>Ð!ØÔ Ô,ð 4Ø!%Ô!3�”�à!%Ô!3�”ð Œ?Ð"Ý œgŸlšl¨4¬?Ø+1°NÑ+BñDô DˆDŒOàÔÐ%Ý!#¤§¢¨d¬oØ.=ÅÔ@PÐQSÐRSÐQSÔ@TÑ.Tñ"Vô "VˆDÔð Œ?Ð"¥s¤~Ð"Ý œg×.Ò.­s¬~Ñ>Ô>ˆDŒOå�d”m¥SÑ)Ô)ð 	LðLÝ # D¤MÑ 2Ô 2�”��øÝð Lð Lð LÝ*Ð+JÑKÔKÐKðLøøøð	Lð 	Ls   ÇG7 Ç7Hc                 ó^   — |                       ¦   «         D ]}|                      |¦  «         Œd S ©N)Úget_sub_commandsÚrun_command)r$   Úcmd_names     r
   Úrunz	build.run€   s@   € ð ×-Ò-Ñ/Ô/ð 	'ð 	'ˆHØ×Ò˜XÑ&Ô&Ð&Ð&ð	'ð 	'r   c                 ó4   — | j                              ¦   «         S r=   )r3   Úhas_pure_modulesr#   s    r
   rC   zbuild.has_pure_modulesŒ   s   € ØÔ ×1Ò1Ñ3Ô3Ð3r   c                 ó4   — | j                              ¦   «         S r=   )r3   Úhas_c_librariesr#   s    r
   rE   zbuild.has_c_libraries�   ó   € ØÔ ×0Ò0Ñ2Ô2Ð2r   c                 ó4   — | j                              ¦   «         S r=   )r3   Úhas_ext_modulesr#   s    r
   rH   zbuild.has_ext_modules’   rF   r   c                 ó4   — | j                              ¦   «         S r=   )r3   Úhas_scriptsr#   s    r
   rJ   zbuild.has_scripts•   s   € ØÔ ×,Ò,Ñ.Ô.Ð.r   Úbuild_pyÚ
build_clibÚ	build_extr   )Ú__name__Ú
__module__Ú__qualname__Údescriptionr   Úuser_optionsÚboolean_optionsr   Úhelp_optionsr%   r;   rA   rC   rE   rH   rJ   Úsub_commands© r   r
   r   r      s,  € € € € € à6€Kð	-ð	?ð	@ð	+ð	(ð	&à	�sð
Ø'˜<™>œ>ñ
*ð	+ð	&ð	*ð	Hð	?ð	Bð3
€Lð:  Ð(€Oð 
˜$Ø	# ^ð	5ð
€Lð
ð ð ð 6Lð 6Lð 6Lðp'ð 'ð 'ð4ð 4ð 4ð3ð 3ð 3ð3ð 3ð 3ð/ð /ð /ð  Ð&6Ð7Ø! oÐ6Ø  oÐ6Ø$ kÐ2ð€L€L€Lr   r   )Ú__doc__r.   r,   Údistutils.corer   Údistutils.errorsr   Údistutils.utilr   r   r   rV   r   r
   ú<module>r[      s¥   ðð-ð -ð €€€€€€€Ø "Ð "Ð "Ð "Ð "Ð "Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'ðð ð ð
Mð Mð Mð Mð MˆGñ Mô Mð Mð Mð Mr   