summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lynagh <igloo@earth.li>2011-12-02 21:35:18 +0000
committerIan Lynagh <igloo@earth.li>2011-12-02 21:38:04 +0000
commite8723129a6c48438e81f95a73271014ffa96eaa3 (patch)
treec82faa1a063be27fdd827deeda1d4f5e41418a3c
parent2694bb74158bac7276cded2435bba8e889659f98 (diff)
downloadhaskell-e8723129a6c48438e81f95a73271014ffa96eaa3.tar.gz
Move includes/DerivedConstants.h and includes/GHCConstants.h into dist dirs
When they existed, they were getting included in the includes_H_FILES variable (as it uses wildcard to find all header files). But the .depends files for the programs that generate the headers depend on $(includes_H_FILES), so the .depends files looked out-of-date once the headers had been created. This caused unnecessary make reinvocations. So now we put them in dist* directories, where they ought to be anyway.
-rw-r--r--compiler/codeGen/CgProf.hs2
-rw-r--r--compiler/codeGen/CgTicky.hs2
-rw-r--r--compiler/codeGen/StgCmmProf.hs2
-rw-r--r--compiler/codeGen/StgCmmTicky.hs2
-rw-r--r--includes/HaskellConstants.hs4
-rw-r--r--includes/ghc.mk13
-rw-r--r--rts/package.conf.in2
7 files changed, 15 insertions, 12 deletions
diff --git a/compiler/codeGen/CgProf.hs b/compiler/codeGen/CgProf.hs
index 3e247ff4d6..cac33eef90 100644
--- a/compiler/codeGen/CgProf.hs
+++ b/compiler/codeGen/CgProf.hs
@@ -35,7 +35,7 @@ module CgProf (
#include "../includes/rts/Constants.h"
-- For LDV_CREATE_MASK, LDV_STATE_USE
-- which are StgWords
-#include "../includes/DerivedConstants.h"
+#include "../includes/dist-derivedconstants/header/DerivedConstants.h"
-- For REP_xxx constants, which are MachReps
import ClosureInfo
diff --git a/compiler/codeGen/CgTicky.hs b/compiler/codeGen/CgTicky.hs
index 04f38ac8c4..0ff440e6bf 100644
--- a/compiler/codeGen/CgTicky.hs
+++ b/compiler/codeGen/CgTicky.hs
@@ -43,7 +43,7 @@ module CgTicky (
staticTickyHdr,
) where
-#include "../includes/DerivedConstants.h"
+#include "../includes/dist-derivedconstants/header/DerivedConstants.h"
-- For REP_xxx constants, which are MachReps
import ClosureInfo
diff --git a/compiler/codeGen/StgCmmProf.hs b/compiler/codeGen/StgCmmProf.hs
index d9b3583382..115ef1f45e 100644
--- a/compiler/codeGen/StgCmmProf.hs
+++ b/compiler/codeGen/StgCmmProf.hs
@@ -36,7 +36,7 @@ module StgCmmProf (
#include "../includes/rts/Constants.h"
-- For LDV_CREATE_MASK, LDV_STATE_USE
-- which are StgWords
-#include "../includes/DerivedConstants.h"
+#include "../includes/dist-derivedconstants/header/DerivedConstants.h"
-- For REP_xxx constants, which are MachReps
import StgCmmClosure
diff --git a/compiler/codeGen/StgCmmTicky.hs b/compiler/codeGen/StgCmmTicky.hs
index 8b8ab34989..a6c592cfd8 100644
--- a/compiler/codeGen/StgCmmTicky.hs
+++ b/compiler/codeGen/StgCmmTicky.hs
@@ -46,7 +46,7 @@ module StgCmmTicky (
) where
#include "HsVersions.h"
-#include "../includes/DerivedConstants.h"
+#include "../includes/dist-derivedconstants/header/DerivedConstants.h"
-- For REP_xxx constants, which are MachReps
import StgCmmClosure
diff --git a/includes/HaskellConstants.hs b/includes/HaskellConstants.hs
index f133f6ac62..e38e896ba0 100644
--- a/includes/HaskellConstants.hs
+++ b/includes/HaskellConstants.hs
@@ -19,7 +19,7 @@ settings for the target plat instead).
#include "stg/MachRegs.h"
#include "rts/Constants.h"
#include "MachDeps.h"
-#include "DerivedConstants.h"
+#include "../includes/dist-derivedconstants/header/DerivedConstants.h"
-- import Util
@@ -196,5 +196,5 @@ bITMAP_BITS_SHIFT = BITMAP_BITS_SHIFT
-- Constants derived from headers in ghc/includes, generated by the program
-- ../includes/mkDerivedConstants.c.
-#include "GHCConstants.h"
+#include "../includes/dist-ghcconstants/header/GHCConstants.h"
diff --git a/includes/ghc.mk b/includes/ghc.mk
index 7c2aac52cf..0ef2f54906 100644
--- a/includes/ghc.mk
+++ b/includes/ghc.mk
@@ -41,7 +41,10 @@ ifeq "$(GhcEnableTablesNextToCode) $(GhcUnregisterised)" "YES NO"
includes_CC_OPTS += -DTABLES_NEXT_TO_CODE
endif
-includes_CC_OPTS += -Iincludes -Irts
+includes_CC_OPTS += -Iincludes
+includes_CC_OPTS += -Iincludes/dist-derivedconstants/header
+includes_CC_OPTS += -Iincludes/dist-ghcconstants/header
+includes_CC_OPTS += -Irts
ifneq "$(GhcWithSMP)" "YES"
includes_CC_OPTS += -DNOSMP
@@ -126,7 +129,7 @@ endif
# ---------------------------------------------------------------------------
# Make DerivedConstants.h for the compiler
-includes_DERIVEDCONSTANTS = includes/DerivedConstants.h
+includes_DERIVEDCONSTANTS = includes/dist-derivedconstants/header/DerivedConstants.h
ifeq "$(PORTING_HOST)" "YES"
@@ -145,7 +148,7 @@ $(includes_dist-derivedconstants_depfile_c_asm) : $(includes_H_CONFIG) $(include
includes/dist-derivedconstants/build/mkDerivedConstants.o : $(includes_H_CONFIG) $(includes_H_PLATFORM)
ifneq "$(BINDIST)" "YES"
-$(includes_DERIVEDCONSTANTS) : $(INPLACE_BIN)/mkDerivedConstants$(exeext)
+$(includes_DERIVEDCONSTANTS) : $(INPLACE_BIN)/mkDerivedConstants$(exeext) | $$(dir $$@)/.
./$< >$@
endif
@@ -154,7 +157,7 @@ endif
# -----------------------------------------------------------------------------
#
-includes_GHCCONSTANTS = includes/GHCConstants.h
+includes_GHCCONSTANTS = includes/dist-ghcconstants/header/GHCConstants.h
ifeq "$(PORTING_HOST)" "YES"
@@ -175,7 +178,7 @@ $(includes_dist-ghcconstants_depfile_c_asm) : $(includes_H_CONFIG) $(includes_H_
includes/dist-ghcconstants/build/mkDerivedConstants.o : $(includes_H_CONFIG) $(includes_H_PLATFORM)
-$(includes_GHCCONSTANTS) : $(INPLACE_BIN)/mkGHCConstants$(exeext)
+$(includes_GHCCONSTANTS) : $(INPLACE_BIN)/mkGHCConstants$(exeext) | $$(dir $$@)/.
./$< >$@
endif
diff --git a/rts/package.conf.in b/rts/package.conf.in
index a1161eaa6f..477c59fc60 100644
--- a/rts/package.conf.in
+++ b/rts/package.conf.in
@@ -51,7 +51,7 @@ extra-libraries:
#ifdef INSTALLING
include-dirs: INCLUDE_DIR PAPI_INCLUDE_DIR
#else /* !INSTALLING */
-include-dirs: TOP"/includes"
+include-dirs: TOP"/includes" TOP"/includes/dist-ghcconstants/header" TOP"/includes/dist-derivedconstants/header"
#endif
includes: Stg.h