diff --git a/libcxx/include/module.modulemap b/libcxx/include/module.modulemap index b9964dac84acd..78b313be7d317 100644 --- a/libcxx/include/module.modulemap +++ b/libcxx/include/module.modulemap @@ -1,13 +1,36 @@ // This module contains headers related to the configuration of the library. These headers // are free of any dependency on the rest of libc++. module std_config [system] { - textual header "__config" - textual header "__configuration/abi.h" - textual header "__configuration/availability.h" - textual header "__configuration/compiler.h" - textual header "__configuration/language.h" - textual header "__configuration/platform.h" - textual header "version" + // Each of these submodules has "export *" to preserve compatibility by ensuring that + // when you include the module, you get the transitive deps. + module config { + header "__config" + export * + } + module abi { + header "__configuration/abi.h" + export * + } + module availability { + header "__configuration/availability.h" + export * + } + module compiler { + header "__configuration/compiler.h" + export * + } + module language { + header "__configuration/language.h" + export * + } + module platform { + header "__configuration/platform.h" + export * + } + module version { + header "version" + export * + } } module std_core [system] {