Repository navigation
Expose quill module to Bazel - #997
Merged
Merged
Conversation
rdong8
commented
Sep 9, 2026
Preserve src/quill.cc and gate the Bazel module on the working Bazel 9 C++ implementation. Keep ordinary header targets usable without module flags, document the required macro and PIC settings, and retain rules_cc 0.2.22. Make singleton accessors explicitly inline so module importers share state and automatic shutdown remains safe. Match CMake module exception settings with its consumers. Add Bazel 8/9 and CMake module workflows with standard-type, sink, cross-translation-unit, and shutdown smoke coverage.
rules_cc locates clang-scan-deps beside the selected compiler. Use Ubuntu's LLVM tool directory and install clang-tools-18 so dependency scanning can run without an unversioned scanner in /usr/bin. Document the same setup for consumers.
libstdc++ C forwarding headers can be entered again after their declarations were included in the global module fragment. Limit the Clang diagnostic suppression to those module-wrapper includes and restore diagnostics afterwards. Build the Bazel module test with warnings treated as errors.
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.
cc_library(module_interfaces = ...)must be supported. If the consumer omits--experimental_cpp_modulesbut has a Bazel version supportingmodule_interfaces, they're still ok as long as they don't try to build the module. The module is tagged"manual"to prevent it from being accidentally bulit.quill.cctoquill.cppm(module interface file extension)This was assisted by AI and tested in my personal monorepo with Bazel 9.2.