rts: drop unused 'SpinLockCount' typedef
[ghc.git] / distrib / configure.ac.in
index d1ef5d5..c7a8ead 100644 (file)
@@ -9,30 +9,27 @@ AC_INIT([The Glorious Glasgow Haskell Compilation System], [@ProjectVersion@], [
 FP_BINDIST_GHC_PWD
 FP_FIND_ROOT
 
-BootingFromHc=NO
-AC_SUBST(BootingFromHc)
-
 dnl--------------------------------------------------------------------
 dnl * Deal with arguments telling us gmp is somewhere odd
 dnl--------------------------------------------------------------------
 
 FP_GMP
 
-bootstrap_target=`ghc/stage2/build/tmp/ghc-stage2 +RTS --info | grep '^ ,("Target platform"' | sed -e 's/.*, "//' -e 's/")//' | tr -d '\r'`
+bootstrap_target=@TargetPlatform@
 FPTOOLS_SET_PLATFORM_VARS
 
-BuildingCrossCompiler=NO
-PortingCompiler=NO
+# ToDo: if Stage1Only=YES, should be YES
 CrossCompiling=NO
 CrossCompilePrefix=""
 TargetPlatformFull="${target}"
 
-AC_SUBST(BuildingCrossCompiler)  # 'toolchain' case
-AC_SUBST(PortingCompiler)        # 'port' case
-AC_SUBST(CrossCompiling)         # BuildingCrossCompiler OR PortingCompiler
+AC_SUBST(CrossCompiling)
 AC_SUBST(CrossCompilePrefix)
 AC_SUBST(TargetPlatformFull)
 
+Unregisterised="@Unregisterised@"
+AC_SUBST(Unregisterised)
+
 #
 dnl ** Check Perl installation **
 #
@@ -42,7 +39,6 @@ if test -z "$PerlCmd"; then
    echo "Perhaps it is already installed, but not in your PATH?"
    exit 1
 fi
-FPTOOLS_SHEBANG_PERL
 
 #
 dnl ** figure out how to do a BSD-ish install **
@@ -67,14 +63,78 @@ FIND_GCC([WhatGccIsCalled], [gcc], [gcc])
 CC="$WhatGccIsCalled"
 export CC
 
+
+dnl ** what cpp to use?
+dnl --------------------------------------------------------------
+AC_ARG_WITH(hs-cpp,
+[AC_HELP_STRING([--with-hs-cpp=ARG],
+        [Use ARG as the path to cpp [default=autodetect]])],
+[
+    if test "$HostOS" = "mingw32"
+    then
+        AC_MSG_WARN([Request to use $withval will be ignored])
+    else
+        HaskellCPPCmd=$withval
+    fi
+],
+[
+    if test "$HostOS" != "mingw32"
+    then
+        HaskellCPPCmd=$WhatGccIsCalled
+    fi
+]
+)
+
+
+
+dnl ** what cpp flags to use?
+dnl -----------------------------------------------------------
+AC_ARG_WITH(hs-cpp-flags,
+  [AC_HELP_STRING([--with-hs-cpp-flags=ARG],
+          [Use ARG as the path to hs cpp [default=autodetect]])],
+  [
+      if test "$HostOS" = "mingw32"
+      then
+          AC_MSG_WARN([Request to use $withval will be ignored])
+      else
+          HaskellCPPArgs=$withval
+      fi
+  ],
+[
+  $HaskellCPPCmd -x c /dev/null -dM -E > conftest.txt 2>&1
+  if grep "__clang__" conftest.txt >/dev/null 2>&1; then
+    HaskellCPPArgs="-E -undef -traditional -Wno-invalid-pp-token -Wno-unicode -Wno-trigraphs "
+  else
+      $HaskellCPPCmd  -v > conftest.txt 2>&1
+      if  grep "gcc" conftest.txt >/dev/null 2>&1; then
+          HaskellCPPArgs="-E -undef -traditional "
+        else
+          $HaskellCPPCmd  --version > conftest.txt 2>&1
+          if grep "cpphs" conftest.txt >/dev/null 2>&1; then
+            HaskellCPPArgs="--cpp -traditional"
+          else
+            AC_MSG_WARN([configure can't recognize your CPP program, you may need to set --with-hs-cpp-flags=FLAGS explicitly])
+            HaskellCPPArgs=""
+          fi
+      fi
+  fi
+  ]
+)
+
+
+dnl ** Which ld to use?
+dnl --------------------------------------------------------------
+FP_ARG_WITH_PATH_GNU_PROG([LD], [ld], [ld])
+LdCmd="$LD"
+AC_SUBST([LdCmd])
+
 FP_GCC_VERSION
 AC_PROG_CPP
 
-FP_PROG_LD_HashSize31
-FP_PROG_LD_ReduceMemoryOverheads
 FP_PROG_LD_IS_GNU
 FP_PROG_LD_BUILD_ID
 FP_PROG_LD_NO_COMPACT_UNWIND
+FP_PROG_LD_FILELIST
 
 #
 dnl ** Check gcc version and flags we need to pass it **
@@ -113,6 +173,7 @@ AC_SUBST(WordSize)
 #
 dnl ** how to invoke `ar' and `ranlib'
 #
+FP_PROG_AR_SUPPORTS_ATFILE
 FP_PROG_AR_NEEDS_RANLIB
 
 FP_SETTINGS