diff --git a/llvm/include/llvm/module.modulemap b/llvm/include/llvm/module.modulemap --- a/llvm/include/llvm/module.modulemap +++ b/llvm/include/llvm/module.modulemap @@ -399,6 +399,9 @@ umbrella "ADT" module * { export * } + + // Exclude this; it is a forwarding header to TargetParser. + exclude header "ADT/Triple.h" } module Support { @@ -413,23 +416,21 @@ // Exclude these; they are fundamentally non-modular. exclude header "Support/PluginLoader.h" exclude header "Support/Solaris/sys/regset.h" - textual header "Support/TargetOpcodes.def" - - } - module TargetParser { - requires cplusplus - - umbrella "TargetParser" - module * { export * } + textual header "Support/TargetOpcodes.def" - // These are intended for textual inclusion. - textual header "TargetParser/AArch64TargetParser.def" - textual header "TargetParser/ARMTargetParser.def" - textual header "TargetParser/CSKYTargetParser.def" - textual header "TargetParser/RISCVTargetParser.def" - textual header "TargetParser/X86TargetParser.def" - textual header "TargetParser/LoongArchTargetParser.def" + // Exclude these; they are forwarding headers to TargetParser. + exclude header "Support/TargetParser.h" + exclude header "Support/AArch64TargetParser.h" + exclude header "Support/AArch64TargetParser.h" + exclude header "Support/ARMTargetParser.h" + exclude header "Support/ARMTargetParserCommon.h" + exclude header "Support/CSKYTargetParser.h" + exclude header "Support/Host.h" + exclude header "Support/LoongArchTargetParser.h" + exclude header "Support/TargetParser.h" + exclude header "Support/X86TargetParser.def" + exclude header "Support/X86TargetParser.h" } // This part of the module is usable from both C and C++ code. @@ -439,6 +440,37 @@ } } +module LLVM_TargetParser { + requires cplusplus + + umbrella "TargetParser" + module * { export * } + + // These are intended for textual inclusion. + textual header "TargetParser/AArch64TargetParser.def" + textual header "TargetParser/ARMTargetParser.def" + textual header "TargetParser/CSKYTargetParser.def" + textual header "TargetParser/RISCVTargetParser.def" + textual header "TargetParser/X86TargetParser.def" + textual header "TargetParser/LoongArchTargetParser.def" + + // Forwarding Headers, will be removed. + header "ADT/Triple.h" + header "Support/TargetParser.h" + header "Support/AArch64TargetParser.h" + header "Support/AArch64TargetParser.h" + header "Support/ARMTargetParser.h" + header "Support/ARMTargetParserCommon.h" + header "Support/CSKYTargetParser.h" + header "Support/Host.h" + header "Support/LoongArchTargetParser.h" + header "Support/TargetParser.h" + header "Support/X86TargetParser.h" + + // Forwarding Textual Header + textual header "Support/X86TargetParser.def" +} + // This is used for a $src == $build compilation. Otherwise we use // LLVM_Support_DataTypes_Build, defined in a module map that is // copied into the build area.