a DOg)@s*ddlZddlZGdddZddZdS)Nc@seZdZdddZddZdS) ExtensionNcKst|tstdt|tr.tdd|Ds6td||_||_|pHg|_|pRg|_|p\g|_ |pfg|_ |ppg|_ |pzg|_ | pg|_ | pg|_| pg|_| pg|_| pg|_|pg|_||_||_t|dkrdd|D}dt|}d |}t|dS) Nz'name' must be a stringcss|]}t|tVqdS)N) isinstancestr).0vr8/opt/alt/python39/lib64/python3.9/distutils/extension.py jz%Extension.__init__..z#'sources' must be a list of stringsrcSsg|] }t|qSr)repr)rZoptionrrr r z&Extension.__init__..z, zUnknown Extension options: %s)rrAssertionErrorlistallnamesources include_dirs define_macros undef_macros library_dirs librariesruntime_library_dirs extra_objectsextra_compile_argsextra_link_argsexport_symbols swig_optsdependslanguageoptionallenjoinsortedwarningswarn)selfrrrrrrrrrrrrrrrrkwZoptionsmsgrrr__init__Vs6              zExtension.__init__cCsd|jj|jj|jt|fS)Nz<%s.%s(%r) at %#x>) __class__ __module__ __qualname__rid)r%rrr__repr__s zExtension.__repr__)NNNNNNNNNNNNNN)__name__r*r+r(r-rrrrrs D /rcCsddlm}m}m}ddlm}ddlm}||}||dddddd}zfg}|} | durdq| | rpqP| d| dkrdkrnn| d | qP|| |} || } | d} t | g} d} | ddD]}| dur| |d} qt j|d}|dd }|d d}|d vr2| j |q|d krJ| j |q|d kr|d}|dkrz| j |dfn$| j |d|||d dfq|dkr| j |q|dkr| j |q|dkr| j |q|dkr| j |q|dkr| j |q|dkr*| j} q|dkr<| j} q|dkrN| j} q|dkrr| j ||s| j} q|dvr| j |q| d|q| | qPW|n |0|S)Nr)parse_makefileexpand_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/r0r1Zdistutils.text_filer2Zdistutils.utilr3readlinematchr$rappendospathsplitextrrfindrrrrrrrrclose)filenamer/r0r1r2r3varsfile extensionslineZwordsmoduleZextZappend_next_wordZwordsuffixZswitchvalueZequalsrrrread_setup_files                       rI)r<r#rrIrrrrs z