o bc@sTdZddlZddlZddlmZddlmZddlmZddZ Gdd d eZ dS) zBdistutils.command.build Implements the Distutils 'build' command.N)Command)DistutilsOptionError) get_platformcCsddlm}|dS)Nrshow_compilers)distutils.ccompilerrrr./usr/lib/python3.10/distutils/command/build.pyr s  rc @seZdZdZdddddddd d efd d d ddg ZddgZdddefgZddZ ddZ ddZ ddZ ddZ dd Zd!d"Zd#e fd$e fd%efd&efgZdS)'buildz"build everything needed to install)z build-base=bz base directory for build library)zbuild-purelib=Nz2build directory for platform-neutral distributions)zbuild-platlib=Nz3build directory for platform-specific distributions)z build-lib=NzWbuild directory for all distribution (defaults to either build-purelib or build-platlib)zbuild-scripts=Nzbuild directory for scripts)z build-temp=tztemporary build directoryz plat-name=pz6platform name to build for, if supported (default: %s))z compiler=czspecify the compiler type)z parallel=jznumber of parallel build jobs)debuggz;compile extensions and libraries with debugging information)forcefz2forcibly build everything (ignore file timestamps))z executable=ez5specify final destination interpreter path (build.py)rrz help-compilerNzlist available compilerscCsLd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ dS)Nr r) build_base build_purelib build_platlib build_lib build_temp build_scriptscompiler plat_namerr executableparallelselfrrr initialize_options8s zbuild.initialize_optionscCsX|jdur t|_n tjdkrtdd|jgtjddR}ttdr*|d7}|jdur8tj |j d|_|j durHtj |j d||_ |j durZ|jjrV|j |_ n|j|_ |jdurjtj |j d||_|jdurtj |j d tjdd|_|jdurtjrtj tj|_t|jtrz t|j|_WdStytd wdS) NntzW--plat-name only supported on Windows (try using './configure --help' on your platform)z .%s-%d.%dgettotalrefcountz-pydebuglibtempz scripts-%d.%dzparallel should be an integer)rrosnamersys version_infohasattrrpathjoinrrr distribution ext_modulesrrrnormpath isinstancerstrint ValueError)r plat_specifierrrr finalize_optionsHsH               zbuild.finalize_optionscCs|D]}||qdSN)get_sub_commands run_command)r cmd_namerrr runs  z build.runcC |jSr7)r.has_pure_modulesrrrr r= zbuild.has_pure_modulescCr<r7)r.has_c_librariesrrrr r?r>zbuild.has_c_librariescCr<r7)r.has_ext_modulesrrrr r@r>zbuild.has_ext_modulescCr<r7)r. has_scriptsrrrr rAr>zbuild.has_scriptsbuild_py build_clib build_extr)__name__ __module__ __qualname__ descriptionr user_optionsboolean_optionsr help_optionsr!r6r;r=r?r@rA sub_commandsrrrr r sH8 r ) __doc__r)r'distutils.corerdistutils.errorsrdistutils.utilrrr rrrr s