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.10/site-packages/setuptools/command/__pycache__/build_ext.cpython-310.pyc
o

��i�=�@s�ddlZddlZddlZddlmZddlmZddlm	Z	m
Z
mZmZddl
mZddlmZddlmZmZddlmZdd	lmZdd
lmZmZzddlmZed�WneyceZYnwed�dd
lm Z!dd�Z"dZ#dZ$dZ%ej&dkr�dZ$nej'dkr�z
ddl(Z(e)e(d�Z$Z#Wn	ey�Ynwdd�Z*dd�Z+Gdd�de�Ze$s�ej'dkr�				d dd�Z,dSdZ%				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	Csltjdkr0t��}zdtd<dtd<dtd<t|�Wt��t�|�dSt��t�|�wt|�dS)N�darwinz0gcc -Wl,-x -dynamiclib -undefined dynamic_lookuprz -dynamiclib�CCSHAREDz.dylib�SO)�sys�platform�_CONFIG_VARS�copyr�clear�update)�compiler�tmp�r�G/usr/local/lib/python3.10/site-packages/setuptools/command/build_ext.py�_customize_compiler_for_shlibs
�
�r FZsharedrT�nt�RTLD_NOWcCstr|SdS)N�)�	have_rtld)�srrr�if_dl@sr&cCs.tD]}d|vr|S|dkr|SqdS)z;Return the file extension for an abi3-compliant Extension()z.abi3z.pydNr)�suffixrrr�get_abi3_suffixDs��r(c@seZdZUdZeed<dZeed<dd�Zdede	e
e
ffdd	�Zd
d�Zdede
de
fd
d�Z
dee	e
e
ffdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdee
fdd �Zdee
e
ffd!d"�Zd#d$�Zd%d&�Zd/d'd(�Zd/d)e
defd*d+�Zd)e
fd,d-�Zd.S)0r	F�
editable_mode�inplacecCs2|jd}|_t�|�||_|r|��dSdS)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�filename�modpath�packageZpackage_dir�inplace_file�regular_filerrr�_get_inplace_equivalentYs


z!build_ext._get_inplace_equivalentcCsp|�d�}|jD]-}|�||�\}}tj�|�s|js$|j|||jd�|j	r5|�
||�}|j||dd�qdS)Nr<)�levelT)�compile)�get_finalized_command�
extensionsrCr8r9�exists�optional�	copy_file�verbose�_needs_stub�_get_equivalent_stub�_write_stub_file)r.r<r/rArB�inplace_stubrrrr-cs

��z#build_ext.copy_extensions_to_source�output_filecCs2tj�|�}|j�d�\}}}tj�||��d�S�Nr1�.py)r8r9�dirnamer4�
rpartitionr7)r.r/rPZdir_�_r4rrrrMtszbuild_ext._get_equivalent_stubc
cs��|jsdS|�d�}|�d�jpd}|jD]/}|�||�\}}||fV|jrE|�||�}|�||�}t||d�}t||d�}	|	|fVqdS)Nr<�install_libr#)�optimization)r*rF�optimizerGrCrLrM�_compiled_file_name)
r.r<�optr/rArBrOZregular_stubZ
inplace_cacheZoutput_cacherrr�_get_output_mappingys �



��zbuild_ext._get_output_mappingcCs�t�d�}|rtjj|�d��|}n
t�||�}td�}||jvrk|j|}t	|d�o.t
�}|rA|dt|��}t
�}||}t|t
�rUtj�|�\}}|j�|t�Strk|jrktj�|�\}}tj�|d|�S|S)NZSETUPTOOLS_EXT_SUFFIXr1�
EXT_SUFFIXZpy_limited_apizdl-)r8�getenvr9r7r6r+r5r�ext_map�getattrr(�len�
isinstancer�splitext�shlib_compiler�library_filename�libtype�	use_stubs�_links_to_dynamic)r.r=Zso_extr>r/Zuse_abi3�fn�drrrr5�s&




zbuild_ext.get_ext_filenamecCs&t�|�d|_g|_i|_d|_dS)NF)r+�initialize_optionsrc�shlibsr^r)�r.rrrrj�s


zbuild_ext.initialize_optionscCs8t�|�|jp	g|_|�|j�dd�|jD�|_|jr!|��|jD]	}|�|j�|_q$|jD]`}|j}||j	|<||j	|�
d�d<|jrM|�|�pNd}|oXtoXt
|t�}||_||_|�|�}|_tj�tj�|j|��}|r�||jvr�|j�|�|r�tr�tj|jvr�|j�tj�q1|jr�d|_dSdS)NcSsg|]	}t|t�r|�qSr)rar��.0r/rrr�
<listcomp>�s
�z.build_ext.finalize_options.<locals>.<listcomp>r1r2FT)r+�finalize_optionsrGZcheck_extensions_listrk�setup_shlib_compilerr3r4�
_full_namer^r6�links_to_dynamicrfrarrgrLr5�
_file_namer8r9rSr7r;�library_dirs�append�curdir�runtime_library_dirsr)r*)r.r/r=Zltd�nsr>�libdirrrrrp�s4



�
�zbuild_ext.finalize_optionscCs�t|j|j|jd�}|_t|�|jdur|�|j�|jdur/|jD]
\}}|�	||�q$|j
dur?|j
D]}|�|�q7|jdurJ|�
|j�|jdurU|�|j�|jdur`|�|j�|jdurk|�|j�t�|�|_dS)N)r�dry_run�force)r
rr{r|rcr Zinclude_dirsZset_include_dirsZdefineZdefine_macroZundefZundefine_macro�	librariesZ
set_librariesruZset_library_dirsZrpathZset_runtime_library_dirsZlink_objectsZset_link_objects�link_shared_object�__get__)r.rr4�valueZmacrorrrrq�s*�







