<div dir="ltr">I've merged the aforementioned patch. <div><br></div><div>Tanya, can you give generating the python docs another shot?</div><div><br></div><div>Thanks,</div><div>Jonas</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Apr 26, 2019 at 4:29 PM Jonas Devlieghere <<a href="mailto:jonas@devlieghere.com">jonas@devlieghere.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">I've put up a patch to make it possible to generate the python reference without building lldb at all: <a href="https://reviews.llvm.org/D61216" target="_blank">https://reviews.llvm.org/D61216</a></div><div dir="ltr"><br></div><div>PS: The website isn't updating anymore, is that because of the python reference generation?</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Apr 24, 2019 at 11:46 AM Ted Woodward <<a href="mailto:tedwood@quicinc.com" target="_blank">tedwood@quicinc.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">That's the issue - lldb-python-doc depends on liblldb. From docs/CMakeLists.txt:<br>
<br>
if(EPYDOC_EXECUTABLE)<br>
  find_program(DOT_EXECUTABLE dot)<br>
    if(DOT_EXECUTABLE)<br>
      set(EPYDOC_OPTIONS ${EPYDOC_OPTIONS} --graph all --dotpath ${DOT_EXECUTABLE})<br>
    endif()<br>
    set(DOC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/doc")<br>
    file(MAKE_DIRECTORY "${DOC_DIR}")<br>
    #set(ENV{PYTHONPATH} ${CMAKE_CURRENT_BINARY_DIR}/../../../lib/python2.7/site-packages)<br>
    add_custom_target(lldb-python-doc<br>
      ${EPYDOC_EXECUTABLE}<br>
      --html<br>
      lldb<br>
      -o ${CMAKE_CURRENT_BINARY_DIR}/python_reference<br>
      --name "LLDB python API"<br>
      --url "<a href="http://lldb.llvm.org" rel="noreferrer" target="_blank">http://lldb.llvm.org</a>"<br>
      ${EPYDOC_OPTIONS}<br>
      DEPENDS swig_wrapper liblldb<br>
      WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../../../lib${LLVM_LIBDIR_SUFFIX}/python2.7/site-packages<br>
      COMMENT "Generating LLDB Python API reference with epydoc" VERBATIM<br>
    )<br>
endif(EPYDOC_EXECUTABLE)<br>
<br>
<br>
> -----Original Message-----<br>
> From: lldb-dev <<a href="mailto:lldb-dev-bounces@lists.llvm.org" target="_blank">lldb-dev-bounces@lists.llvm.org</a>> On Behalf Of Pavel Labath<br>
> via lldb-dev<br>
> Sent: Wednesday, April 24, 2019 1:16 AM<br>
> To: Jonas Devlieghere <<a href="mailto:jonas@devlieghere.com" target="_blank">jonas@devlieghere.com</a>>; Tanya Lattner<br>
> <<a href="mailto:tanyalattner@llvm.org" target="_blank">tanyalattner@llvm.org</a>><br>
> Cc: LLDB <<a href="mailto:lldb-dev@lists.llvm.org" target="_blank">lldb-dev@lists.llvm.org</a>><br>
> Subject: [EXT] Re: [lldb-dev] LLDB Website<br>
> <br>
> On 24/04/2019 03:19, Jonas Devlieghere via lldb-dev wrote:<br>
> ><br>
> ><br>
> > On Tue, Apr 23, 2019 at 6:04 PM Jonas Devlieghere<br>
> > <<a href="mailto:jonas@devlieghere.com" target="_blank">jonas@devlieghere.com</a> <mailto:<a href="mailto:jonas@devlieghere.com" target="_blank">jonas@devlieghere.com</a>>> wrote:<br>
> ><br>
> ><br>
> ><br>
> >     On Tue, Apr 23, 2019 at 5:43 PM Tanya Lattner <<a href="mailto:tanyalattner@llvm.org" target="_blank">tanyalattner@llvm.org</a><br>
> >     <mailto:<a href="mailto:tanyalattner@llvm.org" target="_blank">tanyalattner@llvm.org</a>>> wrote:<br>
> ><br>
> ><br>
> ><br>
> >>         On Apr 23, 2019, at 5:06 PM, Jonas Devlieghere<br>
> >>         <<a href="mailto:jonas@devlieghere.com" target="_blank">jonas@devlieghere.com</a> <mailto:<a href="mailto:jonas@devlieghere.com" target="_blank">jonas@devlieghere.com</a>>> wrote:<br>
> >><br>
> >><br>
> >><br>
> >>         On Tue, Apr 23, 2019 at 5:00 PM Tanya Lattner<br>
> >>         <<a href="mailto:tanyalattner@llvm.org" target="_blank">tanyalattner@llvm.org</a> <mailto:<a href="mailto:tanyalattner@llvm.org" target="_blank">tanyalattner@llvm.org</a>>> wrote:<br>
> >><br>
> >><br>
> >><br>
> >>>             On Apr 23, 2019, at 11:54 AM, Jonas Devlieghere<br>
> >>>             <<a href="mailto:jonas@devlieghere.com" target="_blank">jonas@devlieghere.com</a> <mailto:<a href="mailto:jonas@devlieghere.com" target="_blank">jonas@devlieghere.com</a>>><br>
> wrote:<br>
> >>><br>
> >>>             Hey Tanya,<br>
> >>><br>
> >>>             On Tue, Apr 23, 2019 at 11:51 Tanya Lattner<br>
> >>>             <<a href="mailto:tanyalattner@llvm.org" target="_blank">tanyalattner@llvm.org</a> <mailto:<a href="mailto:tanyalattner@llvm.org" target="_blank">tanyalattner@llvm.org</a>>> wrote:<br>
> >>><br>
> >>>                 Jonas,<br>
> >>><br>
> >>>                 Ignore what I said before as these do need to be<br>
> >>>                 separate targets. It appears the new targets are<br>
> >>>                 running doxygen. This isn’t something we typically do<br>
> >>>                 as a post commit hook since it takes awhile. I’ll<br>
> >>>                 need to do this via the doxygen nightly script. Any<br>
> >>>                 concerns?<br>
> >>><br>
> >>>             That sounds perfect. Can we still do the regular website<br>
> >>>             post commit?<br>
> >><br>
> >>             Yes, so it will do docs-lldb-html on every commit.<br>
> >><br>
> >><br>
> >>         Perfect!<br>
> >><br>
> >><br>
> >>             So I am able to generate the cpp reference docs:<br>
> >>             <a href="https://lldb.llvm.org/cpp_reference/index.html" rel="noreferrer" target="_blank">https://lldb.llvm.org/cpp_reference/index.html</a><br>
> >><br>
> >>             However, the main website links to<br>
> >>             <a href="https://lldb.llvm.org/cpp_reference/html/index.html" rel="noreferrer" target="_blank">https://lldb.llvm.org/cpp_reference/html/index.html</a>. Do<br>
> >>             you want the html in that url? I can change the alias. We<br>
> >>             strip for other doxygen.<br>
> >><br>
> >><br>
> >>         Let's keep it without the html. I'll update a link on the<br>
> >>         website and add a redirect.<br>
> >><br>
> >><br>
> >>             As for python docs, what is required to build those? It's<br>
> >>             not showing up as a target for me.<br>
> >><br>
> >><br>
> >>         This is probably because you don't have `epydoc` installed<br>
> >>         (sudo pip install epydoc).<br>
> >>         I think you'll have to re-run cmake after for it to pick it<br>
> >>         up. The corresponding target should then be `lldb-python-doc`.<br>
> >><br>
> >>         <a href="https://lldb.llvm.org/cpp_reference/index.html" rel="noreferrer" target="_blank">https://lldb.llvm.org/cpp_reference/index.html</a><br>
> ><br>
> >         Well installing epydoc did the trick, but I don’t think the<br>
> >         doxygen script is the right place for this target. I have not<br>
> >         dug into it yet but it appears to require some LLVM libraries<br>
> >         and is building those. I’m letting it finish to verify it builds<br>
> >         but I’ll have to sort out the best way of doing this on the<br>
> >         server. We have other scripts that generate other documentation<br>
> >         that build parts of LLVM. Ideally, I would want to leverage that<br>
> >         and reduce build times.<br>
> ><br>
> ><br>
> >     Yeah, the annoying thing about the Python documentation is that it<br>
> >     builds the C++ API, then runs swig to generate the Python wrapper,<br>
> >     and finally generates the docs from that.<br>
> <br>
> It should be possible to solve this by tweaking the dependency graph a bit.<br>
> There's no fundamental reason why you need to build anything in order to<br>
> run swig. It is purely a textual step -- it ingests header files and interface<br>
> definitions and spits out python and cpp files. The inputs are present as static<br>
> checked in source, so the swig step could theoretically be the very first build<br>
> command that we run.<br>
> <br>
> >     I wonder if we can just use the static bindings that are checked-in<br>
> >     instead. I will look into that later today/tomorrow.<br>
> ><br>
> ><br>
> > Right, so the reason is that we don't have the static bindings on<br>
> > <a href="http://llvm.org" rel="noreferrer" target="_blank">llvm.org</a> <<a href="http://llvm.org" rel="noreferrer" target="_blank">http://llvm.org</a>> (we have them for swift-lldb on GitHub).<br>
> > Maybe we should check them in upstream too? That's something the<br>
> > community will have to weigh in on...<br>
> ><br>
> <br>
> I think it would be good to avoid that...<br>
> <br>
> pl<br>
> _______________________________________________<br>
> lldb-dev mailing list<br>
> <a href="mailto:lldb-dev@lists.llvm.org" target="_blank">lldb-dev@lists.llvm.org</a><br>
> <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev</a><br>
</blockquote></div>
</blockquote></div>