Unset $CFLAGS for "GNU non-executable stack" configure test; fixes #3889
[ghc-hetmet.git] / configure.ac
index a4eb022..28e380b 100644 (file)
@@ -27,7 +27,7 @@ AC_INIT([The Glorious Glasgow Haskell Compilation System], [6.13], [glasgow-hask
 # when the source distribution was created.
 
 if test ! -f mk/config.h.in; then
-   echo "mk/config.h.in doesn't exist: perhaps you haven't run 'sh boot'?"
+   echo "mk/config.h.in doesn't exist: perhaps you haven't run 'perl boot'?"
    exit 1
 fi
 
@@ -125,12 +125,10 @@ if test "$WithGhc" != ""; then
   AC_SUBST(GhcPatchLevel)dnl
   GhcMinVersion2=`echo "$GhcMinVersion" | sed 's/^\\(.\\)$/0\\1/'`
   GhcCanonVersion="$GhcMajVersion$GhcMinVersion2"
-  if test $GhcCanonVersion -ge 609; then ghc_ge_609=YES; else ghc_ge_609=NO; fi
   FP_COMPARE_VERSIONS($GhcVersion,[-ge],[6.10.2],
                       [ghc_ge_6102=YES], [ghc_ge_6102=NO])
   if test $GhcCanonVersion -ge 611; then ghc_ge_611=YES; else ghc_ge_611=NO; fi
   if test $GhcCanonVersion -ge 613; then ghc_ge_613=YES; else ghc_ge_613=NO; fi
-  AC_SUBST(ghc_ge_609)dnl
   AC_SUBST(ghc_ge_6102)dnl
   AC_SUBST(ghc_ge_611)dnl
   AC_SUBST(ghc_ge_613)dnl
@@ -199,16 +197,8 @@ AC_SUBST(ICONV_LIB_DIRS)
 dnl--------------------------------------------------------------------
 dnl * Choose host(/target/build) platform
 dnl--------------------------------------------------------------------
-dnl We don't use the standard autoconf macros for this, but instead
-dnl ask the bootstrapping compiler what platform it is for
-
-dnl Guess host/target/build platform(s) if necessary.
-m4_divert_once([HELP_CANON],
-[[
-System types:
-  --build=BUILD     configure for building on BUILD [guessed]
-  --host=HOST       cross-compile to build programs to run on HOST [guessed]
-  --target=TARGET   configure for building compilers for TARGET [guessed]]])dnl
+dnl If we aren't explicitly told what values to use with configure flags,
+dnl we ask the bootstrapping compiler what platform it is for
 
 if test "${WithGhc}" != ""
 then
@@ -426,6 +416,7 @@ then
     CC="$hardtop/inplace/mingw/bin/gcc.exe"
     LD="$hardtop/inplace/mingw/bin/ld.exe"
     NM="$hardtop/inplace/mingw/bin/nm.exe"
+    fp_prog_ar_raw="$hardtop/inplace/mingw/bin/ar.exe"
     if ! test -d inplace/mingw ||
          test inplace/mingw -ot ghc-tarballs/mingw/binutils*.tar.gz ||
          test inplace/mingw -ot ghc-tarballs/mingw/gcc-core*.tar.gz ||
@@ -832,6 +823,11 @@ AC_COMPILE_IFELSE(
 dnl *** check for GNU non-executable stack note support (ELF only)
 dnl     (.section .note.GNU-stack,"",@progbits)
 
+dnl This test doesn't work with "gcc -g" in gcc 4.4 (GHC trac #3889:
+dnl     Error: can't resolve `.note.GNU-stack' {.note.GNU-stack section} - `.Ltext0' {.text section}
+dnl so we empty CFLAGS while running this test
+CFLAGS2="$CFLAGS"
+CFLAGS=
 AC_MSG_CHECKING(for GNU non-executable stack support)
 AC_COMPILE_IFELSE(
     [AC_LANG_PROGRAM([__asm__ (".section .note.GNU-stack,\"\",@progbits");], [0])],
@@ -840,6 +836,7 @@ AC_COMPILE_IFELSE(
                [Define to 1 if GNU non-executable stack notes are supported.])
     ],
     [AC_MSG_RESULT(no)])
+CFLAGS="$CFLAGS2"
 
 dnl ** check for librt
 AC_CHECK_LIB(rt, clock_gettime)
@@ -917,7 +914,7 @@ if grep '   ' compiler/ghc.cabal.in 2>&1 >/dev/null; then
    AC_MSG_ERROR([compiler/ghc.cabal.in contains tab characters; please remove them])
 fi
 
-AC_CONFIG_FILES([mk/config.mk mk/install.mk mk/project.mk compiler/ghc.cabal ghc/ghc-bin.cabal ghc.spec extra-gcc-opts docs/users_guide/ug-book.xml docs/users_guide/ug-ent.xml libraries/prologue.txt distrib/ghc.iss distrib/configure.ac])
+AC_CONFIG_FILES([mk/config.mk mk/install.mk mk/project.mk compiler/ghc.cabal ghc/ghc-bin.cabal ghc.spec extra-gcc-opts docs/users_guide/ug-book.xml docs/users_guide/ug-ent.xml docs/index.html libraries/prologue.txt distrib/ghc.iss distrib/configure.ac])
 AC_CONFIG_COMMANDS([mk/stamp-h],[echo timestamp > mk/stamp-h])
 AC_OUTPUT