o 6a@sddlZddlmZdejvr1dZddlmZddlm Z zddlm Z Wne y0dZYn wddlmZdZddl Z ddlZ ddlZ dd lmZdd lmZdd lmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!dd l"m#Z#m$Z$ejejejej%ej&ejejejejejejeje!j!eje j d Z'erddlm(Z(m)Z)e j e'd<e(j(e'd<e j e'd<e)j)e'd<ddZ*dddZ+d ddZ,ddZddZ-ddZ.dS)!N) Distribution setuptoolsT)setup) easy_install) bdist_eggF) Extension)NumpyDistribution)configconfig_compilerbuildbuild_py build_ext build_clib build_src build_scriptssdist install_datainstall_headersinstall bdist_rpm install_clib) is_sequence is_string)r rr config_cc config_fcr r r rrrrrrr)developegg_inforrrrcKs|D]M\}}||vr|||<q||}t|tr#|t|||<qt|tr1|t|||<qt|tr?t|fi|qt|rJ||||<qttt |dSN) items isinstancetuplelistdict _dict_appendr TypeErrorreprtype)dkwskvdvr,6/usr/lib/python3/dist-packages/numpy/distutils/core.pyr#7s   r#cCs|r|dS|dur g}d}ddtjD}tjD]}|dr(|d|dqtjD]}|ds;|d ks;||vr?d }nq,|||S) zT Return True if command line does not contain any help or display requests. rNTcSsg|]}d|qS)z--r,).0nr,r,r- Qsz$_command_line_ok..-z--helpz-hF)rdisplay_option_namesdisplay_optionsappendsysargv startswith)_cacheok display_optsoargr,r,r-_command_line_okHs"   r>cCs6tjj}|durdt|vrd}|r|durt}|S)NDistributionWithoutHelpCommands) distutilscore_setup_distributionr%r)alwaysdistr,r,r-get_distribution\s  rEcKst}|}d|vr||d||d<d|vrg|d}tjj}tjj}dtj_dtj_ztd i|}W|tj_|tj_n |tj_|tj_w|j sQt sS|S|}t |dr_| }t |fi|g}|dgD]1} g} | jD]&} t| r| \} } t|| | | | qvt| r| | qvtd| f| | _qo|rd|vrg|d<|D] } t|d| qd|vsd|vrd|vrg|d<t|d <td i|S) Ncmdclass configuration commandlinetodict ext_modulesz2invalid description of extension module library %r librariesheaders distclassr,)numpy_cmdclasscopyupdatepopr@rArB_setup_stop_afterrhelpr>hasattrrIr#getrKr_check_append_ext_libraryr5rr$_check_append_libraryr old_setup)attrrFnew_attrrGold_distold_stoprDr rKext new_librariesitemlib_name build_infor,r,r-rks^         rcCs|D]a}t|rCt|r.|d|dkr-|d|durdStjd|dfddn7q||dkrBtjd|dfddn"qt|r\|d|kr[tjd|dfddn q||krcdSq||dS)Nrr1z8[0] libraries list contains %r with different build_info stacklevelz1[1] libraries list contains %r with no build_infoz1[2] libraries list contains %r with no build_inforwarningswarnr5)rKr_libitemr,r,r-rWsD  rWcCs||D]2}t|r$|d|kr#|d|urdStjd|fddnq||kr4tjd|fddnq|||fdS)Nrr1z8[3] libraries list contains %r with different build_inforbrcz1[4] libraries list contains %r with no build_infore)rKr`rar_r,r,r-rVs*  rVr)F)/r6distutils.corermoduleshave_setuptoolsrrrXsetuptools.commandrr ImportErrorrfr@distutils.distnumpy.distutils.extensionr"numpy.distutils.numpy_distributionrnumpy.distutils.commandr r r r r rrrrrrrrrnumpy.distutils.misc_utilrrrrrNrrr#r>rErWrVr,r,r,r-s`        @      @