HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/env/lib/python3.10/site-packages/cffi/__pycache__/ffiplatform.cpython-310.pyc
o

%we�@s�ddlZddlZddlmZgd�Zddd�Zddd	�Zdd
d�Zzddlm	Z	Wn
e
y6d
d�Z	Ynwdd�Zz
ee
fZddlZWneyTeZddlZYnwdd�Zdd�ZdS)�N�)�VerificationError)�sources�include_dirs�library_dirs�
extra_objects�depends�cKsBddlm}|g}|D]}|�tj�|��q|d||d�|��S)Nr)�	Extension)�namerr	)�cffi._shimmed_dist_utilsr
�append�os�path�normpath)�srcfilename�modnamer�kwdsr
�
allsources�srcr	r	�I/home/arjun/projects/env/lib/python3.10/site-packages/cffi/ffiplatform.py�
get_extensions
rc
Cs�tj��}z&t||||�}tj�|�}W|��D]\}}tj�|�|kr)|tj|<q|S|��D]\}}tj�|�|krA|tj|<q0w)z-Compile a C extension module using distutils.)r�environ�copy�_buildr�abspath�items�get)�tmpdir�ext�compiler_verbose�debug�
saved_environ�outputfilename�key�valuer	r	r�compiles

��
��r&c
Cs�ddlm}m}m}m}m}|d|gi�}	|	��|	�d�}
|dur&tj	j
}d|f|
d<d|
d<d|f|
d	<d|f|
d
<z'|d�pBd}z||�|	�d�|	�d�}|�
�\}
W||�W|
S||�w||fy{}z
td|jj|f��d}~ww)Nr)�Distribution�CompileError�	LinkError�
set_threshold�
set_verbosity�ext_modules�	build_ext�ffiplatformr!)r.T�force�	build_lib�
build_tempz%s: %s)rr'r(r)r*r+�parse_config_files�get_option_dict�sys�flagsr!�run_command�get_command_obj�get_outputsr�	__class__�__name__)rrr r!r'r(r)r*r+�dist�options�	old_level�cmd_obj�soname�er	r	rrs0




���r)�samefilecCstj�|�tj�|�kS�N)rrr)�f1�f2r	r	rrA=srAcCs�tj�|�s|S|}g}	|}tj�|�\}}||ks|s|S|�|�zt|tj�r6|��tjj|�WSWn	t	y@Ynwq
rB)
rr�isabs�splitr
rA�curdir�reverse�join�OSError)r�dir�names�prevdirrr	r	r�maybe_relative_path@s&
���rNcCs�t|t�r|�dt|�|f�dSt|t�r9t|���}|�dt|��|D]}t||�t|||�q(dSt|tt	f�rU|�dt|��|D]}t||�qKdSt|t
�rd|�d|f�dStd|f��)Nz%ds%sz%ddz%dlz%diz7the keywords to verify() contains unsupported object %r)�
isinstance�str�write�len�dict�sorted�keys�_flatten�list�tuple�int_or_long�	TypeError)�x�frUr$r%r	r	rrV[s&


��
�rVcCst��}t||�|��SrB)�	cStringIO�StringIOrV�getvalue)r[r\r	r	r�flattenns
r`)r	)rN)r4r�errorr�LIST_OF_FILE_NAMESrr&r�os.pathrA�ImportErrorrN�int�longrYr]�	NameError�iorVr`r	r	r	r�<module>s*


��