B Qsz$_command_line_ok..-z--helpz-hF)Z DistributionZdisplay_option_namesZdisplay_optionsappendsysargv startswith)_cacheokZ display_optsoargr-r-r._command_line_okJs   r<cCs6tjj}|dk r dt|kr d}|r2|dkr2t}|S)NZDistributionWithoutHelpCommands) distutilscore_setup_distributionr(r )alwaysdistr-r-r.get_distribution\s  rBcKst}|}d|kr&||d||d<d|kr|d}tjj}tjj}dtj_dtj_ztf|}Wd|tj_|tj_X|j st s|S|}t |dr| }t |f|g}x||dgD]l} g} x\| jD]R} t| r| \} } t|| | | | qt| r| | qtd| fqW| | _qW|rnd|krPg|d<x|D]} t|d| qVWd|ksd|krd|krg|d<t|d <tf|S) Ncmdclass configurationZ commandlinetodictZ ext_modulesz2invalid description of extension module library %r librariesZheadersZ distclass)numpy_cmdclasscopyupdatepopr=r>r?Z_setup_stop_afterrhelpr<hasattrrEr&getrFr_check_append_ext_libraryr4rr'_check_append_libraryr old_setup)attrrCZnew_attrrDZold_distZold_stoprAr rFZextZ new_librariesitemlib_name build_infor-r-r.rksX               rcCsx|D]}t|rt|rZ|d|dkr|d|dkr>dStjd|dfddPq||dkrtjd|dfddPqt|r|d|krtjd|dfddPq||krdSqW||dS)Nrr2z8[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_info)rwarningswarnr4)rFrRZlibitemr-r-r.rOs0      rOcCszxf|D]^}t|rF|d|krd|d|kr.dStjd|fddPq||krtjd|fddPqW|||fdS)Nrr2z8[3] libraries list contains %r with different build_inforU)rVz1[4] libraries list contains %r with no build_info)rrWrXr4)rFrSrTrRr-r-r.rNs   rN)F)3Z __future__rrrr5Zdistutils.coremodulesZhave_setuptoolsrrrPZsetuptools.commandrr ImportErrorrWr=Zdistutils.distZnumpy.distutils.extensionr Z"numpy.distutils.numpy_distributionr Znumpy.distutils.commandr r rrrrrrrrrrrrZnumpy.distutils.misc_utilrrrrrrGrr r&r<rBrOrNr-r-r-r.s\       @       @