])# FP_EVAL_STDERR
+# FP_ARG_WITH_PATH_GNU_PROG
+# --------------------
+# XXX
+#
+# $1 = the command to look for
+# $2 = the variable to set
+#
+AC_DEFUN([FP_ARG_WITH_PATH_GNU_PROG],
+[
+AC_ARG_WITH($2,
+[AC_HELP_STRING([--with-$2=ARG],
+ [Use ARG as the path to $2 [default=autodetect]])],
+[
+ if test "$HostOS" = "mingw32"
+ then
+ AC_MSG_WARN([Request to use $withval will be ignored])
+ else
+ $1=$withval
+ fi
+],
+[
+ if test "$HostOS" != "mingw32"
+ then
+ AC_PATH_PROG([$1], [$2])
+ if test -z "$$1"
+ then
+ AC_MSG_ERROR([cannot find $2 in your PATH, no idea how to link])
+ fi
+ fi
+]
+)
+]) # FP_ARG_WITH_PATH_GNU_PROG
+
+
# FP_PROG_CONTEXT_DIFF
# --------------------
# Figure out how to do context diffs. Sets the output variable ContextDiffCmd.
fi;
changequote([, ])dnl
])
-if test ! -f compiler/parser/Parser.hs || test ! -f compiler/main/ParsePkgConf.hs || test ! -f compiler/cmm/CmmParse.hs || test ! -f compiler/parser/ParserCore.hs
+if test ! -f compiler/parser/Parser.hs || test ! -f compiler/cmm/CmmParse.hs || test ! -f compiler/parser/ParserCore.hs
then
FP_COMPARE_VERSIONS([$fptools_cv_happy_version],[-lt],[1.16],
[AC_MSG_ERROR([Happy version 1.16 or later is required to compile GHC.])])[]
])
-dnl
-dnl Check for windres and version.
-dnl 2.15.91 works
-dnl 2.17.50 doesn't work
-dnl 2.18.50 works
-dnl
-AC_DEFUN([FPTOOLS_WINDRES],
-[
-if test "x$HostPlatform" = "xi386-unknown-mingw32"
-then
- AC_PATH_PROG(WindResCmd,windres,)
- # Alex is passed to Cabal, so we need a native path
- if test "${OSTYPE}" != "msys" && \
- test "${WindResCmd}" != ""
- then
- # Canonicalise to <drive>:/path/to/gcc
- WindResCmd=`cygpath -m ${WindResCmd}`
- fi
-
- AC_CACHE_CHECK([for version of windres], fptools_cv_windres_version,
- changequote(, )dnl
- [
- if test x"$WindResCmd" != x
- then
- fptools_cv_windres_version="`$WindResCmd --version |
- grep 'GNU windres' |
- sed -e 's/GNU windres[^0-9]* \([0-9\.]*\).*/\1/g'`" ;
- else
- fptools_cv_windres_version="";
- fi
- changequote([, ])dnl
- ])
- FP_COMPARE_VERSIONS([$fptools_cv_windres_version],[-eq],[2.17.50],
- [AC_MSG_ERROR([Your windres version isn't compatible with GHC. 2.15.91 and 2.18.50 are known to work.])])[]
- WindResVersion=$fptools_cv_windres_version;
- AC_SUBST(WindResVersion)
-fi
-])
-
-
-# FP_PROG_LD
-# ----------
-# Sets the output variable LdCmd to the (non-Cygwin version of the) full path
-# of ld. Exits if no ld can be found
-AC_DEFUN([FP_PROG_LD],
-[
-if test -z "$1"
-then
- AC_PATH_PROG([fp_prog_ld_raw], [ld])
- if test -z "$fp_prog_ld_raw"; then
- AC_MSG_ERROR([cannot find ld in your PATH, no idea how to link])
- fi
- LdCmd=$fp_prog_ld_raw
- case $HostPlatform in
- *mingw32) if test x${OSTYPE} != xmsys; then
- LdCmd="`cygpath -w ${fp_prog_ld_raw} | sed -e 's@\\\\@/@g'`"
- AC_MSG_NOTICE([normalized ld command to $LdCmd])
- fi
- # Insist on >= ld-2.15.x, since earlier versions doesn't handle
- # the generation of relocatable object files with large amounts
- # of relocations correctly. (cf. HSbase.o splittage-hack)
- fp_prog_ld_version=`${LdCmd} --version | sed -n '/GNU ld/p' | tr -cd 0-9 | cut -b1-3`
- FP_COMPARE_VERSIONS([$fp_prog_ld_version],[-lt],[214],
- [AC_MSG_ERROR([GNU ld version later than 2.14 required to compile GHC on Windows.])])[]dnl
- ;;
- esac
-else
- LdCmd="$1"
-fi
-AC_SUBST([LdCmd])
-])# FP_PROG_LD
-
-
# FP_PROG_LD_X
# ------------
# Sets the output variable LdXFlag to -x if ld supports this flag, otherwise the
# variable's value is empty.
AC_DEFUN([FP_PROG_LD_X],
-[AC_REQUIRE([FP_PROG_LD])
+[
AC_CACHE_CHECK([whether ld understands -x], [fp_cv_ld_x],
[echo 'foo() {}' > conftest.c
${CC-cc} -c conftest.c
# Sets the output variable LdIsGNULd to YES or NO, depending on whether it is
# GNU ld or not.
AC_DEFUN([FP_PROG_LD_IS_GNU],
-[AC_REQUIRE([FP_PROG_LD])
+[
AC_CACHE_CHECK([whether ld is GNU ld], [fp_cv_gnu_ld],
[if ${LdCmd} --version 2> /dev/null | grep "GNU" > /dev/null 2>&1; then
fp_cv_gnu_ld=yes
touch conftest.dummy
for fp_var in clqsZ clqs cqs clq cq ; do
rm -f conftest.a
- if $fp_prog_ar_raw $fp_var conftest.a conftest.dummy > /dev/null 2> /dev/null; then
+ if "$fp_prog_ar_raw" $fp_var conftest.a conftest.dummy > /dev/null 2> /dev/null; then
fp_cv_prog_ar_args=$fp_var
break
fi
fi
fi])
fp_prog_ar_args=$fp_cv_prog_ar_args
-AC_SUBST([ArCmd], ["$fp_prog_ar $fp_prog_ar_args"])
+AC_SUBST([ArCmd], ["$fp_prog_ar"])
+AC_SUBST([ArArgs], ["$fp_prog_ar_args"])
])# FP_PROG_AR_ARGS
AC_SUBST(GccLT34)
])# FP_HAVE_GCC
-AC_DEFUN([FP_MINGW_GCC],
-[
- case $HostOS_CPP in
- mingw*) AC_MSG_CHECKING([whether $CC is a mingw gcc])
- if $CC -v 2>&1 | grep mingw >/dev/null; then
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no])
- AC_MSG_ERROR([Please use --with-gcc to specify a mingw gcc])
- fi;;
- *) ;;
- esac
-])
-
dnl Small feature test for perl version. Assumes PerlCmd
dnl contains path to perl binary.
dnl
rm -f *.hi
rm -f ghc-pwd
rm -f ghc-pwd.exe
- $WithGhc -v0 --make ghc-pwd -o ghc-pwd
+ "$WithGhc" -v0 --make ghc-pwd -o ghc-pwd
cd ../..
fi