[clib] full isolation from ROOT - #23356
Open
ferdymercury wants to merge 3 commits into
Open
ferdymercury wants to merge 3 commits into
ferdymercury wants to merge 3 commits into
Conversation
ferdymercury
force-pushed
the
bclib2
branch
from
September 14, 2026 08:25
485d2a3 to
2e79b5f
Compare
Test Results 20 files 20 suites 3d 8h 56m 22s ⏱️ For more details on these failures, see this check. Results for commit f05dd87. ♻️ This comment has been updated with latest results. |
ferdymercury
force-pushed
the
bclib2
branch
from
September 14, 2026 08:27
2e79b5f to
8d7ca43
Compare
This is all C code that was copy-pasted from external packages in 1990x and 200x. It was then slightly adapted for ROOT but most of the structure is the same. Here, the code is put into the builtins directory. This is done for several reasons: - consistency with libafterimage, mathtext, glad: they have been all forked from upstream and fixed / adapted for ROOT. Likewise for core/clib, put them in builtins directory to have a better overview of all "dependencies" or borrowed things with upstream counterparts. - makes it clearer to deal with licensing and copyright notices by better separating source of the code - builtins folder gives kind of more recognition/overview to original authors (before adaptions and modifications) - system packagers (eg Debian) might complain less by better clarifying externals vs internals - when a bug is found in those builtins, it easens the opportunity to crosscheck with upstream whether it was fixed there - it allows in the future a more easy drop-in replacement with a more up-to-date library rather than a hard-coded copy paste - Less annoying surface for clang-tidy etc, things from builtins can be filtered out. [macosx] missing include path
ferdymercury
force-pushed
the
bclib2
branch
from
September 14, 2026 09:43
d914062 to
e7fcf2b
Compare
ferdymercury
force-pushed
the
bclib2
branch
5 times, most recently
from
September 14, 2026 11:57
e19c8d7 to
00cb6fb
Compare
ferdymercury
force-pushed
the
bclib2
branch
from
September 14, 2026 12:22
00cb6fb to
f05dd87
Compare
ferdymercury
marked this pull request as ready for review
September 14, 2026 14:48
ferdymercury
requested review from
bellenot,
couet,
dpiparo,
guitargeek,
hageboeck,
jblomer and
pcanal
as code owners
September 14, 2026 14:48
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
@hageboeck this is a "variant" of your nice PR #23150
It builds on top of #23040 so only the last commit is relevant.
It follows your strategy and nomenclature (ROOTclib), but besides privatization, it fully isolates Clib from ROOT.
So the same strategy as libAfterImage, it's full standalone and no longer depends on RConfig headers, etc.
Needs first:
#23040
#23344