U e5d)ã@s*ddlZddlZGdd„dƒZdd„ZdS)éNc@seZdZddd„Zdd„ZdS)Ú ExtensionNcKst|tƒstdƒ‚t|tƒr.tdd„|Dƒƒs6tdƒ‚||_||_|pHg|_|pRg|_|p\g|_ |pfg|_ |ppg|_ |pzg|_ | p„g|_ | pŽg|_| p˜g|_| p¢g|_| p¬g|_|p¶g|_||_||_t|ƒdk�rdd„|Dƒ}d t|ƒ¡}d |}t |¡dS) Nz'name' must be a stringcss|]}t|tƒVqdS)N)Ú isinstanceÚstr)Ú.0Úv©rú+/usr/lib64/python3.8/distutils/extension.pyÚ jsz%Extension.__init__..z#'sources' must be a list of stringsrcSsg|] }t|ƒ‘qSr)Úrepr)rZoptionrrrÚ €sz&Extension.__init__..z, zUnknown Extension options: %s)rrÚ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)ÚselfrrrrrrrrrrrrrrrrÚkwZoptionsÚmsgrrrÚ__init__Vs6  ÿ            zExtension.__init__cCsd|jj|jj|jt|ƒfS)Nz<%s.%s(%r) at %#x>)Ú __class__Ú __module__Ú __qualname__rÚid)r$rrrÚ__repr__…s üzExtension.__repr__)NNNNNNNNNNNNNN)Ú__name__r)r*r'r,rrrrrs Dò /rcCs¸ddlm}m}m}ddlm}ddlm}||ƒ}||dddddd�}�z^g}|  ¡} | dkrd�q¦|  | ¡rpqP| d| dkrŒdkr nn|  d | ¡qP|| |ƒ} || ƒ} | d} t | gƒ} d} | dd…D�]Â}| dk rò|   |¡d} qÔtj |¡d}|dd …}|d d…}|d k�r2| j  |¡qÔ|d k�rJ| j  |¡qÔ|d k�r | d¡}|dk�rz| j  |df¡n$| j  |d|…||d d…f¡qÔ|dk�r¸| j  |¡qÔ|dk�rÐ| j  |¡qÔ|dk�rè| j  |¡qÔ|dk�r| j  |¡qÔ|dk�r| j  |¡qÔ|dk�r*| j} qÔ|dk�r<| j} qÔ|dk�rN| j} qÔ|dk�rr| j  |¡|�s˜| j} qÔ|dk�rŠ| j  |¡qÔ|  d|¡qÔ|  | ¡qPW5| ¡X|S)Nr)Úparse_makefileÚexpand_makefile_varsÚ _variable_rx)ÚTextFile)Ú split_quotedé)Zstrip_commentsZ skip_blanksZ join_linesZ lstrip_wsZ rstrip_wséÿÿÿÿÚ*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.dylibzunrecognized argument '%s')Zdistutils.sysconfigr.r/r0Zdistutils.text_filer1Zdistutils.utilr2ÚcloseÚreadlineÚmatchr#rÚappendÚosÚpathÚsplitextrrÚfindrrrrrrrr)Úfilenamer.r/r0r1r2ÚvarsÚfileÚ extensionsÚlineZwordsÚmoduleZextZappend_next_wordZwordÚsuffixZswitchÚvalueZequalsrrrÚread_setup_file�sŽ  þ           ÿ            rH)r<r"rrHrrrrÚs z