
    Yh                          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	 d
 Z	 eefZd dlZd Zd Zy# e
$ r d	 Z	Y w xY w# e$ r	 eZd dlZY "w xY w)    N   )VerificationError)sourcesinclude_dirslibrary_dirsextra_objectsdependsc                     ddl m} | g}|D ]0  }|j                  t        j                  j                  |             2  |d||d|S )Nr   )	Extension)namer    )cffi._shimmed_dist_utilsr   appendospathnormpath)srcfilenamemodnamer   kwdsr   
allsourcessrcs          a/var/www/django-portfolio.reubendavern.link/venv/lib/python3.12/site-packages/cffi/ffiplatform.pyget_extensionr      sM    2J 1"''**3/01>':>>>    c                    t         j                  j                         }	 t        | |||      }t         j                  j                  |      }|j                         D ];  \  }}t         j                  j                  |      |k7  s)|t         j                  |<   = |S # |j                         D ];  \  }}t         j                  j                  |      |k7  s)|t         j                  |<   = w xY w)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     JJOO%M(-=uE8 (--/ 	(JCzz~~c"e+"'

3	(  (--/ 	(JCzz~~c"e+"'

3	(s   -B 9C-C-c                 
   ddl m}m}m}m}m}  |d|gi      }	|	j                          |	j                  d      }
|t        j                  j                  }d|f|
d<   d|
d<   d| f|
d	<   d| f|
d
<   	  |d      xs d}	  ||       |	j                  d       |	j                  d      }|j                         \  } ||       |S #  ||       w xY w# ||f$ r)}t        |j                  j                   d|      d }~ww xY w)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./D"";/G}		%u-GG,GG)62GK*F3GL
F!!$)		%*+[)**;7G**,HV)$ M	 )$)$ FAKK,@,@! DEEFs0   2C ?<C ;C 
CC D$C==D)samefilec                     t         j                  j                  |       t         j                  j                  |      k(  S N)r   r   r   )f1f2s     r   rF   rF   =   s'    wwr"bggoob&999r   c                 z   t         j                  j                  |       s| S | }g }	 |}t         j                  j                  |      \  }}||k(  s|s| S |j	                  |       	 t        |t         j                        r,|j                          t        j                  j                  | S 	 # t        $ r Y w xY wrH   )
r   r   isabssplitr   rF   curdirreversejoinOSError)r   dirnamesprevdirr   s        r   maybe_relative_pathrU   @   s    77==
CE
GGMM'*	T'>KT	RYY'ww||U++ (   		s   &AB. .	B:9B:c                 *   t        | t              r |j                  dt        |       | fz         y t        | t              rYt        | j                               }|j                  dt        |      z         |D ]  }t        ||       t        | |   |        y t        | t        t        f      r1|j                  dt        |       z         | D ]  }t        ||        y t        | t              r|j                  d| fz         y 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^   [   s    !S	3q61+%&	At	affh	D	!" 	 CS!QsVQ	  
Ae}	%	A 	EUA		A{	#	IJLN 	Nr   c                 b    t        j                         }t        | |       |j                         S rH   )	cStringIOStringIOr^   getvalue)rc   rd   s     r   flattenri   n   s%    AQN::<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      sz     $2 ?8: 
(+K
N&e  :::6  Ks    9 A AAAA