bazel: add Qt corelib bootstrap headers for hermetic builds#9744
bazel: add Qt corelib bootstrap headers for hermetic builds#9744oharboe wants to merge 1 commit intoThe-OpenROAD-Project:masterfrom
Conversation
Qt public headers in build/include/QtCore/ internally include bootstrap headers from src/corelib/ subdirectories. Under strict Bazel sandboxing, these transitive includes are undeclared and cause build failures. Add a patch to the qt-bazel git_override that explicitly declares the corelib bootstrap headers in the QtCore target's hdrs. Test: bazelisk query on @qt-bazel//qt_source:bootstrap hdrs Before (without patch): 2 src/corelib headers declared src/corelib/text/qlocale_data_p.h src/corelib/time/qromancalendar_data_p.h After (with patch): 383 src/corelib headers declared across src/corelib/global/*.h src/corelib/io/*.h src/corelib/kernel/*.h src/corelib/plugin/*.h src/corelib/serialization/*.h src/corelib/text/*.h src/corelib/time/*.h src/corelib/tools/*.h Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
There was a problem hiding this comment.
Code Review
This pull request resolves a hermetic build issue with Qt under Bazel by explicitly declaring bootstrap headers. A patch is applied to the qt-bazel dependency to add the required header files to the QtCore target. The changes are correct and effectively address the build failure. I have no further recommendations.
|
clang-tidy review says "All clean, LGTM! 👍" |
|
@hzeller Claude told me this had to be fixed 😺
? |
|
Is this actually breaking something? If so what's the error? And this should most certainly be upstreamed. |
I was trying to get numbers on #9738 when Claude said that this had to be fixed. Claude was doing a lot of That's all I know. |
|
I think first establishing if there is a problem is a good step. |
We have this pull request. Close it as an "observe and report" PR that we can pull out if needed? |
|
@maliberty I'm closing this, you know where to find it if you hear about the problem from someone else. If I am able to reproduce it, I will let you know. |
@hzeller Thoughts?
Qt public headers in build/include/QtCore/ internally include bootstrap headers from src/corelib/ subdirectories. Under strict Bazel sandboxing, these transitive includes are undeclared and cause build failures. Add a patch to the qt-bazel git_override that explicitly declares the corelib bootstrap headers in the QtCore target's hdrs.
Test: bazelisk query on @qt-bazel//qt_source:bootstrap hdrs
Before (without patch): 2 src/corelib headers declared
src/corelib/text/qlocale_data_p.h
src/corelib/time/qromancalendar_data_p.h
After (with patch): 383 src/corelib headers declared across
src/corelib/global/.h
src/corelib/io/.h
src/corelib/kernel/.h
src/corelib/plugin/.h
src/corelib/serialization/.h
src/corelib/text/.h
src/corelib/time/.h
src/corelib/tools/.h