[lldb-dev] LLDB Website

Jonas Devlieghere via lldb-dev lldb-dev at lists.llvm.org
Mon Apr 29 10:26:40 PDT 2019


I've merged the aforementioned patch.

Tanya, can you give generating the python docs another shot?

Thanks,
Jonas

On Fri, Apr 26, 2019 at 4:29 PM Jonas Devlieghere <jonas at devlieghere.com>
wrote:

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


More information about the lldb-dev mailing list