ó à\e[c @sddlZddlZddlZddlZddlmZddlmZddl m Z ddl m Z m Z ddlmZddlmZddlmZdd lmZyddlmZed ƒWnek ríeZnXe d ƒdd l mZd „ZeZeZdZ ej!dkr;e"ZnIej#dkr„y#ddl$Z$e%e$dƒZZWq„ek r€q„Xnd„Z&d„Z'defd„ƒYZesÁej#dkrëddddddddddd„ Z)n-dZ ddddddddddd„ Z)dS(iÿÿÿÿN(t build_ext(t copy_file(t new_compiler(tcustomize_compilertget_config_var(tDistutilsError(tlog(tLibrary(tsixsCython.Compiler.MaintLDSHARED(t _config_varscCsstjdkretjƒ}z,dtd>scCsNxGd„tjƒDƒD]/\}}}d|kr6|S|dkr|SqWdS(s;Return the file extension for an abi3-compliant Extension()css(|]}|dtjkr|VqdS(iN(timpt C_EXTENSION(t.0R((sB/tmp/pip-install-0xiv62/setuptools/setuptools/command/build_ext.pys Css.abi3s.pydN(Rt get_suffixes(tsuffixt_((sB/tmp/pip-install-0xiv62/setuptools/setuptools/command/build_ext.pytget_abi3_suffixAs &  RcBs€eZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z ed „ZRS( cCs@|jd}|_tj|ƒ||_|r<|jƒndS(s;Build extensions in build directory, then copy if --inplaceiN(tinplacet _build_exttruntcopy_extensions_to_source(tselft old_inplace((sB/tmp/pip-install-0xiv62/setuptools/setuptools/command/build_ext.pyR'Ks   c Csù|jdƒ}xã|jD]Ø}|j|jƒ}|j|ƒ}|jdƒ}dj|d ƒ}|j|ƒ}tj j|tj j |ƒƒ}tj j|j |ƒ} t | |d|j d|jƒ|jr|j|pätj|tƒqqWdS(Ntbuild_pyt.iÿÿÿÿtverbosetdry_run(tget_finalized_commandt extensionstget_ext_fullnametnametget_ext_filenametsplittjointget_package_dirtostpathtbasenamet build_libRR-R.t _needs_stubt write_stubtcurdirtTrue( R)R+texttfullnametfilenametmodpathtpackaget package_dirt dest_filenamet src_filename((sB/tmp/pip-install-0xiv62/setuptools/setuptools/command/build_ext.pyR(Ss   cCstj||ƒ}||jkrý|j|}tjoLt|dƒoLtƒ}|r‚tdƒ}|t|ƒ }|tƒ}nt |t ƒr¼t j j |ƒ\}}|jj|tƒStrý|jrýt j j|ƒ\}}t j j|d|ƒSn|S(Ntpy_limited_apit EXT_SUFFIXsdl-(R&R3text_mapRtPY3tgetattrR$Rtlent isinstanceRR7R8tsplitexttshlib_compilertlibrary_filenametlibtypet use_stubst_links_to_dynamicR4R5(R)R@RAR?tuse_abi3tso_exttfntd((sB/tmp/pip-install-0xiv62/setuptools/setuptools/command/build_ext.pyR3is"    cCs,tj|ƒd|_g|_i|_dS(N(R&tinitialize_optionstNoneROtshlibsRI(R)((sB/tmp/pip-install-0xiv62/setuptools/setuptools/command/build_ext.pyRX~s   cCsÆtj|ƒ|jpg|_|j|jƒg|jD]}t|tƒr9|^q9|_|jrs|jƒnx&|jD]}|j|j ƒ|_ q}Wx#|jD]}|j }||j |<||j |j dƒd<|jrô|j |ƒp÷t}|otot|tƒ }||_||_|j|ƒ}|_tjjtjj|j|ƒƒ}|rŠ||jkrŠ|jj|ƒn|r¦tr¦tj|jkr¦|jjtjƒq¦q¦WdS(NR,iÿÿÿÿ(R&tfinalize_optionsR0tcheck_extensions_listRMRRZtsetup_shlib_compilerR1R2t _full_nameRIR4tlinks_to_dynamictFalseRRRSR;R3t _file_nameR7R8tdirnameR5R:t library_dirstappendR=truntime_library_dirs(R)R?R@tltdtnsRAtlibdir((sB/tmp/pip-install-0xiv62/setuptools/setuptools/command/build_ext.pyR[„s.       $cCsdtd|jd|jd|jƒ}|_t|ƒ|jdk rW|j|jƒn|j dk r“x*|j D]\}}|j ||ƒqpWn|j dk rÆx!|j D]}|j |ƒq¬Wn|j dk rè|j|j ƒn|jdk r |j|jƒn|jdk r,|j|jƒn|jdk rN|j|jƒntj|ƒ|_dS(NRR.tforce(RRR.RiRORt include_dirsRYtset_include_dirstdefinet define_macrotundeftundefine_macrot librariest set_librariesRctset_library_dirstrpathtset_runtime_library_dirst link_objectstset_link_objectstlink_shared_objectt__get__(R)RR2tvaluetmacro((sB/tmp/pip-install-0xiv62/setuptools/setuptools/command/build_ext.pyR]¡s(% cCs&t|tƒr|jStj||ƒS(N(RMRtexport_symbolsR&tget_export_symbols(R)R?((sB/tmp/pip-install-0xiv62/setuptools/setuptools/command/build_ext.pyR|¼scCs„|jƒ|j}z`t|tƒr4|j|_ntj||ƒ|jrr|jdƒj }|j ||ƒnWd||_XdS(NR+( t_convert_pyx_sources_to_langRRMRROR&tbuild_extensionR;R/R:R<(R)R?t _compilertcmd((sB/tmp/pip-install-0xiv62/setuptools/setuptools/command/build_ext.pyR~Ás   csntjg|jD]}|j^qƒ‰dj|jjdƒd dgƒ‰t‡‡fd†|jDƒƒS(s?Return true if 'ext' links to a dynamic lib in the same packageR,iÿÿÿÿRc3s|]}ˆ|ˆkVqdS(N((R tlibname(tlibnamestpkg(sB/tmp/pip-install-0xiv62/setuptools/setuptools/command/build_ext.pys Õs(tdicttfromkeysRZR^R5R4tanyRp(R)R?tlib((R‚RƒsB/tmp/pip-install-0xiv62/setuptools/setuptools/command/build_ext.pyR_Îs(&cCstj|ƒ|jƒS(N(R&t get_outputst_build_ext__get_stubs_outputs(R)((sB/tmp/pip-install-0xiv62/setuptools/setuptools/command/build_ext.pyRˆ×scsE‡fd†ˆjDƒ}tj|ˆjƒƒ}td„|DƒƒS(Nc3s<|]2}|jrtjjˆj|jjdƒŒVqdS(R,N(R;R7R8R5R:R^R4(R R?(R)(sB/tmp/pip-install-0xiv62/setuptools/setuptools/command/build_ext.pys Ýscss|]\}}||VqdS(N((R tbasetfnext((sB/tmp/pip-install-0xiv62/setuptools/setuptools/command/build_ext.pys ãs(R0t itertoolstproductt!_build_ext__get_output_extensionstlist(R)t ns_ext_basestpairs((R)sB/tmp/pip-install-0xiv62/setuptools/setuptools/command/build_ext.pyt__get_stubs_outputsÚs  ccs(dVdV|jdƒjr$dVndS(Ns.pys.pycR+s.pyo(R/toptimize(R)((sB/tmp/pip-install-0xiv62/setuptools/setuptools/command/build_ext.pyt__get_output_extensionsåscCs´tjd|j|ƒtjj||jjdƒŒd}|rftjj|ƒrft|dƒ‚n|j st |dƒ}|j djddd t d ƒd tjj |jƒd d dt dƒdddt dƒddt dƒdddgƒƒ|jƒn|r°ddlm}||gdddtd|j ƒ|jd ƒj}|dkr||gd|dtd|j ƒntjj|ƒr°|j r°tj|ƒq°ndS(!Ns writing stub loader for %s to %sR,s.pys already exists! Please delete.tws sdef __bootstrap__():s- global __bootstrap__, __file__, __loader__s% import sys, os, pkg_resources, imps, dls: __file__ = pkg_resources.resource_filename(__name__,%r)s del __bootstrap__s if '__loader__' in globals():s del __loader__s# old_flags = sys.getdlopenflags()s old_dir = os.getcwd()s try:s( os.chdir(os.path.dirname(__file__))s$ sys.setdlopenflags(dl.RTLD_NOW)s( imp.load_dynamic(__name__,__file__)s finally:s" sys.setdlopenflags(old_flags)s os.chdir(old_dir)s__bootstrap__()Riÿÿÿÿ(t byte_compileR“iRiR.t install_lib(RtinfoR^R7R8R5R4texistsRR.topentwritetif_dlR9Ratclosetdistutils.utilR–R>R/R“tunlink(R)t output_dirR?tcompilet stub_filetfR–R“((sB/tmp/pip-install-0xiv62/setuptools/setuptools/command/build_ext.pyR<ësP        (t__name__t __module__R'R(R3RXR[R]R|R~R_RˆR‰RŽR`R<(((sB/tmp/pip-install-0xiv62/setuptools/setuptools/command/build_ext.pyRJs         ic Cs8|j|j||||||||| | | | ƒ dS(N(tlinktSHARED_LIBRARY( R)tobjectstoutput_libnameR RpRcReR{tdebugt extra_preargstextra_postargst build_tempt target_lang((sB/tmp/pip-install-0xiv62/setuptools/setuptools/command/build_ext.pyRws    tstaticc Cs„|dkst‚tjj|ƒ\}} tjj| ƒ\}}|jdƒjdƒrg|d}n|j||||| ƒdS(NtxR‡i( RYtAssertionErrorR7R8R4RNRPt startswithtcreate_static_lib(R)R¨R©R RpRcReR{RªR«R¬R­R®RAR9R?((sB/tmp/pip-install-0xiv62/setuptools/setuptools/command/build_ext.pyRw,s  (*R7RRŒRtdistutils.command.build_extRt _du_build_exttdistutils.file_utilRtdistutils.ccompilerRtdistutils.sysconfigRRtdistutils.errorsRt distutilsRtsetuptools.extensionRtsetuptools.externRtCython.Distutils.build_extR&t __import__t ImportErrorR RRR`RRRRQRR>R2tdlthasattrRœR$RYRw(((sB/tmp/pip-install-0xiv62/setuptools/setuptools/command/build_ext.pytsV             Ð