[lldb-dev] LLDB Website

Tanya Lattner via lldb-dev lldb-dev at lists.llvm.org
Tue May 7 16:08:08 PDT 2019


Ok, I believe everything should be working. So the cpp ref and python ref are generated nightly. Sphinx/web is done post-commit. I just ran it by hand and you can see the script output: http://lists.llvm.org/pipermail/www-scripts/2019-May/007606.html

Is it possible for you to add a timestamp to the bottom of the sphinx generated webpages? That would also make it easy to spot if it hasn’t run recently. 

If you aren’t seeing something updated, please let me know. If you add new targets, I have to do that manually as it's not automatic.

Thanks,
Tanya


> On May 7, 2019, at 9:28 AM, Jonas Devlieghere <jonas at devlieghere.com> wrote:
> 
> Hey Tanya,
> 
> That's great. I see the Python documentation is online now! 
> 
> Unfortunately it appears that the Sphinx part still isn't updating. I pushed a bunch of changes last week and none have made it to the homepage yet. I checked the www-scripts mailing list but I don't see any failures for LLDB. Do you know what's up here?
> 
> Thanks,
> Jonas
> 
> On Tue, May 7, 2019 at 12:19 AM Tanya Lattner <tanyalattner at llvm.org <mailto:tanyalattner at llvm.org>> wrote:
> Ignore this. svn wasn’t actually updating the src tree. It works! I just need doxygen script to finish and it will be confirmed tonight.
> 
> 
> -Tanya
> 
>> On May 6, 2019, at 11:55 PM, Tanya Lattner <tanyalattner at llvm.org <mailto:tanyalattner at llvm.org>> wrote:
>> 
>> I’m not sure it is working. To clarify, nothing in LLVM should be compiled to build the python docs correct? 
>> 
>> So I shouldn’t see this?
>> Scanning dependencies of target liblldb_exports
>> [  0%] Creating export file for liblldb
>> [  0%] Built target liblldb_exports
>> Scanning dependencies of target LLVMDemangle
>> [  0%] Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/Demangle.cpp.o
>> [  0%] Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/ItaniumDemangle.cpp.o
>> [  0%] Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/MicrosoftDemangle.cpp.o
>> [  0%] Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/MicrosoftDemangleNodes.cpp.o
>> [  0%] Linking CXX static library ../libLLVMDemangle.a
>> [  0%] Built target LLVMDemangle
>> Scanning dependencies of target LLVMSupport
>> [  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/AArch64TargetParser.cpp.o
>> [  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ARMTargetParser.cpp.o
>> [  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/AMDGPUMetadata.cpp.o
>> [  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/APFloat.cpp.o
>> [  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/APInt.cpp.o
>> 
>> Do I need any additional config options?
>> 
>> Thanks,
>> Tanya
>> 
>>> On May 3, 2019, at 8:58 AM, Jonas Devlieghere <jonas at devlieghere.com <mailto:jonas at devlieghere.com>> wrote:
>>> 
>>> Hey Tanya,
>>> 
>>> It appears the website is still stuck. It hasn't picked up my changes from earlier this week. Please let me know if there's anything I can do to help.
>>> 
>>> Thanks,
>>> Jonas
>>> 
>>> On Wed, May 1, 2019 at 10:40 PM Tanya Lattner <tanyalattner at llvm.org <mailto:tanyalattner at llvm.org>> wrote:
>>> I will give this a shot. I did remove the changes before to prevent any issue.
>>> 
>>> -Tanya
>>> 
>>>> On Apr 29, 2019, at 10:26 AM, Jonas Devlieghere <jonas at devlieghere.com <mailto:jonas at devlieghere.com>> wrote:
>>>> 
>>>> 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 <mailto: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 <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 <mailto: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 <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 <mailto: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 <mailto:jonas at devlieghere.com>>; Tanya Lattner
>>>> > <tanyalattner at llvm.org <mailto:tanyalattner at llvm.org>>
>>>> > Cc: LLDB <lldb-dev at lists.llvm.org <mailto: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> <mailto: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>
>>>> > >     <mailto: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> <mailto: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> <mailto: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> <mailto: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> <mailto: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 <https://lldb.llvm.org/cpp_reference/index.html>
>>>> > >>
>>>> > >>             However, the main website links to
>>>> > >>             https://lldb.llvm.org/cpp_reference/html/index.html <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 <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/> <http://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 <mailto:lldb-dev at lists.llvm.org>
>>>> > https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev <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/20190507/9517aa2c/attachment-0001.html>


More information about the lldb-dev mailing list