Skip to content

[builtins] download instead of bundle xxhash and bump from 0.8.0 to 0.8.3#21806

Open
ferdymercury wants to merge 12 commits intoroot-project:masterfrom
ferdymercury:xxh
Open

[builtins] download instead of bundle xxhash and bump from 0.8.0 to 0.8.3#21806
ferdymercury wants to merge 12 commits intoroot-project:masterfrom
ferdymercury:xxh

Conversation

@ferdymercury
Copy link
Copy Markdown
Collaborator

No description provided.

@ferdymercury ferdymercury changed the title [skip-ci,builtins] download instead of bundle xxhash [builtins] download instead of bundle xxhash Apr 7, 2026
@dpiparo dpiparo self-assigned this Apr 7, 2026
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 7, 2026

Test Results

    22 files      22 suites   3d 6h 56m 29s ⏱️
 3 833 tests  3 832 ✅  1 💤 0 ❌
76 552 runs  76 534 ✅ 18 💤 0 ❌

Results for commit f94d4a9.

♻️ This comment has been updated with latest results.

add CMakeLists patch

rm bundled copy
@ferdymercury ferdymercury changed the title [builtins] download instead of bundle xxhash [builtins] download instead of bundle xxhash and bump from 0.8.0 to 0.8.3 Apr 7, 2026
set(xxHash_LIBRARY $<TARGET_FILE:xxhash> CACHE INTERNAL "")
set(xxHash_LIBRARIES xxHash::xxHash CACHE INTERNAL "")

set_property(GLOBAL APPEND PROPERTY ROOT_BUILTIN_TARGETS xxHash::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.

Only some BUILTINs have this line, but not others such as libgif, etc.

Should we remove everywhere, or add everywhere, or is hybrid intended?

builtins/nlohmann/CMakeLists.txt:set_property(GLOBAL APPEND PROPERTY ROOT_BUILTIN_TARGETS builtin_nlohmann_json_incl)
builtins/pcre/CMakeLists.txt:set_property(GLOBAL APPEND PROPERTY ROOT_BUILTIN_TARGETS PCRE)
builtins/zlib/CMakeLists.txt:set_property(GLOBAL APPEND PROPERTY ROOT_BUILTIN_TARGETS ZLIB::ZLIB)
builtins/xrootd/CMakeLists.txt:set_property(GLOBAL APPEND PROPERTY ROOT_BUILTIN_TARGETS BUILTIN_XROOTD)
builtins/openssl/CMakeLists.txt:set_property(GLOBAL APPEND PROPERTY ROOT_BUILTIN_TARGETS OPENSSL)
cmake/modules/SearchInstalledSoftware.cmake:    set_property(GLOBAL APPEND PROPERTY ROOT_BUILTIN_TARGETS VDT::VDT)
CMakeLists.txt:get_property(__allBuiltins GLOBAL PROPERTY ROOT_BUILTIN_TARGETS)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

we tried to preserve the targets, and also to trim away the code which was not necessary. What we tried to achieve is to have these 4 variables for all builtins:

XYZ_INCLUDE_DIRS
XYZ_LIBRARIES
XYZ_FOUND
XYZ_VERSION

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.

Thanks, but I meant specifically the line:
set_property(GLOBAL APPEND PROPERTY ROOT_BUILTIN_TARGETS xxHash::xxHash)

the equivalent line is in the zlib builtin but not in the other builtins, so I was not sure which way to go

Copy link
Copy Markdown
Collaborator Author

@ferdymercury ferdymercury Apr 8, 2026

Choose a reason for hiding this comment

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

It's used later for

get_property(__allBuiltins GLOBAL PROPERTY ROOT_BUILTIN_TARGETS)
add_custom_target(move_headers ALL DEPENDS ${__allHeaders} ${__allBuiltins} gitinfotxt)

so I guess all of them should have this, right now only a couple of them have this ?

or maybe it depends on static vs shared?

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.

See for example commit 929f249

@ferdymercury ferdymercury requested a review from hageboeck April 8, 2026 19:28
@ferdymercury ferdymercury requested a review from amadio April 10, 2026 07:00
@dpiparo
Copy link
Copy Markdown
Member

dpiparo commented Apr 10, 2026

thanks. I propose to also add builtin_xxhash to https://github.com/root-project/root/blob/master/.github/workflows/root-ci-config/buildconfig/alma10-clang_ninja.txt in order to test the changes on linux w/o resorting to the system library.

to check no conflicts with system library
as suggested by dpiparo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants