Globally replace "hackage.haskell.org" with "ghc.haskell.org"
[ghc.git] / mk / config.mk.in
index 55f5756..20bb1ed 100644 (file)
@@ -95,7 +95,7 @@ TargetElf = YES
 endif
 
 # Some platforms don't support shared libraries
-NoSharedLibsPlatformList =
+NoSharedLibsPlatformList = arm-unknown-linux powerpc-unknown-linux
 
 ifeq "$(SOLARIS_BROKEN_SHLD)" "YES"
 NoSharedLibsPlatformList += i386-unknown-solaris2
@@ -134,6 +134,12 @@ DYNAMIC_TOO = YES
 ifeq "$(TargetOS_CPP)" "mingw32"
 # This doesn't work on Windows yet
 DYNAMIC_GHC_PROGRAMS = NO
+else ifeq "$(TargetOS_CPP)" "freebsd"
+# FreeBSD cannot do proper resolution for $ORIGIN (due to a bug in
+# rtld(1)), so disable it by default (see #7819).
+DYNAMIC_GHC_PROGRAMS = NO
+else ifeq "$(PlatformSupportsSharedLibs)" "NO"
+DYNAMIC_GHC_PROGRAMS = NO
 else
 DYNAMIC_GHC_PROGRAMS = YES
 endif
@@ -155,9 +161,9 @@ GhcUnregisterised=@Unregisterised@
 #
 # Target platforms supported:
 #   i386, powerpc
-#   AIX is not supported 
+#   IOS and AIX are not supported
 ArchSupportsNCG=$(strip $(patsubst $(TargetArch_CPP), YES, $(findstring $(TargetArch_CPP), i386 x86_64 powerpc sparc)))
-OsSupportsNCG=$(strip $(patsubst $(TargetOS_CPP), YES, $(patsubst aix,,$(TargetOS_CPP))))
+OsSupportsNCG=$(strip $(patsubst $(TargetOS_CPP), YES, $(patsubst ios,,$(patsubst aix,,$(TargetOS_CPP)))))
 
 GhcWithNativeCodeGen := $(strip\
     $(if $(filter YESYESNO,\
@@ -179,7 +185,7 @@ ArchSupportsGHCi=$(strip $(patsubst $(TargetArch_CPP), YES, $(findstring $(Targe
 
 ifeq "$(OsSupportsGHCi)$(ArchSupportsGHCi)" "YESYES"
 GhcWithInterpreter=YES
-else 
+else
 GhcWithInterpreter=$(if $(findstring YES,$(DYNAMIC_GHC_PROGRAMS)),YES,NO)
 endif
 
@@ -243,7 +249,7 @@ BuildSharedLibs=$(strip $(if $(findstring dyn,$(GhcLibWays)),YES,NO))
 
 # In addition, the RTS is built in some further variations.  Ways that
 # make sense here:
-# 
+#
 #   thr         : threaded
 #   thr_p       : threaded profiled
 #   debug       : debugging (compile with -g for the C compiler, and -DDEBUG)
@@ -256,7 +262,7 @@ BuildSharedLibs=$(strip $(if $(findstring dyn,$(GhcLibWays)),YES,NO))
 GhcRTSWays=l
 
 # Usually want the debug version
-GhcRTSWays += debug 
+GhcRTSWays += debug
 
 # We always have the threaded versions, but note that SMP support may be disabled
 # (see GhcWithSMP).
@@ -383,10 +389,9 @@ BIN_DIST_PREP_DIR     = bindistprep/$(BIN_DIST_NAME)
 BIN_DIST_PREP_TAR     = bindistprep/$(BIN_DIST_NAME)-$(TARGETPLATFORM).tar
 BIN_DIST_PREP_TAR_BZ2 = $(BIN_DIST_PREP_TAR).bz2
 BIN_DIST_TAR_BZ2      = $(BIN_DIST_NAME)-$(TARGETPLATFORM).tar.bz2
-BIN_DIST_LIST         = bindist-list
 
 # -----------------------------------------------------------------------------
-# Utilities programs: flags 
+# Utilities programs: flags
 
 # If you want to give any standard flags to pretty much any utility
 # (see utils.mk for a complete list), by adding a line here
@@ -394,7 +399,7 @@ BIN_DIST_LIST         = bindist-list
 #      SRC_P_OPTS += ...
 #
 # where P is the utility. For example, to add -O to all Haskell
-# compilations, 
+# compilations,
 #
 #      SRC_HC_OPTS += -O
 
@@ -402,7 +407,7 @@ BIN_DIST_LIST         = bindist-list
 # SRC_HC_OPTS includes flags to be added to *every* Haskell
 # compilation.  Setting SRC_HC_OPTS is a good way to set the default
 # optimisation level (-O) and heap size (-H<size>).
-# 
+#
 # SRC_HC_OPTS is *not* for adding flags that are required to make your
 # build work.  Examples:
 #
@@ -466,6 +471,8 @@ endif
 
 GHC_PACKAGE_DB_FLAG = @GHC_PACKAGE_DB_FLAG@
 
+CMM_SINK_BOOTSTRAP_IS_NEEDED = @CMM_SINK_BOOTSTRAP_IS_NEEDED@
+
 #-----------------------------------------------------------------------------
 # C compiler
 #
@@ -485,6 +492,7 @@ endif
 TargetPlatformFull    = @TargetPlatformFull@
 GccLT34         = @GccLT34@
 GccLT46         = @GccLT46@
+GccIsClang      = @GccIsClang@
 
 CC              = $(WhatGccIsCalled)
 CC_STAGE0       = @CC_STAGE0@
@@ -611,14 +619,19 @@ CPP                       = @CPP@ @CPPFLAGS@
 # RAWCPP_FLAGS are the flags to give to cpp (viz, gcc -E) to persuade it to
 # behave plausibly on Haskell sources.
 #
+# Clang in particular is a bit more annoying, so we suppress some warnings.
 RAWCPP_FLAGS            = -undef -traditional
+ifeq "$(CC_CLANG_BACKEND)" "1"
+RAWCPP_FLAGS           += -Wno-invalid-pp-token -Wno-unicode -Wno-trigraphs
+endif
+
 FIND                   = @FindCmd@
 
 #
 # Sigh - the autoconf macro for INSTALL will subst a relative path to the fallback
 # install-sh script (if chosen). This not terribly useful to us, so we convert
 # it into an abs. path.
-# 
+#
 INSTALL                        = @INSTALL@
 INSTALL                        := $(subst .././install-sh,$(TOP)/install-sh,$(INSTALL))
 
@@ -626,7 +639,8 @@ LN_S                        = @LN_S@
 MV                     = mv
 PERL                   = @PerlCmd@
 PIC                    = pic
-RANLIB                 = @RANLIB@
+RANLIB_CMD = @RANLIB_CMD@
+REAL_RANLIB_CMD = @REAL_RANLIB_CMD@
 SED                    = @SedCmd@
 SHELL                  = /bin/sh
 
@@ -653,7 +667,7 @@ LdHasBuildId                = @LdHasBuildId@
 # and compiler/main/DriverPipeline.hs.
 LdHasNoCompactUnwind   = @LdHasNoCompactUnwind@
 
-# On MSYS, building with SplitObjs=YES fails with 
+# On MSYS, building with SplitObjs=YES fails with
 #   ar: Bad file number
 # see #3201.  We need to specify a smaller max command-line size
 # to work around it.  32767 doesn't work; 30000 does, but says
@@ -715,7 +729,7 @@ GHC_PKG                     = @GhcPkgCmd@
 # Happy
 #
 HAPPY                  = @HappyCmd@
-HAPPY_VERSION          = @HappyVersion@                
+HAPPY_VERSION          = @HappyVersion@
 #
 # Options to pass to Happy when we're going to compile the output with GHC
 #
@@ -725,7 +739,7 @@ SRC_HAPPY_OPTS              = -agc --strict
 # Alex
 #
 ALEX                   = @AlexCmd@
-ALEX_VERSION           = @AlexVersion@         
+ALEX_VERSION           = @AlexVersion@
 Alex3                  = @Alex3@
 #
 # Options to pass to Alex when we're going to compile the output with GHC
@@ -752,7 +766,7 @@ endif
 #
 ################################################################################
 
-# 
+#
 # It is possible to configure the compiler and prelude to support 31-bit
 # integers, suitable for a back-end and RTS using a tag bit on a 32-bit
 # architecture.  Currently the only useful output from this option is external Core