CasperSecurity

Current Path : /lib/python3/dist-packages/setuptools/command/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/setuptools/command/__pycache__/build_ext.cpython-310.pyc

o

�_�a�3�@szddlZddlZddlZddlmZddlmZddlm	Z	ddl
mZddlm
Z
mZddlmZddlmZdd	lmZzddlmZed
�WneyUeZYnwed�ddlmZd
d�ZdZdZdZejdkrrdZnej dkr�z
ddl!Z!e"e!d�ZZWn	ey�Ynwdd�Z#dd�Z$Gdd�de�Zes�ej dkr�				ddd�Z%dSdZ				ddd�Z%dS) �N��EXTENSION_SUFFIXES)�	build_ext)�	copy_file)�new_compiler)�customize_compiler�get_config_var)�DistutilsError)�log)�LibraryzCython.Compiler.Main�LDSHARED)�_config_varsc	Csltjdkr0t��}zdtd<dtd<dtd<t|�Wt��t�|�dSt��t�|�wt|�dS)N�darwinz0gcc -Wl,-x -dynamiclib -undefined dynamic_lookuprz -dynamiclib�CCSHAREDz.dylib�SO)�sys�platform�_CONFIG_VARS�copyr�clear�update)�compiler�tmp�r�>/usr/lib/python3/dist-packages/setuptools/command/build_ext.py�_customize_compiler_for_shlibs
�
�rF�sharedrT�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_suffixBs��r$c@sveZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zddd�ZdS)rcCs2|jd}|_t�|�||_|r|��dSdS)z;Build extensions in build directory, then copy if --inplacerN)�inplace�
_build_ext�run�copy_extensions_to_source)�self�old_inplacerrrr'Ls
�z
build_ext.runc
Cs�|�d�}|jD]J}|�|j�}|�|�}|�d�}d�|dd��}|�|�}tj	�|tj	�
|��}tj	�|j|�}	t|	||j
|jd�|jrR|�|pNtj|d�qdS)N�build_py�.���)�verbose�dry_runT)�get_finalized_command�
extensions�get_ext_fullname�name�get_ext_filename�split�join�get_package_dir�os�path�basename�	build_librr.r/�_needs_stub�
write_stub�curdir)
r)r+�ext�fullname�filename�modpath�package�package_dir�
dest_filename�src_filenamerrrr(Ts&





����z#build_ext.copy_extensions_to_sourcecCs�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)N�SETUPTOOLS_EXT_SUFFIXr,�
EXT_SUFFIX�py_limited_apizdl-)r8�getenvr9r6r5r&r4r�ext_map�getattrr$�len�
isinstancer�splitext�shlib_compiler�library_filename�libtype�	use_stubs�_links_to_dynamic)r)r@�so_extrAr?�use_abi3�fn�drrrr4js&




zbuild_ext.get_ext_filenamecCs t�|�d|_g|_i|_dS�N)r&�initialize_optionsrP�shlibsrK�r)rrrrZ�s

zbuild_ext.initialize_optionscCs(t�|�|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�q1dS)NcSsg|]	}t|t�r|�qSr)rNr��.0r?rrr�
<listcomp>�s
�z.build_ext.finalize_options.<locals>.<listcomp>r,r-F)r&�finalize_optionsr1�check_extensions_listr[�setup_shlib_compilerr2r3�
_full_namerKr5�links_to_dynamicrSrNrrTr<r4�
_file_namer8r9�dirnamer6r;�library_dirs�appendr>�runtime_library_dirs)r)r?r@�ltd�nsrA�libdirrrrr`�s0



��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)rr/�force)rrr/rmrPr�include_dirs�set_include_dirs�define�define_macro�undef�undefine_macro�	libraries�
set_librariesrg�set_library_dirs�rpath�set_runtime_library_dirs�link_objects�set_link_objects�link_shared_object�__get__)r)rr3�value�macrorrrrb�s*�







zbuild_ext.setup_shlib_compilercCst|t�r|jSt�||�SrY)rNr�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+)�_convert_pyx_sources_to_langrrNrrPr&�build_extensionr<r0r;r=)r)r?�	_compiler�cmdrrrr��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)rc)r^�librrrr_�sz.build_ext.links_to_dynamic.<locals>.<listcomp>r,Nr-rc3s�|]	}�|�vVqdSrYr)r^�libname��libnames�pkgrr�	<genexpr>���z-build_ext.links_to_dynamic.<locals>.<genexpr>)�dict�fromkeysr[r6rcr5�anyrtr�rr�rrd�s zbuild_ext.links_to_dynamiccCst�|�|��SrY)r&�get_outputs�_build_ext__get_stubs_outputsr\rrrr��szbuild_ext.get_outputscs6�fdd��jD�}t�|����}tdd�|D��S)Nc3s4�|]}|jrtjj�jg|j�d��R�VqdS)r,N)r<r8r9r6r;rcr5r]r\rrr��s��
�z0build_ext.__get_stubs_outputs.<locals>.<genexpr>css�|]	\}}||VqdSrYr)r^�base�fnextrrrr��r�)r1�	itertools�product�!_build_ext__get_output_extensions�list)r)�ns_ext_bases�pairsrr\r�__get_stubs_outputs�s

�zbuild_ext.__get_stubs_outputsccs(�dVdV|�d�jrdVdSdS)N�.pyz.pycr+z.pyo)r0�optimizer\rrr�__get_output_extensions�s�
�z!build_ext.__get_output_extensionsFcCs8t�d|j|�tjj|g|j�d��R�d}|r&tj�|�r&t|d��|j	s`t
|d�}|�d�ddd	td
�dtj�
|j�dd
dtd�dddtd�dddddtd�dddg��|��|r�ddlm}||gdd|j	d �|�d!�j}|dkr�||g|d|j	d �tj�|�r�|j	s�t�|�dSdSdSdS)"Nz writing stub loader for %s to %sr,r�z 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__()rr)�byte_compileT)r�rmr/�install_lib)r
�inforcr8r9r6r5�existsr	r/�open�writer"r:re�close�distutils.utilr�r0r��unlink)r)�
output_dirr?�compile�	stub_file�fr�r�rrrr=�sl
��
�������	zbuild_ext.write_stubN)F)�__name__�
__module__�__qualname__r'r(r4rZr`rbr�r�rdr�r�r�r=rrrrrKs
	rc

Cs(|�|j|||||||||	|
||�
dSrY)�link�SHARED_LIBRARY)
r)�objects�output_libnamer�rtrgrir�debug�
extra_preargs�extra_postargs�
build_temp�target_langrrrr{$s�r{�staticc
Cs^|dusJ�tj�|�\}}
tj�|
�\}}|�d��d�r$|dd�}|�|||||�dS)N�xr��)r8r9r5rOrQ�
startswith�create_static_lib)r)r�r�r�rtrgrirr�r�r�r�r�rAr:r?rrrr{3s
�)
NNNNNrNNNN)&r8rr��importlib.machineryr�distutils.command.build_extr�
_du_build_ext�distutils.file_utilr�distutils.ccompilerr�distutils.sysconfigrr�distutils.errorsr	�	distutilsr
�setuptools.extensionr�Cython.Distutils.build_extr&�
__import__�ImportErrorr
rrr rSrRrr3�dl�hasattrr"r$r{rrrr�<module>s`�

�	W�
�
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY