[commit: ghc] master: Enable dynamic-by-default for unregisterised arches (c22850f)

Ian Lynagh <[email protected]>
Newsgroups gmane.comp.lang.haskell.cvs.ghc
Message-ID <[email protected]>
Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/c22850f7c950009ee4de84c20dc4a6cf7c0b500f

>---------------------------------------------------------------

commit c22850f7c950009ee4de84c20dc4a6cf7c0b500f
Author: Ian Lynagh <[email protected]>
Date:   Thu Nov 22 21:35:29 2012 +0000

    Enable dynamic-by-default for unregisterised arches
    
    This makes ghci work on platforms without any special support in the
    GHCi linker:
    
    Prelude> (System.Info.os, System.Info.arch)
    ("linux","s390")

>---------------------------------------------------------------

 mk/config.mk.in |   22 +++++++++++-----------
 1 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/mk/config.mk.in b/mk/config.mk.in
index 65a5957..bc85bd4 100644
--- a/mk/config.mk.in
+++ b/mk/config.mk.in
@@ -132,21 +132,21 @@ endif
 PlatformSupportsSharedLibs = $(if $(filter $(TARGETPLATFORM),\
 	$(SharedLibsPlatformList)),YES,NO)
 
-SharedLibsByDefaultPlatformList =               \
-                         x86_64-unknown-linux   \
-                         x86_64-apple-darwin
-
-# DYANMIC_BY_DEFAULT says whether this compiler will default to
+# DYNAMIC_BY_DEFAULT says whether this compiler will default to
 # building dynamic executables, i.e. -dynamic is on.  We do this for
-# certain platforms because it lets us use the system dynamic linker
+# most platforms because it lets us use the system dynamic linker
 # instead of our own linker for GHCi.
 #
-# We do not enable this for an unregisterised build.  It is currently
-# unknown whether shared libraries (should) work when unregisterised.
+# Currently this isn't possible on Windows, and we have not yet enabled
+# it on i386 while we consider the performance implications.
 #
-DYNAMIC_BY_DEFAULT = $(strip $(if $(filter YES,$(GhcUnregisterised)),NO,\
-			  $(if $(filter $(TARGETPLATFORM),\
-				$(SharedLibsByDefaultPlatformList)),YES,NO)))
+ifeq "$(TargetOS_CPP)" "mingw32"
+DYNAMIC_BY_DEFAULT = NO
+else ifeq "$(TargetArch_CPP)" "i386"
+DYNAMIC_BY_DEFAULT = NO
+else
+DYNAMIC_BY_DEFAULT = YES
+endif
 
 # Build a compiler that will build *unregisterised* libraries and
 # binaries by default.  Unregisterised code is supposed to compile and
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.