summaryrefslogtreecommitdiff
path: root/hadrian/src/Settings/Builders/HsCpp.hs
diff options
context:
space:
mode:
Diffstat (limited to 'hadrian/src/Settings/Builders/HsCpp.hs')
-rw-r--r--hadrian/src/Settings/Builders/HsCpp.hs16
1 files changed, 16 insertions, 0 deletions
diff --git a/hadrian/src/Settings/Builders/HsCpp.hs b/hadrian/src/Settings/Builders/HsCpp.hs
new file mode 100644
index 0000000000..aeb5255990
--- /dev/null
+++ b/hadrian/src/Settings/Builders/HsCpp.hs
@@ -0,0 +1,16 @@
+module Settings.Builders.HsCpp (hsCppBuilderArgs) where
+
+import Settings.Builders.Common
+
+hsCppBuilderArgs :: Args
+hsCppBuilderArgs = builder HsCpp ? do
+ stage <- getStage
+ root <- getBuildRoot
+ ghcPath <- expr $ buildPath (vanillaContext stage compiler)
+ mconcat [ getSettingList HsCppArgs
+ , arg "-P"
+ , arg "-Iincludes"
+ , arg $ "-I" ++ root -/- generatedDir
+ , arg $ "-I" ++ ghcPath
+ , arg "-x", arg "c"
+ , arg =<< getInput ]