HEX
Server: Apache
System: Linux p3plzcpnl506847.prod.phx3.secureserver.net 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User: slfopp7cb1df (5698090)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/python38/lib/python3.8/site-packages/setuptools/command/__pycache__/build_ext.cpython-38.pyc
U

�i�_�2�
@s�ddlZddlZddlZddlmZddlmZddlm	Z	ddl
mZmZddl
mZddlmZddlmZdd	lmZejr�ddlZd
d�e��D�ZnddlmZzddlmZed
�Wnek
r�eZYnXed�ddl
mZdd�Z dZ!dZ"dZ#ej$dk�rdZ"n>ej%dk�rTzddl&Z&e'e&d�Z"Z!Wnek
�rRYnXdd�Z(dd�Z)Gdd�de�Ze"�s�ej%dk�r�d"dd�Z*nd Z#d#d!d�Z*dS)$�N)�	build_ext)�	copy_file)�new_compiler)�customize_compiler�get_config_var)�DistutilsError)�log)�Library)�sixcCs g|]\}}}|tjkr|�qS�)�imp�C_EXTENSION)�.0�s�_�tprr�@/tmp/pip-unpacked-wheel-tlqm5ymo/setuptools/command/build_ext.py�
<listcomp>s
r��EXTENSION_SUFFIXESzCython.Compiler.Main�LDSHARED)�_config_varsc	CsZtjdkrNt��}z$dtd<dtd<dtd<t|�W5t��t�|�Xnt|�dS)N�darwinz0gcc -Wl,-x -dynamiclib -undefined dynamic_lookuprz -dynamiclib�CCSHAREDz.dylib�SO)�sys�platform�_CONFIG_VARS�copy�clear�updater)�compiler�tmprrr�_customize_compiler_for_shlib$s
�r#FZsharedrT�nt�RTLD_NOWcCstr|SdS)N�)�	have_rtld)rrrr�if_dlFsr(cCs.tD]$}d|kr|S|dkr|SqdS)z;Return the file extension for an abi3-compliant Extension()z.abi3z.pydNr)�suffixrrr�get_abi3_suffixJs
r*c@sveZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zddd�ZdS)rcCs.|jd}|_t�|�||_|r*|��dS)z;Build extensions in build directory, then copy if --inplacerN)Zinplace�
_build_ext�run�copy_extensions_to_source)�selfZold_inplacerrrr,Ts

z
build_ext.runc
Cs�|�d�}|jD]�}|�|j�}|�|�}|�d�}d�|dd��}|�|�}tj	�|tj	�
|��}tj	�|j|�}	t|	||j
|jd�|jr|�|p�tj|d�qdS)N�build_py�.���)�verbose�dry_runT)�get_finalized_command�
extensions�get_ext_fullname�name�get_ext_filename�split�joinZget_package_dir�os�path�basename�	build_librr2r3�_needs_stub�
write_stub�curdir)
r.r/�ext�fullname�filename�modpath�package�package_dirZ
dest_filenameZsrc_filenamerrrr-\s&





��z#build_ext.copy_extensions_to_sourcecCs�t�||�}||jkr�|j|}tjo6t|d�o6t�}|r`td�}|dt|��}|t�}t	|t
�r�tj�
|�\}}|j�|t�Str�|jr�tj�|�\}}tj�|d|�S|S)NZpy_limited_api�
EXT_SUFFIXzdl-)r+r8�ext_mapr
�PY2�getattrr*r�len�
isinstancer	r;r<�splitext�shlib_compiler�library_filename�libtype�	use_stubs�_links_to_dynamicr9r:)r.rCrDrBZuse_abi3Zso_ext�fn�drrrr8rs&

��


zbuild_ext.get_ext_filenamecCs t�|�d|_g|_i|_dS�N)r+�initialize_optionsrO�shlibsrI�r.rrrrW�s
zbuild_ext.initialize_optionscCs,t�|�|jpg|_|�|j�dd�|jD�|_|jrB|��|jD]}|�|j�|_qH|jD]�}|j}||j	|<||j	|�
d�d<|jr�|�|�p�d}|o�to�t
|t�}||_||_|�|�}|_tj�tj�|j|��}|�r||jk�r|j�|�|rbtrbtj|jkrb|j�tj�qbdS)NcSsg|]}t|t�r|�qSr)rMr	�rrBrrrr�s
�z.build_ext.finalize_options.<locals>.<listcomp>r0r1F)r+�finalize_optionsr5Zcheck_extensions_listrX�setup_shlib_compilerr6r7�
_full_namerIr9�links_to_dynamicrRrMr	rSr?r8�
_file_namer;r<�dirnamer:r>�library_dirs�appendrA�runtime_library_dirs)r.rBrCZltd�nsrDZlibdirrrrr[�s,



zbuild_ext.finalize_optionscCs�t|j|j|jd�}|_t|�|jdk	r8|�|j�|jdk	r^|jD]\}}|�	||�qH|j
dk	r~|j
D]}|�|�qn|jdk	r�|�
|j�|jdk	r�|�|j�|jdk	r�|�|j�|jdk	r�|�|j�t�|�|_dS)N)r!r3�force)rr!r3rerOr#�include_dirsZset_include_dirsZdefineZdefine_macroZundefZundefine_macro�	librariesZ
set_librariesraZset_library_dirsZrpathZset_runtime_library_dirsZlink_objectsZset_link_objects�link_shared_object�__get__)r.r!r7�valueZmacrorrrr\�s.�







zbuild_ext.setup_shlib_compilercCst|t�r|jSt�||�SrV)rMr	�export_symbolsr+�get_export_symbols�r.rBrrrrl�s
zbuild_ext.get_export_symbolscCs\|��|j}z@t|t�r"|j|_t�||�|jrL|�d�j	}|�
||�W5||_XdS)Nr/)Z_convert_pyx_sources_to_langr!rMr	rOr+�build_extensionr?r4r>r@)r.rBZ	_compiler�cmdrrrrn�s
zbuild_ext.build_extensioncsPt�dd�|jD���d�|j�d�dd�dg��t��fdd�|jD��S)	z?Return true if 'ext' links to a dynamic lib in the same packagecSsg|]
}|j�qSr)r])r�librrrr�sz.build_ext.links_to_dynamic.<locals>.<listcomp>r0Nr1r&c3s|]}�|�kVqdSrVr)rZlibname�Zlibnames�pkgrr�	<genexpr>�sz-build_ext.links_to_dynamic.<locals>.<genexpr>)�dict�fromkeysrXr:r]r9�anyrgrmrrqrr^�s zbuild_ext.links_to_dynamiccCst�|�|��SrV)r+�get_outputs�_build_ext__get_stubs_outputsrYrrrrw�szbuild_ext.get_outputscs6�fdd��jD�}t�|����}tdd�|D��S)Nc3s0|](}|jrtjj�jf|j�d���VqdS)r0N)r?r;r<r:r>r]r9rZrYrrrs�s�z0build_ext.__get_stubs_outputs.<locals>.<genexpr>css|]\}}||VqdSrVr)r�baseZfnextrrrrs�s)r5�	itertools�product�!_build_ext__get_output_extensions�list)r.Zns_ext_bases�pairsrrYrZ__get_stubs_outputs�s

�zbuild_ext.__get_stubs_outputsccs"dVdV|�d�jrdVdS)N�.pyz.pycr/z.pyo)r4�optimizerYrrrZ__get_output_extensions�sz!build_ext.__get_output_extensionsFcCs,t�d|j|�tjj|f|j�d���d}|rJtj�|�rJt|d��|j	s�t
|d�}|�d�ddd	td
�dtj�
|j�dd
dtd�dddtd�ddtd�dddg��|��|�r(ddlm}||gdd|j	d�|�d�j}|dk�r||g|d|j	d�tj�|��r(|j	�s(t�|�dS)Nz writing stub loader for %s to %sr0rz already exists! Please delete.�w�
zdef __bootstrap__():z-   global __bootstrap__, __file__, __loader__z%   import sys, os, pkg_resources, impz, dlz:   __file__ = pkg_resources.resource_filename(__name__,%r)z   del __bootstrap__z    if '__loader__' in globals():z       del __loader__z#   old_flags = sys.getdlopenflags()z   old_dir = os.getcwd()z   try:z(     os.chdir(os.path.dirname(__file__))z$     sys.setdlopenflags(dl.RTLD_NOW)z(     imp.load_dynamic(__name__,__file__)z   finally:z"     sys.setdlopenflags(old_flags)z     os.chdir(old_dir)z__bootstrap__()r&r)�byte_compileT)r�rer3�install_lib)r�infor]r;r<r:r9�existsrr3�open�writer(r=r_�close�distutils.utilr�r4r��unlink)r.�
output_dirrB�compileZ	stub_file�fr�r�rrrr@�sb
��

����
�zbuild_ext.write_stubN)F)�__name__�
__module__�__qualname__r,r-r8rWr[r\rlrnr^rwrxr|r@rrrrrSs
	rc

Cs(|�|j|||||||||	|
||�
dSrV)�linkZSHARED_LIBRARY)
r.�objects�output_libnamer�rgrarcrk�debug�
extra_preargs�extra_postargs�
build_temp�target_langrrrrh&s�rhZstaticc
Cs^|dkst�tj�|�\}}
tj�|
�\}}|�d��d�rH|dd�}|�|||||�dS)N�xrp�)�AssertionErrorr;r<r9rNrP�
startswithZcreate_static_lib)r.r�r�r�rgrarcrkr�r�r�r�r�rDr=rBrrrrh5s�)
NNNNNrNNNN)
NNNNNrNNNN)+r;rrzZdistutils.command.build_extrZ
_du_build_ext�distutils.file_utilr�distutils.ccompilerr�distutils.sysconfigrr�distutils.errorsr�	distutilsrZsetuptools.extensionr	Zsetuptools.externr
rJrZget_suffixesr�importlib.machineryZCython.Distutils.build_extr+�
__import__�ImportErrorrrr#r'rRrQrr7�dl�hasattrr(r*rhrrrr�<module>s~�
	Q�
