Your IP : 18.225.54.199
U
i�f� � @ sT d Z ddlZddlZddlmZ ddlmZ ddlmZ dd� Z G dd � d e�Z
dS )
zBdistutils.command.build
Implements the Distutils 'build' command.� N)�Command)�DistutilsOptionError)�get_platformc C s ddl m} | � d S )Nr ��show_compilers)Zdistutils.ccompilerr r � r �</opt/alt/python38/lib64/python3.8/distutils/command/build.pyr s r c @ s� e Zd ZdZdddddddd d
e� fddd
ddgZddgZdddefgZdd� Z dd� Z
dd� Zdd� Zdd� Z
dd � Zd!d"� Zd#efd$e
fd%efd&efgZdS )'�buildz"build everything needed to install)zbuild-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)zbuild-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)�debug�gz;compile extensions and libraries with debugging information)�force�fz2forcibly build everything (ignore file timestamps))zexecutable=�ez5specify final destination interpreter path (build.py)r r z
help-compilerNzlist 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_scriptsZcompiler� plat_namer r �
executable�parallel��selfr r r �initialize_options8 s zbuild.initialize_optionsc C sb | j d krt� | _ ntjdkr&td��d| j ftjd d� � }ttd�rR|d7 }| jd krntj �
| jd�| _| jd kr�tj �
| jd| �| _| j
d kr�| jjr�| j| _
n| j| _
| jd kr�tj �
| jd| �| _| jd kr�tj �
| jd tjd d� �| _| jd k�r tj�r tj �tj�| _t| jt��r^zt| j�| _W n tk
�r\ td
��Y nX d S )N�ntzW--plat-name only supported on Windows (try using './configure --help' on your platform)z .%s-%d.%d� Zgettotalrefcountz-pydebug�libZtempz
scripts-%d.%dzparallel should be an integer)r r �os�namer �sys�version_info�hasattrr �path�joinr r r �distributionZext_modulesr r r �normpath�
isinstancer �str�int�
ValueError)r Zplat_specifierr r r �finalize_optionsH sD
�
�
�
�zbuild.finalize_optionsc C s | � � D ]}| �|� qd S �N)Zget_sub_commandsZrun_command)r Zcmd_namer r r �run� s z build.runc C s
| j �� S r1 )r* �has_pure_modulesr r r r r3 � s zbuild.has_pure_modulesc C s
| j �� S r1 )r* �has_c_librariesr r r r r4 � s zbuild.has_c_librariesc C s
| j �� S r1 )r* �has_ext_modulesr r r r r5 � s zbuild.has_ext_modulesc C s
| j �� S r1 )r* �has_scriptsr r r r r6 � s zbuild.has_scriptsZbuild_pyZ
build_clibZ build_extr )�__name__�
__module__�__qualname__Zdescriptionr Zuser_optionsZboolean_optionsr Zhelp_optionsr r0 r2 r3 r4 r5 r6 Zsub_commandsr r r r r sH ��� ��8�r )�__doc__r% r# Zdistutils.corer Zdistutils.errorsr Zdistutils.utilr r r r r r r �<module> s