HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.7/site-packages/setuptools/command/__pycache__/build_ext.cpython-37.pyc
B

N��g�=�
@s�ddlZddlZddlZddlmZddlmZddlm	Z	m
Z
mZmZddl
mZddlmZddlmZmZddlmZdd	lmZdd
lmZmZyddlmZed�Wnek
r�eZYnXed�dd
lm Z!dd�Z"dZ#dZ$dZ%ej&dk�rdZ$n>ej'dk�rByddl(Z(e)e(d�Z$Z#Wnek
�r@YnXdd�Z*dd�Z+Gdd�de�Ze$�stej'dk�r�d dd�Z,ndZ%d!dd�Z,dS)"�N)�EXTENSION_SUFFIXES)�cache_from_source)�Dict�Iterator�List�Tuple)�	build_ext)�new_compiler)�customize_compiler�get_config_var)�log)�	BaseError)�	Extension�LibraryzCython.Compiler.Main�LDSHARED)�_config_varsc	CsZtjdkrNt��}z$dtd<dtd<dtd<t|�Wdt��t�|�Xnt|�dS)N�darwinz0gcc -Wl,-x -dynamiclib -undefined dynamic_lookuprz -dynamiclib�CCSHAREDz.dylib�SO)�sys�platform�_CONFIG_VARS�copyr
�clear�update)�compiler�tmp�r�@/tmp/pip-unpacked-wheel-yrlplx0q/setuptools/command/build_ext.py�_customize_compiler_for_shlibs
rFZsharedrT�nt�RTLD_NOWcCstr|SdS)N�)�	have_rtld)�srrr�if_dl@sr%cCs*x$tD]}d|kr|S|dkr|SqWdS)z;Return the file extension for an abi3-compliant Extension()z.abi3z.pydN)r)�suffixrrr�get_abi3_suffixDs

r'c@seZdZUdZeed<dZeed<dd�Zee	e
e
fd�dd�Zd	d
�Zee
e
d�dd
�Z
ee	e
e
fd�dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zee
d�dd �Zee
e
fd�d!d"�Zd#d$�Zd%d&�Zd0d'd(�Zd1e
ed)�d*d+�Ze
d,�d-d.�Zd/S)2rF�
editable_mode�inplacecCs.|jd}|_t�|�||_|r*|��dS)z;Build extensions in build directory, then copy if --inplacerN)r)�
_build_ext�run�copy_extensions_to_source)�selfZold_inplacerrrr+Qs

z
build_ext.run)�ext�returnc
Csj|�|j�}|�|�}|�d�}d�|dd��}|�|�}tj�|tj�|��}tj�|j	|�}	||	fS)N�.���)
�get_ext_fullname�name�get_ext_filename�split�joinZget_package_dir�os�path�basename�	build_lib)
r-�build_pyr.�fullname�filenameZmodpath�package�package_dir�inplace_file�regular_filerrr�_get_inplace_equivalentYs


z!build_ext._get_inplace_equivalentcCst|�d�}xd|jD]Z}|�||�\}}tj�|�s8|jsJ|j|||jd�|j	r|�
||�}|j||dd�qWdS)Nr;)�levelT)�compile)�get_finalized_command�
extensionsrBr7r8�exists�optional�	copy_file�verbose�_needs_stub�_get_equivalent_stub�_write_stub_file)r-r;r.r@rA�inplace_stubrrrr,cs
z#build_ext.copy_extensions_to_source)r.�output_filer/cCs2tj�|�}|j�d�\}}}tj�||��d�S)Nr0z.py)r7r8�dirnamer3�
rpartitionr6)r-r.rOZdir_�_r3rrrrLtszbuild_ext._get_equivalent_stub)r/c
cs�|js
dS|�d�}|�d�jp"d}xh|jD]^}|�||�\}}||fV|jr,|�||�}|�||�}t||d�}t||d�}	|	|fVq,WdS)Nr;�install_libr")�optimization)r)rE�optimizerFrBrKrL�_compiled_file_name)
r-r;�optr.r@rArNZregular_stubZ
inplace_cacheZoutput_cacherrr�_get_output_mappingys

