Skip to content

Conversation

@Meinersbur
Copy link
Member

@Meinersbur Meinersbur commented Jan 21, 2026

The builder publish-doxygen-docs uses LLVM_ENABLE_PROJECT=openmp to build the doxygen documention. This build mode is scheduled to be removed in llvm/llvm-project#176950. Introduce a new builder publish-runtimes-doxygen-docs which uses LLVM_ENABLE_RUNTIMES=openmp instead.

In contrast to publish-sphinx-docs, there is no support yet for building doxygen documentation of a runtimes project. Support in llvm-project was added in llvm/llvm-project#176948. For llvm-zorg, this PR replicates the same approach as a5243cf: Create new publish-runtimes-doxygen-docs builder that builds the runtimes.

I verified this PR -- except the rsync step -- using a private buildbot master and worker (as-worker-4) instance.

Copy link
Contributor

@boomanaiden154 boomanaiden154 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems fine to me. But someone with access to as-worker-4 also needs to approve.

ShellCommand(
name="Publish {}".format(project or target),
description=[
"Publish", "just", "built", "documentation", "for",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do all the words here need to be separate strings?

Copy link
Member Author

@Meinersbur Meinersbur Jan 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think they need to, but I am avoiding changes from the template

description=[
"Publish", "just", "built", "documentation", "for",
"{}".format(project or target)
],

without reason

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because buildbot takes care of the formatting like new lines, truncations and alike.

@Meinersbur
Copy link
Member Author

This seems fine to me. But someone with access to as-worker-4 also needs to approve.

image

@gkistanova Please review

Copy link
Contributor

@andreil99 andreil99 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the effort, Michael.

We do not plan to run multiple doxygen builders on that host. So, this patch would not go as is. Sorry for this.

If you can make sure that openmp doxygen docs get built with LLVM_ENABLE_RUNTIMES and ninja doxygen that would help a lot. I'll take it from there and will change the builder accordingly.

@gkistanova
Copy link
Contributor

@Meinersbur What Andrei said.

To unblock you I temporarily removed openmp from the doxygen builder. Could you follow up with Andrei when everything is ready to build doxygen after the migration is done, please?

@Meinersbur
Copy link
Member Author

Meinersbur commented Jan 27, 2026

Why is multiple sphinx builders OK, but not doxygen? (out of curiosity, not complaining)

I could make something like

if (TARGET doxygen-openmp) # doxygen-openmp forwarded by llvm_ExternalProject_Add
  add_dependencies(doxygen doxygen-openmp)
endif ()

But this sticks out because e.g. the sphinx target does not work this way. I am preparing a PR anyway.

@gkistanova Thanks for the unblocking

Meinersbur added a commit to llvm/llvm-project that referenced this pull request Jan 29, 2026
When LLVM_ENABLE_DOXYGEN=ON, forward the `doxygen-openmp` build target
from the nested (default target) runtimes build. When
LLVM_BUILD_DOCS=ON, also trigger `doxygen-build` with `ninja doxygen`.
LLVM_INCLUDE_DOCS=ON is required in the runtimes build, which is the
default.

This is required to update the OpenMP doxygen documentation at
https://openmp.llvm.org/doxygen by the publish-doxygen-docs buidbot,
discussed here:
llvm/llvm-zorg#716 (review)
llvm-sync bot pushed a commit to arm/arm-toolchain that referenced this pull request Jan 29, 2026
When LLVM_ENABLE_DOXYGEN=ON, forward the `doxygen-openmp` build target
from the nested (default target) runtimes build. When
LLVM_BUILD_DOCS=ON, also trigger `doxygen-build` with `ninja doxygen`.
LLVM_INCLUDE_DOCS=ON is required in the runtimes build, which is the
default.

This is required to update the OpenMP doxygen documentation at
https://openmp.llvm.org/doxygen by the publish-doxygen-docs buidbot,
discussed here:
llvm/llvm-zorg#716 (review)
@Meinersbur
Copy link
Member Author

@andreil99 Requested change has landed: llvm/llvm-project#178298. You are going to make the llvm-zorg changes?

Note that by how the LLVM doxygen build works, you must define -DLLVM_ENABLE_RUNTIMES=openmp -DLLVM_ENABLE_DOXYGEN=ON -DLLVM_INCLUDE_DOCS=ON -DLLVM_BUILD_DOCS=ON (all four) for ninja doxygen to be available. You can also ninja doxygen-openmp. The files will be in runtimes/runtimes-bins/openmp/docs/doxygen.

Since it needs to run runtimes-configure first to create the runtimes build directory, it will also build clang (to pass as CMAKE_C(XX)_COMPILER), etc..

@andreil99
Copy link
Contributor

@Meinersbur Thanks, Michael. I'll take it from there.

@andreil99
Copy link
Contributor

andreil99 commented Jan 30, 2026

Why is multiple sphinx builders OK, but not doxygen? (out of curiosity, not complaining)

Sphinx build is relatively fast and lightweight. Doxygen is quite the opposite. It is Ok to have Sphinx and Doxygen simultaneously building, but two Doxygen builds is too much. Serializing all the builds would significantly delay Sphinx build results.

honeygoyal pushed a commit to honeygoyal/llvm-project that referenced this pull request Jan 30, 2026
When LLVM_ENABLE_DOXYGEN=ON, forward the `doxygen-openmp` build target
from the nested (default target) runtimes build. When
LLVM_BUILD_DOCS=ON, also trigger `doxygen-build` with `ninja doxygen`.
LLVM_INCLUDE_DOCS=ON is required in the runtimes build, which is the
default.

This is required to update the OpenMP doxygen documentation at
https://openmp.llvm.org/doxygen by the publish-doxygen-docs buidbot,
discussed here:
llvm/llvm-zorg#716 (review)
@Meinersbur
Copy link
Member Author

Closing this PR since @andreil99 is going to fix the OpenMP doxygen builder

@Meinersbur Meinersbur closed this Jan 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants