Daniel Vanko has uploaded this change for review. (
http://gerrit.cloudera.org:8080/25007
Change subject: IMPALA-15442: Add CRoaring 5.2.2
......................................................................
IMPALA-15442: Add CRoaring 5.2.2
Adds the CRoaring library to the toolchain so that Impala can stop
vendoring an amalgamated copy under be/src/thirdparty/roaring. Both
shared and static library variants are built (like simdutf, CRoaring's
CMake produces one or the other, so each is built separately), with
tests and benchmarks disabled.
Three flags beyond the usual set are needed:
- ROARING_USE_CPM=OFF: the configure step otherwise downloads
CPM.cmake from GitHub, even though the only thing that needs it
(cmocka, for the tests) is disabled.
- CMAKE_POSITION_INDEPENDENT_CODE=ON: without it libroaring.a cannot
be linked into a shared object.
- CMAKE_INSTALL_LIBDIR=lib: CRoaring uses GNUInstallDirs, which
installs into lib64 on non-Debian platforms.
The static variant is built last so that the installed CMake package
config describes it. Both variants write the same export files, and
CMake skips installing a file whose timestamp is not newer than the
installed copy, so the exported config is removed before each install.
Otherwise the static install can leave the shared build's
roaring-targets.cmake in place, declaring a SHARED imported target that
points at libroaring.a.
The upstream source tarball keeps the project's mixed-case spelling,
while the toolchain package name is lowercased, so the archive name and
the extracted directory are passed explicitly and the directory is
renamed, as is done for googlebenchmark.
Change-Id: I37a86dcf26d330e9508c1839cdea2d80d33a9319
Assisted-by: Claude Opus 5 (Claude Code)
---
M buildall.sh
A source/croaring/build.sh
2 files changed, 85 insertions(+), 0 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/native-toolchain
refs/changes/07/25007/1
--
To view, visit http://gerrit.cloudera.org:8080/25007
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: native-toolchain
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I37a86dcf26d330e9508c1839cdea2d80d33a9319
Gerrit-Change-Number: 25007
Gerrit-PatchSet: 1
Gerrit-Owner: Daniel Vanko <[email protected]>