FIX #2832: Setting SplitObjs=NO doesn't disable -split-objs in GHC
authorSimon Marlow <marlowsd@gmail.com>
Wed, 11 Mar 2009 11:00:58 +0000 (11:00 +0000)
committerSimon Marlow <marlowsd@gmail.com>
Wed, 11 Mar 2009 11:00:58 +0000 (11:00 +0000)
Now ghc --info reports whether-split-objs is supported, rather than
whether the libraries were built using -split-objs.

compiler/Makefile
mk/config.mk.in

index de9ce9a..1870153 100644 (file)
@@ -246,7 +246,7 @@ $(CONFIG_HS) : $(FPTOOLS_TOP)/mk/config.mk
        @echo "cHscIfaceFileVersion  :: String" >> $(CONFIG_HS)
        @echo "cHscIfaceFileVersion  = \"$(HscIfaceFileVersion)\"" >> $(CONFIG_HS)
        @echo "cSplitObjs            :: String" >> $(CONFIG_HS)
-       @echo "cSplitObjs            = \"$(SplitObjs)\"" >> $(CONFIG_HS)
+       @echo "cSplitObjs            = \"$(SupportsSplitObjs)\"" >> $(CONFIG_HS)
        @echo "cGhcWithInterpreter   :: String" >> $(CONFIG_HS)
        @echo "cGhcWithInterpreter   = \"$(GhcWithInterpreter)\"" >> $(CONFIG_HS)
        @echo "cGhcWithNativeCodeGen :: String" >> $(CONFIG_HS)
index 6f16dd5..bdaed16 100644 (file)
@@ -441,14 +441,19 @@ PackageSourceURL = http://darcs.haskell.org/packages/$(PACKAGE)/%{FILE}
 #              system needs to do other special magic if you are
 #              doing object-file splitting
 
+ArchSupportsSplitObjs=$(strip $(if $(filter $(TargetArch_CPP),i386 x86_64 powerpc sparc),YES,NO))
+
 # lazy test, so that $(GhcUnregisterised) can be set in build.mk
-SplitObjs=$(strip $(if $(filter $(TargetArch_CPP),i386 x86_64 powerpc sparc),\
-                   $(if $(filter YES,$(BootingFromHC)),\
-                     NO,\
-                     $(if $(filter NO,$(GhcUnregisterised)),\
-                       YES,\
-                       NO)),\
-                   NO))
+SupportsSplitObjs=$(strip $(if $(filter YES,$(ArchSupportsSplitObjs)),\
+                   $(if $(filter NO,$(BootingFromHc)),\
+                     $(if $(filter NO,$(GhcUnregisterised)),\
+                       YES,\
+                       NO),\
+                      NO),\
+                    NO))
+
+# By default, enable SplitObjs for the libraries if this build supports it
+SplitObjs=$(SupportsSplitObjs)
 
 # Math library
 LIBM=@LIBM@