[lldb-dev] LLDB Website
Jonas Devlieghere via lldb-dev
lldb-dev at lists.llvm.org
Tue May 7 18:37:52 PDT 2019
Thank you Tanya, everything is working! 🎉
On Tue, May 7, 2019 at 5:35 PM Tanya Lattner <tanyalattner at llvm.org> wrote:
>
>
> On May 7, 2019, at 4:48 PM, Jonas Devlieghere <jonas at devlieghere.com>
> wrote:
>
> Thanks Tanya! I can see the website was updated. I've added a timestamp to
> the Sphinx configuration, but it doesn't show up on the website. I'm not
> sure whether that's because I did something wrong or because the site is
> still not generated post-commit.
>
>
> You are right. I needed to change one more thing to trigger the script.
> Can you try to change one thing now?
>
> Did you change anything to where the Doxygen is generated? I updated all
> the links to remove the /html/ form the URL and put a redirect in place,
> but now the cpp docs are back at their old location:
> https://lldb.llvm.org/cpp_reference/html/index.html
>
>
> Yes! I forgot we had this conversation. Sorry about that. I just changed
> it back.
>
> -Tanya
>
>
>
>
> Thank,
> Jonas
>
> On Tue, May 7, 2019 at 4:08 PM Tanya Lattner <tanyalattner at llvm.org>
> wrote:
>
>> 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>
>> 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>
>>> 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>
>>> 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>
>>> 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>
>>>> 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> 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/20190507/4e857811/attachment-0001.html>
More information about the lldb-dev
mailing list