Skip to content

Instantly share code, notes, and snippets.

@EricWF
Created December 5, 2016 09:58
Show Gist options
  • Select an option

  • Save EricWF/ad1ebcec908d38130485a577d8139d15 to your computer and use it in GitHub Desktop.

Select an option

Save EricWF/ad1ebcec908d38130485a577d8139d15 to your computer and use it in GitHub Desktop.
diff --git a/include/llvm/module.modulemap b/include/llvm/module.modulemap
index a86bc7e..f85e534 100644
--- a/include/llvm/module.modulemap
+++ b/include/llvm/module.modulemap
@@ -38,7 +38,17 @@ module LLVM_Backend {
}
module LLVM_Bitcode { requires cplusplus umbrella "Bitcode" module * { export * } }
-module LLVM_Config { requires cplusplus umbrella "Config" module * { export * } }
+module LLVM_Config {
+ requires cplusplus
+ umbrella "Config"
+ module * { export * }
+
+ textual header "Config/AsmParsers.def"
+ textual header "Config/AsmPrinters.def"
+ textual header "Config/Disassemblers.def"
+ textual header "Config/Targets.def"
+
+}
module LLVM_DebugInfo {
requires cplusplus
@@ -145,7 +155,11 @@ module LLVM_intrinsic_gen {
// Attributes.h
module IR_Argument { header "IR/Argument.h" export * }
- module IR_Attributes { header "IR/Attributes.h" export * }
+ module IR_Attributes {
+ textual header "IR/Attributes.gen"
+ header "IR/Attributes.h"
+ export *
+ }
module IR_CallSite { header "IR/CallSite.h" export * }
module IR_ConstantFolder { header "IR/ConstantFolder.h" export * }
module IR_NoFolder { header "IR/NoFolder.h" export * }
@@ -166,7 +180,11 @@ module LLVM_intrinsic_gen {
module IR_Verifier { header "IR/Verifier.h" export * }
module IR_InstIterator { header "IR/InstIterator.h" export * }
module IR_InstVisitor { header "IR/InstVisitor.h" export * }
- module IR_Intrinsics { header "IR/Intrinsics.h" export * }
+ module IR_Intrinsics {
+ textual header "IR/Intrinsics.gen"
+ header "IR/Intrinsics.h"
+ export *
+ }
module IR_IntrinsicInst { header "IR/IntrinsicInst.h" export * }
module IR_PatternMatch { header "IR/PatternMatch.h" export * }
module IR_Statepoint { header "IR/Statepoint.h" export * }
@@ -232,6 +250,13 @@ module LLVM_Transforms {
module * { export * }
}
+// FIXME: DataTypes.h is needed to build the LLVM_C module so it cannot be
+// a part of the LLVM_Utils module which depends on LLVM_C.
+module LLVM_Utils_DataTypes {
+ header "Support/DataTypes.h"
+ export *
+}
+
// A module covering ADT/ and Support/. These are intertwined and
// codependent, and notionally form a single module.
module LLVM_Utils {
@@ -248,6 +273,9 @@ module LLVM_Utils {
umbrella "Support"
module * { export * }
+ // Exclude this; it is built as its own module.
+ exclude header "Support/DataTypes.h"
+
// Exclude this; it's only included on Solaris.
exclude header "Support/Solaris.h"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment