shell bypass 403
o
�?Og� � @ 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/python310/lib64/python3.10/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 sX | j d u r
t� | _ n tjdkrtd��d| j gtjd d� �R }ttd�r*|d7 }| jd u r8tj �
| jd�| _| jd u rHtj �
| jd| �| _| j
d u rZ| jjrV| j| _
n| j| _
| jd u rjtj �
| jd| �| _| jd u rtj �
| jd tjd d� �| _| jd u r�tjr�tj �tj�| _t| jt�r�z t| j�| _W d S ty� td
��w 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 sH
�
�
�
���zbuild.finalize_optionsc C s | � � D ]}| �|� qd S �N)Zget_sub_commandsZrun_command)r Zcmd_namer r r �run� s �z build.runc C �
| j �� S r1 )r* �has_pure_modulesr r r r r4 � �
zbuild.has_pure_modulesc C r3 r1 )r* �has_c_librariesr r r r r6 � r5 zbuild.has_c_librariesc C r3 r1 )r* �has_ext_modulesr r r r r7 � r5 zbuild.has_ext_modulesc C r3 r1 )r* �has_scriptsr r r r r8 � r5 zbuild.has_scriptsZbuild_pyZ
build_clibZ build_extr )�__name__�
__module__�__qualname__�descriptionr Zuser_optionsZboolean_optionsr Zhelp_optionsr r0 r2 r4 r6 r7 r8 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