zbuild_ext.setup_shlib_compilercCst|t�r|jSt�||�S�N)rar�export_symbolsr+�get_export_symbols�r.r/rrrr��s
zbuild_ext.get_export_symbolscCsl|��|j}z*t|t�r|j|_t�||�|jr,|�d�j	}|�
||�W||_dSW||_dS||_w)Nr<)Z_convert_pyx_sources_to_langrrarrcr+�build_extensionrLrFr;�
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)rr)rn�librrrrosz.build_ext.links_to_dynamic.<locals>.<listcomp>r1Nr2r#c3s�|]	}�|�vVqdSr�r)rnZlibname�Zlibnames�pkgrr�	<genexpr>��z-build_ext.links_to_dynamic.<locals>.<genexpr>)�dict�fromkeysrkr7rrr6�anyr}r�rr�rrs�s zbuild_ext.links_to_dynamiccCs,|jrt|�����Stt�|�|���Sr�)r*�list�get_output_mapping�keys�sortedr+�get_outputs�_build_ext__get_stubs_outputsrlrrrr�szbuild_ext.get_outputscCs|��}tt|dd�d��S)z1See :class:`setuptools.commands.build.SubCommand`cSs|dS)Nrr)�xrrr�<lambda>sz.build_ext.get_output_mapping.<locals>.<lambda>)�key)r[r�r�)r.�mappingrrrr�szbuild_ext.get_output_mappingcs6�fdd��jD�}t�|����}tdd�|D��S)Nc3s4�|]}|jrtjj�jg|j�d��R�VqdS)r1N)rLr8r9r7r;rrr6rmrlrrr�s��
�z0build_ext.__get_stubs_outputs.<locals>.<genexpr>css�|]	\}}||VqdSr�r)rn�baseZfnextrrrr�r�)rG�	itertools�product�!_build_ext__get_output_extensionsr�)r.Zns_ext_bases�pairsrrlrZ__get_stubs_outputss

�zbuild_ext.__get_stubs_outputsccs(�dVdV|�d�jrdVdSdS)NrRz.pycr<z.pyo)rFrXrlrrrZ__get_output_extensionss�
�z!build_ext.__get_output_extensionscCs2tjj|g|j�d��R�d}|�|||�dSrQ)r8r9r7rrr6rN)r.�
output_dirr/rE�	stub_filerrrr�!s zbuild_ext.write_stubr�cCs�t�d|j|�|rtj�|�rt|d��|jsPt|d�}|�	d�
dddtd�d	tj�|j
�d
ddtd
�dddtd�dddddtd�dddg��|��|rY|�|�dSdS)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
�inforrr8r9rHrr{�open�writer7r&r:rt�close�_compile_and_remove_stub)r.r�r/rE�frrrrN%sL
�����zbuild_ext._write_stub_filecCspddlm}||gdd|jd�|�d�j}|dkr$||g|d|jd�tj�|�r4|js6t�|�dSdSdS)Nr)�byte_compileT)rXr|r{rV)	Zdistutils.utilr�r{rFrXr8r9rH�unlink)r.r�r�rXrrrr�Ks���z"build_ext._compile_and_remove_stubN)F) �__name__�
__module__�__qualname__r)�bool�__annotations__r*r,rr�strrCr-rMrr[r5rjrprqr�r�rsrr�rr�r�r�r�rNr�rrrrr	Ms,

 
	
&r	c

Cs(|�|j|||||||||	|
||�
dSr�)�linkZSHARED_LIBRARY)
r.�objects�output_libnamer�r}rurxr��debug�
extra_preargs�extra_postargs�
build_temp�target_langrrrr~[s�r~Zstaticc
Cs^|dusJ�tj�|�\}}
tj�|
�\}}|�d��d�r$|dd�}|�|||||�dS)Nr�r��)r8r9r6rbrd�
startswithZcreate_static_lib)r.r�r�r�r}rurxr�r�r�r�r�r�r>r:r/rrrr~js
�)
NNNNNrNNNN)-r8rr��importlib.machineryr�importlib.utilrrY�typingrrrrZdistutils.command.build_extr	Z
_du_build_extZdistutils.ccompilerr
�distutils.sysconfigrr�	distutilsr
Zsetuptools.errorsrZsetuptools.extensionrrZCython.Distutils.build_extr+�
__import__�ImportErrorrrr r$rfrerr4�dl�hasattrr&r(r~rrrr�<module>sd�

�	
�
