
    =Og!)                     @    	 d dl Z d dlZd dlZ G d d          Zd ZdS )    Nc                   :    e Zd Z	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddZd ZdS )	ExtensionNc                    t          |t                    st          d          t          |t                    rt	          d |D                       st          d          || _        || _        |pg | _        |pg | _        |pg | _	        |pg | _
        |pg | _        |pg | _        |	pg | _        |
pg | _        |pg | _        |pg | _        |pg | _        |pg | _        || _        || _        t+          |          dk    rId |D             }d                    t/          |                    }d|z  }t1          j        |           d S d S )Nz'name' must be a stringc              3   @   K   | ]}t          |t                    V  d S )N)
isinstancestr).0vs     ,/usr/lib64/python3.11/distutils/extension.py	<genexpr>z%Extension.__init__.<locals>.<genexpr>k   s,      881Jq#&&888888    z#'sources' must be a list of stringsr   c                 ,    g | ]}t          |          S  )repr)r	   options     r   
<listcomp>z&Extension.__init__.<locals>.<listcomp>   s    555tF||555r   z, zUnknown Extension options: %s)r   r   AssertionErrorlistallnamesourcesinclude_dirsdefine_macrosundef_macroslibrary_dirs	librariesruntime_library_dirsextra_objectsextra_compile_argsextra_link_argsexport_symbols	swig_optsdependslanguageoptionallenjoinsortedwarningswarn)selfr   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   kwoptionsmsgs                       r   __init__zExtension.__init__W   s{   " $$$ 	< !:;;;7D)) 	H8888888	H !FGGG	(.B*0b(.B(.B"b$8$>B!*0b"4":.4",2"b}"   r77Q;;55"555Giiw00G1G;CM#	 ;r   c                 `    d| j         j        | j         j        | j        t	          |           fz  S )Nz<%s.%s(%r) at %#x>)	__class__
__module____qualname__r   id)r+   s    r   __repr__zExtension.__repr__   s2    #N%N'ItHH	'  	r   )NNNNNNNNNNNNNN)__name__r2   r3   r/   r5   r   r   r   r   r      sj        >F  $ $## '+ $%)"&!%"- - - -^    r   r   c                    	 ddl m}m}m} ddlm} ddlm}  ||           } || ddddd          }	 g }	 |                                }	|	nt          j
        ||	          r/|	d         |	d         cxk    rd	k    rn n|                    d
|	z             d ||	|          }	 ||	          }
|
d         }t          |g           }d }|
dd          D ]?}||                    |           d }t          j                            |          d         }|dd         }|dd          }|dv r|j                            |           u|dk    r|j                            |           |dk    ri|                    d          }|dk    r|j                            |d f           |j                            |d|         ||dz   d          f           |dk    r|j                            |           '|dk    r|j                            |           I|dk    r|j                            |           k|dk    r|j                            |           |dk    r|j                            |           |dk    r	|j        }|dk    r	|j        }|dk    r	|j        }|dk    r%|j                            |           |s|j        }|dv r|j                            |           '|                    d|z             A|                    |           	 |                                 n# |                                 w xY w|S )Nr   )parse_makefileexpand_makefile_vars_variable_rx)TextFile)split_quoted   )strip_commentsskip_blanks
join_lines	lstrip_ws	rstrip_wsT*z'%s' lines not handled yet   )z.cz.ccz.cppz.cxxz.c++z.mz.mmz-Iz-D=z-Uz-Cz-lz-Lz-Rz-rpathz-Xlinkerz
-Xcompilerz-u)z.az.soz.slz.oz.dylibzunrecognized argument '%s')distutils.sysconfigr8   r9   r:   distutils.text_filer;   distutils.utilr<   readlinerematchr*   r   appendospathsplitextr   r   findr   r   r   r   r   r   r    r   close)filenamer8   r9   r:   r;   r<   varsfile
extensionslinewordsmoduleextappend_next_wordwordsuffixswitchvalueequalss                      r   read_setup_filera      sE   =3 3 3 3 3 3 3 3 3 3 -,,,,,++++++ >(##D 8H#$!1. . .DQ
L	#==??D|xd++ Aw$r())))c)))))		6=>>>''d33D L&&E 1XFFB''C#abb	 2C 2C#/$++D111'+$))$//2acT!""XUOOO K&&t,,,,t^^$++E2222t^^"ZZ__F||)00%????)00%&/27q		2B2D E E E Et^^$++E2222t^^*11$7777t^^M((////t^^$++E2222t^^,33E::::X%%'*'?$$Z'''*':$$\))'*'=$$t^^'..t444  ?+.+>(CCC
 %,,T2222II:TABBBBc"""YL	# V 	



s   K9M M)rN   rK   r)   r   ra   r   r   r   <module>rb      sv   
 
			 				 w w w w w w w wtc c c c cr   