Skip to content

[nfc][cmake] mention that some builtins are no longer bundled#21596

Open
ferdymercury wants to merge 3 commits intoroot-project:masterfrom
ferdymercury:patch-5
Open

[nfc][cmake] mention that some builtins are no longer bundled#21596
ferdymercury wants to merge 3 commits intoroot-project:masterfrom
ferdymercury:patch-5

Conversation

@ferdymercury
Copy link
Copy Markdown
Collaborator

but require internet connection

@ferdymercury ferdymercury changed the title [skip-ci][cmake] mention that builtins are no longer bundled [nfc][cmake] mention that builtins are no longer bundled Mar 13, 2026
@ferdymercury ferdymercury marked this pull request as ready for review March 13, 2026 11:56
@ferdymercury ferdymercury requested a review from bellenot as a code owner March 13, 2026 11:56
@ferdymercury ferdymercury changed the title [nfc][cmake] mention that builtins are no longer bundled [nfc][cmake] mention that some builtins are no longer bundled Mar 13, 2026
@ferdymercury ferdymercury added the skip ci Skip the full builds on the actions runners label Mar 13, 2026
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 13, 2026

Test Results

0 tests   0 ✅  0s ⏱️
0 suites  0 💤
0 files    0 ❌

Results for commit 721c259.

♻️ This comment has been updated with latest results.

@dpiparo
Copy link
Copy Markdown
Member

dpiparo commented Mar 15, 2026

Thanks. When zstd is merged #21597 and zlib is added to the bundle, this will be merged (and maybe topped up with lzma, which is treated the same.
This nice doc will be complemented with something more substantial in the Release Notes and in the repository as well, to give a clear and simple overview of what builtins are used and what is their version.

@ferdymercury
Copy link
Copy Markdown
Collaborator Author

Thanks for the feedback Danilo :)

btw, builtin_xxhash looks like another candidate for off-loading to LCG, in the context of compression

@silverweed
Copy link
Copy Markdown
Contributor

btw, builtin_xxhash looks like another candidate for off-loading to LCG, in the context of compression

AFAIK the policy is to keep anything that is strictly required to build minimal ROOT as vendored code and xxhash is one such dependency (required e.g. to build RNTuple)

@hageboeck
Copy link
Copy Markdown
Member

btw, builtin_xxhash looks like another candidate for off-loading to LCG, in the context of compression

AFAIK the policy is to keep anything that is strictly required to build minimal ROOT as vendored code and xxhash is one such dependency (required e.g. to build RNTuple)

I think we are about to abandon this policy. For things that are readily available in most Linuxes and in homebrew, we suggest, in order of preference:

  1. Get it from the system
  2. Compile and install it to a custom location and make CMake aware of it (e.g. using CMAKE_PREFIX_PATH)
  3. Ask ROOT to download the builtin (requires network)
  4. [Not implemented yet] Provide a folder that contains the required tarballs. We are considering a config option that would tell ROOT where to pick up the tarballs.

Only option 3 requires network during the configure step. All others could be performed offline.

@ferdymercury ferdymercury requested a review from dpiparo March 31, 2026 05:58
ROOT_BUILD_OPTION(builtin_unuran OFF "Build bundled copy of unuran")
ROOT_BUILD_OPTION(builtin_vdt OFF "Build VDT internally (requires network)")
ROOT_BUILD_OPTION(builtin_xrootd OFF "Build XRootD internally (requires network)")
ROOT_BUILD_OPTION(builtin_xxhash OFF "Build bundled copy of xxHash")
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Suggested change
ROOT_BUILD_OPTION(builtin_xxhash OFF "Build bundled copy of xxHash")
ROOT_BUILD_OPTION(builtin_xxhash OFF "Build xxHash internally (requires network)")

To apply if #21806 gets merged

ROOT_BUILD_OPTION(builtin_nlohmannjson OFF "Use nlohmann/json.hpp file distributed with ROOT")
ROOT_BUILD_OPTION(builtin_openssl OFF "Build OpenSSL internally (requires network)")
ROOT_BUILD_OPTION(builtin_openui5 ON "Use openui5 bundle distributed with ROOT")
ROOT_BUILD_OPTION(builtin_pcre OFF "Build bundled copy of PCRE")
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Suggested change
ROOT_BUILD_OPTION(builtin_pcre OFF "Build bundled copy of PCRE")
ROOT_BUILD_OPTION(builtin_pcre OFF "Build PCRE2 internally (requires network)")

If #21857 gets merged

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr:squash on merge skip ci Skip the full builds on the actions runners

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants