
     h                         d dl Z d dlZddlmZ g dZddZddZddZ	 d d	lm	Z	 n# e
$ r d
 Z	Y nw xY wd Z	 eefZd dlZn# e$ r	 eZd dlZY nw xY wd Zd Zd ZdS )    N   )VerificationError)sourcesinclude_dirslibrary_dirsextra_objectsdepends c                     t                       ddlm} | g}|D ]4}|                    t          j                            |                     5 |d||d|S )Nr   )	Extension)namer   r
   )_hack_at_distutilsdistutils.corer   appendospathnormpath)srcfilenamemodnamer   kwdsr   
allsourcessrcs          L/var/www/html/Sam_Eipo/venv/lib/python3.11/site-packages/cffi/ffiplatform.pyget_extensionr      sz    ((((((J 1 1"'**3//00009>':>>>>>    c                    t                       t          j                                        }	 t	          | |||          }t          j                            |          }|                                D ]7\  }}t          j                            |          |k    r|t          j        |<   8nQ# |                                D ]7\  }}t          j                            |          |k    r|t          j        |<   8w xY w|S )z-Compile a C extension module using distutils.)	r   r   environcopy_buildr   abspathitemsget)tmpdirextcompiler_verbosedebugsaved_environoutputfilenamekeyvalues           r   compiler+      s     JOO%%M(-=uEE88 (--// 	( 	(JCz~~c""e++"'
3	(---// 	( 	(JCz~~c""e++"'
3	( s   1B, ,AC:c                    ddl m} dd l}dd l} |d|gi          }|                                 |                    d          }|t          j        j        }d|f|d<   d|d<   d| f|d	<   d| f|d
<   	 |j	        
                    d          pd}	 |j	                            |           |                    d           |                    d          }	|	                                \  }
|j	        
                    |           n# |j	        
                    |           w xY wnA# |j        j        |j        j        f$ r#}t%          |j        j        d|          d }~ww xY w|
S )Nr   )Distributionext_modules	build_extffiplatformr&   )r0   Tforce	build_lib
build_tempz: )r   r-   distutils.errorsdistutils.logparse_config_filesget_option_dictsysflagsr&   logset_thresholdset_verbosityrun_commandget_command_objget_outputserrorsCompileError	LinkErrorr   	__class____name__)r#   r$   r%   r&   r-   	distutilsdistoptions	old_levelcmd_objsonamees               r   r   r       s   ++++++********<.//D"";//G}	%u-GG,GG)62GK*F3GLFM//227a		3M''(8999[)))**;77G**,,HVM''	2222IM''	22222)&( F F FAK,@,@,@!! DEEEF Ms1   4D& AD +D& D""D& &E$EE$)samefilec                     t           j                            |           t           j                            |          k    S N)r   r   r    )f1f2s     r   rL   rL   A   s)    wr""bgoob&9&999r   c                 |   t           j                            |           s| S | }g }	 |}t           j                            |          \  }}||k    s|s| S |                    |           	 t          |t           j                  r'|                                 t          j        j        | S n# t          $ r Y nw xY wrN   )
r   r   isabssplitr   rL   curdirreversejoinOSError)r   dirnamesprevdirr   s        r   maybe_relative_pathr[   D   s    7== 
CEGMM'**	T'>>>KT	RY'' ,w|U++,  	 	 	D	s   +A B- -
B:9B:c                    t          | t                    r)|                    dt          |           | fz             d S t          | t                    rst          |                                           }|                    dt          |          z             |D ](}t          ||           t          | |         |           )d S t          | t          t          f          r<|                    dt          |           z             | D ]}t          ||           d S t          | t                    r|                    d| fz             d S t          d|           )Nz%ds%sz%ddz%dlz%diz5the keywords to verify() contains unsupported object )
isinstancestrwritelendictsortedkeys_flattenlisttupleint_or_long	TypeError)xfrc   r)   r*   s        r   rd   rd   _   sr   !S N	3q661+%&&&&&	At		 Naffhh	D		!""" 	  	 CS!QsVQ	  	  
Ae}	%	% N	A 	 	EUA	 		A{	#	# N	iIJLN N 	Nr   c                 p    t          j                    }t          | |           |                                S rN   )	cStringIOStringIOrd   getvalue)ri   rj   s     r   flattenro   r   s+    AQNNN::<<r   c                  V    t           j        dk    r	 dd l} d S # t          $ r Y d S w xY wd S )Nwin32r   )r8   platform
setuptoolsImportError)rs   s    r   r   r   w   sR     |w	 	 	 	DD	 s    
&&)r
   )r   N)r8   r   errorr   LIST_OF_FILE_NAMESr   r+   r   os.pathrL   rt   r[   intlongrg   rl   	NameErroriord   ro   r   r
   r   r   <module>r|      s\    $ $ $ $ $ $2 2 2 ? ? ? ?       <:        : : :: : : : ::  (+K   KN N N&  
    s   ' 22A AA