
    Mh                          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S )    N   )VerificationError)sourcesinclude_dirslibrary_dirsextra_objectsdepends c                     ddl m} | g}|D ]4}|                    t          j                            |                     5 |d||d|S )Nr   )	Extension)namer   r
   )cffi._shimmed_dist_utilsr   appendospathnormpath)srcfilenamemodnamer   kwdsr   
allsourcessrcs          P/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/cffi/ffiplatform.pyget_extensionr      sn    222222J 1 1"'**3//00009>':>>>>>    c                    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   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                 2   ddl m}m}m}m}m}  |d|gi          }	|	                                 |	                    d          }
|t          j	        j
        }d|f|
d<   d|
d<   d| f|
d	<   d| f|
d
<   	  |d          pd}	  ||           |	                    d           |	                    d          }|                                \  } ||           n#  ||           w xY wn-# ||f$ r#}t          |j        j        d|          d }~ww xY w|S )Nr   )DistributionCompileError	LinkErrorset_thresholdset_verbosityext_modules	build_extffiplatformr%   )r3   Tforce	build_lib
build_tempz: )r   r,   r-   r.   r/   r0   parse_config_filesget_option_dictsysflagsr%   run_commandget_command_objget_outputsr   	__class____name__)r"   r#   r$   r%   r,   r-   r.   r/   r0   distoptions	old_levelcmd_objsonamees                  r   r   r      s   llllllllllllll<.//D"";//G}	%u-GG,GG)62GK*F3GL
F!M!$$)		%M*+++[)))**;77G**,,HVM)$$$$MM)$$$$$)$ F F FAK,@,@,@!! DEEEF Ms1   4C* AC C* C&&C* *D1DD)samefilec                     t           j                            |           t           j                            |          k    S N)r   r   r   )f1f2s     r   rF   rF   =   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rH   )
r   r   isabssplitr   rF   curdirreversejoinOSError)r   dirnamesprevdirr   s        r   maybe_relative_pathrU   @   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fr]   r(   r)   s        r   r^   r^   [   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 rH   )	cStringIOStringIOr^   getvalue)rc   rd   s     r   flattenri   n   s+    AQNNN::<<r   )r
   )r   N)r9   r   errorr   LIST_OF_FILE_NAMESr   r*   r   os.pathrF   ImportErrorrU   intlongra   rf   	NameErrorior^   ri   r
   r   r   <module>rr      sM    $ $ $ $ $ $2 2 2 ? ? ? ?      8:        : : :: : : : ::  (+K   KN N N&    s   ' 22A AA