Skip to content

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

Open
ferdymercury wants to merge 14 commits into
root-project:masterfrom
ferdymercury:patch-5
Open

[nfc][cmake] mention that some builtins are no longer bundled#21596
ferdymercury wants to merge 14 commits into
root-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

github-actions Bot commented Mar 13, 2026

Copy link
Copy Markdown

Test Results

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

Results for commit 103ece7.

♻️ This comment has been updated with latest results.

@dpiparo

dpiparo commented Mar 15, 2026

Copy link
Copy Markdown
Member

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
Comment thread cmake/modules/RootBuildOptions.cmake Outdated
Comment thread cmake/modules/RootBuildOptions.cmake Outdated
Comment thread cmake/modules/RootBuildOptions.cmake Outdated
Comment thread cmake/modules/RootBuildOptions.cmake Outdated
Comment thread cmake/modules/RootBuildOptions.cmake Outdated
Comment thread cmake/modules/RootBuildOptions.cmake Outdated
Comment thread cmake/modules/RootBuildOptions.cmake Outdated
Comment thread cmake/modules/RootBuildOptions.cmake Outdated
as suggested by dpiparo
ROOT_BUILD_OPTION(builtin_gsl OFF "Build GSL internally (requires network) [GPL]")
ROOT_BUILD_OPTION(builtin_gtest OFF "Build googletest internally (requires network)")
ROOT_BUILD_OPTION(builtin_jpeg OFF "Build bundled copy of libjpeg")
ROOT_BUILD_OPTION(builtin_civetweb ON "Build civetweb from an externally provided source tarball (requires network)")

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.

awaiting #22731 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