zbuild_ext._get_output_mappingcCs�t�d�}|r&tjj|�d��|}nt�||�}td�}||jkr�|j|}t	|d�o\t
�}|r�|dt|��}t
�}||}t|t
�r�tj�|�\}}|j�|t�Str�|jr�tj�|�\}}tj�|d|�S|S)NZSETUPTOOLS_EXT_SUFFIXr0�
EXT_SUFFIXZpy_limited_apizdl-)r7�getenvr8r6r5r*r4r�ext_map�getattrr'�len�
isinstancer�splitext�shlib_compiler�library_filename�libtype�	use_stubs�_links_to_dynamic)r-r<Zso_extr=r.Zuse_abi3�fn�drrrr4�s&




zbuild_ext.get_ext_filenamecCs&t�|�d|_g|_i|_d|_dS)NF)r*�initialize_optionsr`�shlibsr[r()r-rrrrg�s

zbuild_ext.initialize_optionscCsBt�|�|jpg|_|�|j�dd�|jD�|_|jrB|��x|jD]}|�|j�|_qJWx�|jD]�}|j}||j	|<||j	|�
d�d<|jr�|�|�p�d}|o�to�t
|t�}||_||_|�|�}|_tj�tj�|j|��}|�r
||jk�r
|j�|�|rhtrhtj|jkrh|j�tj�qhW|j�r>d|_dS)NcSsg|]}t|t�r|�qSr)r^r)�.0r.rrr�
<listcomp>�sz.build_ext.finalize_options.<locals>.<listcomp>r0r1FT)r*�finalize_optionsrFZcheck_extensions_listrh�setup_shlib_compilerr2r3�
_full_namer[r5�links_to_dynamicrcr^rrdrKr4�
_file_namer7r8rPr6r:�library_dirs�append�curdir�runtime_library_dirsr(r))r-r.r<Zltd�nsr=Zlibdirrrrrk�s0

zbuild_ext.finalize_optionscCs�t|j|j|jd�}|_t|�|jdk	r8|�|j�|jdk	rbx|jD]\}}|�	||�qJW|j
dk	r�x|j
D]}|�|�qtW|jdk	r�|�
|j�|jdk	r�|�|j�|jdk	r�|�|j�|jdk	r�|�|j�t�|�|_dS)N)r�dry_run�force)r	rrurvr`r�include_dirsZset_include_dirsZdefineZdefine_macroZundefZundefine_macro�	librariesZ
set_librariesrpZset_library_dirsZrpathZset_runtime_library_dirsZlink_objectsZset_link_objects�link_shared_object�__get__)r-rr3�value�macrorrrrl�s(






zbuild_ext.setup_shlib_compilercCst|t�r|jSt�||�S)N)r^r�export_symbolsr*�get_export_symbols)r-r.rrrr~�s
zbuild_ext.get_export_symbolscCs\|��|j}z@t|t�r"|j|_t�||�|jrL|�d�j	}|�
||�Wd||_XdS)Nr;)Z_convert_pyx_sources_to_langrr^rr`r*�build_extensionrKrEr:�
write_stub)r-r.Z	_compilerr:rrrr�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)rm)ri�librrrrjsz.build_ext.links_to_dynamic.<locals>.<listcomp>r0Nr1r"c3s|]}�|�kVqdS)Nr)riZlibname)�libnames�pkgrr�	<genexpr>sz-build_ext.links_to_dynamic.<locals>.<genexpr>)�dict�fromkeysrhr6rmr5�anyrx)r-r.r)r�r�rrn�s zbuild_ext.links_to_dynamiccCs,|jrt|�����Stt�|�|���S)N)r)�list�get_output_mapping�keys�sortedr*�get_outputs�_build_ext__get_stubs_outputs)r-rrrr�szbuild_ext.get_outputscCs|��}tt|dd�d��S)z1See :class:`setuptools.commands.build.SubCommand`cSs|dS)Nrr)�xrrr�<lambda>�z.build_ext.get_output_mapping.<locals>.<lambda>)�key)rXr�r�)r-�mappingrrrr�szbuild_ext.get_output_mappingcs6�fdd��jD�}t�|����}tdd�|D��S)Nc3s0|](}|jrtjj�jf|j�d���VqdS)r0N)rKr7r8r6r:rmr5)rir.)r-rrr�sz0build_ext.__get_stubs_outputs.<locals>.<genexpr>css|]\}}||VqdS)Nr)ri�baseZfnextrrrr�s)rF�	itertools�product�!_build_ext__get_output_extensionsr�)r-Zns_ext_bases�pairsr)r-rZ__get_stubs_outputss

zbuild_ext.__get_stubs_outputsccs"dVdV|�d�jrdVdS)Nz.pyz.pycr;z.pyo)rErU)r-rrrZ__get_output_extensionssz!build_ext.__get_output_extensionscCs0tjj|f|j�d���d}|�|||�dS)Nr0z.py)r7r8r6rmr5rM)r-�
output_dirr.rD�	stub_filerrrr�!szbuild_ext.write_stub)r�r.cCs�t�d|j|�|r,tj�|�r,t|d��|js�t|d�}|�	d�
dddtd�d	tj�|j
�d
ddtd
�dddtd�dddddtd�dddg��|��|r�|�|�dS)Nz writing stub loader for %s to %sz already exists! Please delete.�w�
zdef __bootstrap__():z-   global __bootstrap__, __file__, __loader__z0   import sys, os, pkg_resources, importlib.utilz, 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)z3     spec = importlib.util.spec_from_file_location(z#                __name__, __file__)z0     mod = importlib.util.module_from_spec(spec)z!     spec.loader.exec_module(mod)z   finally:z"     sys.setdlopenflags(old_flags)z     os.chdir(old_dir)z__bootstrap__()r")r�informr7r8rGr
ru�open�writer6r%r9ro�close�_compile_and_remove_stub)r-r�r.rD�frrrrM%sB

zbuild_ext._write_stub_file)r�cCshddlm}||gdd|jd�|�d�j}|dkrH||g|d|jd�tj�|�rd|jsdt�|�dS)Nr)�byte_compileT)rUrvrurS)	�distutils.utilr�rurErUr7r8rG�unlink)r-r�r�rUrrrr�Ksz"build_ext._compile_and_remove_stubN)F)F) �__name__�
__module__�__qualname__r(�bool�__annotations__r)r+rr�strrBr,rLrrXr4rgrkrlr~rrnrr�rr�r�r�r�rMr�rrrrrMs*

 
	
&rc

Cs(|�|j|||||||||	|
||�
dS)N)�linkZSHARED_LIBRARY)
r-�objects�output_libnamer�rxrprsr}�debug�
extra_preargs�extra_postargs�
build_temp�target_langrrrry[s
ryZstaticc
Cs^|dkst�tj�|�\}}
tj�|
�\}}|�d��d�rH|dd�}|�|||||�dS)Nr�r��)�AssertionErrorr7r8r5r_ra�
startswithZcreate_static_lib)r-r�r�r�rxrprsr}r�r�r�r�r�r=r9r.rrrryjs)
NNNNNrNNNN)
NNNNNrNNNN)-r7rr��importlib.machineryr�importlib.utilrrV�typingrrrrZdistutils.command.build_extrZ
_du_build_ext�distutils.ccompilerr	�distutils.sysconfigr
r�	distutilsrZsetuptools.errorsr
Zsetuptools.extensionrrZCython.Distutils.build_extr*�
__import__�ImportErrorrrrr#rcrbrr3�dl�hasattrr%r'ryrrrr�<module>sZ