Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 10 additions & 7 deletions build/unix/module.modulemap
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// This module contains header files from module Core which can be used in both
// C and C++ context.
module ROOT_Foundation_C [system] {
module ROOT_Foundation_C {
module "ThreadLocalStorage.h" { header "ThreadLocalStorage.h" export * }
module "strlcpy.h" { header "strlcpy.h" export * }
module "snprintf.h" { header "snprintf.h" export * }
Expand All @@ -11,7 +11,7 @@ module ROOT_Foundation_C [system] {
// This module contains header files from module Core which are used as
// configuration for ROOT. They contain a lot of macro definitions which are
// supposed to be textually expanded in each TU.
module ROOT_Config [system] {
module ROOT_Config {
// These headers are supposed to be only textually expanded for each TU.
module "RVersion.h" { textual header "RVersion.h" export * }
module "RConfig.h" { textual header "RConfig.h" export * }
Expand All @@ -23,10 +23,13 @@ module ROOT_Config [system] {
export *
}

module ROOT_Rtypes {
module "RtypesCore.h" { header "RtypesCore.h" export * }
}

// This module contains header files from module Core which do not need -frtti.
// They are mainly needed for ROOT stage1 build.
module ROOT_Foundation_Stage1_NoRTTI [system] {
module "RtypesCore.h" { header "RtypesCore.h" export * }
module ROOT_Foundation_Stage1_NoRTTI {
module "ESTLType.h" { header "ESTLType.h" export * }
module "ROOT/RStringView.hxx" {
// RWrap_libcpp_string_view.h is meant to be included only by ROOT/RStringView.hxx
Expand Down Expand Up @@ -55,9 +58,9 @@ module ROOT_Foundation_Stage1_NoRTTI [system] {
// when there is no folder GL or contents in it.
// module ROOT_Glew {
// Depending on the platform we get some of these three installed.
module "glew.h" [system] { header "GL/glew.h" export * }
module "wglew.h" [system] { header "GL/wglew.h" export * }
module "glxew.h" [system] { header "GL/glxew.h" export * }
module "glew.h" { header "GL/glew.h" export * }
module "wglew.h" { header "GL/wglew.h" export * }
module "glxew.h" { header "GL/glxew.h" export * }
// link "lib/libGLEW.so"
//}

Expand Down
9 changes: 5 additions & 4 deletions core/dictgen/src/rootcling_impl.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -3912,14 +3912,15 @@ class CheckModuleBuildClient : public clang::DiagnosticConsumer {
}
}

// Skip the diag only if we build a system module. We still print the diag
// Skip the diag only if we build a ROOT system module or a system module. We still print the diag
// when building a non-system module as we will print an error below and the
// user should see the detailed default clang diagnostic.
bool isSystemModuleDiag = module && module->IsSystem;
if (!isSystemModuleDiag)
bool isROOTSystemModuleDiag = module && llvm::StringRef(moduleName).startswith("ROOT_");
bool isSystemModuleDiag = module && module && module->IsSystem;
if (!isROOTSystemModuleDiag && !isSystemModuleDiag)
fChild->HandleDiagnostic(DiagLevel, Info);

if (ID == remark_module_build && !isSystemModuleDiag) {
if (ID == remark_module_build && !isROOTSystemModuleDiag && !isSystemModuleDiag) {
ROOT::TMetaUtils::Error(0,
"Had to build non-system module %s implicitly. You first need to\n"
"generate the dictionary for %s or mark the C++ module as a system\n"
Expand Down