X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=aclocal.m4;h=013f7ff76ba23c876b6ba60713666da1e9f2c027;hp=360488d99bcde11039522b5557db8e940c753bcb;hb=ce14988222b8da2abc57c68a087a61efe5ba709b;hpb=6a7b2fdc70ab6785006b11f2e8f7eb7fd4956a9f diff --git a/aclocal.m4 b/aclocal.m4 index 360488d..013f7ff 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,15 +1,3 @@ - struct sigevent ev; - timer_t timer; - ev.sigev_notify = SIGEV_SIGNAL; - ev.sigev_signo = SIGVTALRM; - if (timer_create(CLOCK_PROCESS_CPUTIME_ID, &ev, &timer) != 0) { - exit(1); - } -#else - exit(1) -#endif - exit(0); -} # Extra autoconf macros for the Glasgow fptools # # To be a good autoconf citizen, names of local macros have prefixed with FP_ to @@ -266,27 +254,6 @@ AC_SUBST(HappyVersion) ]) dnl -dnl Check for Haddock and version. If there's no installed Haddock, we look -dnl for a haddock source tree and point the build system at that instead. -dnl -AC_DEFUN([FPTOOLS_HADDOCK], -[AC_PATH_PROG(HaddockCmd,haddock,) -dnl Darn, I forgot to make Haddock print out its version number when -dnl invoked with -v. We could try generating some HTML and grepping -dnl through that to find the version number, but I think we'll make -dnl do without it for now. -# Haddock is passed to Cabal, so we need a native path -if test "x$HostPlatform" = "xi386-unknown-mingw32" && \ - test "${OSTYPE}" != "msys" && \ - test "${HaddockCmd}" != "" -then - # Canonicalise to :/path/to/gcc - HaddockCmd=`cygpath -m ${HaddockCmd}` - AC_MSG_NOTICE([normalized haddock command to $HaddockCmd]) -fi -]) - -dnl dnl Check for Alex and version. If we're building GHC, then we need dnl at least Alex version 2.0.1. dnl @@ -314,14 +281,54 @@ changequote([, ])dnl ]) if test ! -f compiler/cmm/CmmLex.hs || test ! -f compiler/parser/Lexer.hs then - FP_COMPARE_VERSIONS([$fptools_cv_alex_version],[-lt],[2.0.1], - [AC_MSG_ERROR([Alex version 2.0.1 or later is required to compile GHC.])])[]dnl + FP_COMPARE_VERSIONS([$fptools_cv_alex_version],[-lt],[2.1.0], + [AC_MSG_ERROR([Alex version 2.1.0 or later is required to compile GHC.])])[]dnl fi AlexVersion=$fptools_cv_alex_version; AC_SUBST(AlexVersion) ]) +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 :/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.])])[]dnl + indResVersion=$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 @@ -554,8 +561,11 @@ fi AC_CACHE_CHECK([version of gcc], [fp_gcc_version], [if test "$fp_have_gcc" = "YES"; then fp_gcc_version="`$CC -v 2>&1 | grep 'version ' | sed -e 's/.*version [[^0-9]]*\([[0-9.]]*\).*/\1/g'`" - FP_COMPARE_VERSIONS([$fp_gcc_version], [-lt], [2.0], - [AC_MSG_ERROR([Need at least gcc version 2.0 (3.4+ recommended)])]) + FP_COMPARE_VERSIONS([$fp_gcc_version], [-lt], [3.0], + [AC_MSG_ERROR([Need at least gcc version 3.0 (3.4+ recommended)])]) + # See #2770: gcc 2.95 doesn't work any more, apparently. There probably + # isn't a very good reason for that, but for now just make configure + # fail. else fp_gcc_version="not-installed" fi @@ -609,7 +619,7 @@ AC_DEFUN([FP_CHECK_PROG], # ------------ # Find a non-WinDoze version of the "find" utility. AC_DEFUN([FP_PROG_FIND], -[AC_PATH_PROG([fp_prog_find], [find]) +[AC_PATH_PROGS([fp_prog_find], [gfind find], find) echo foo > conftest.txt $fp_prog_find conftest.txt -print > conftest.out 2>&1 if grep '^conftest.txt$' conftest.out > /dev/null 2>&1 ; then @@ -920,6 +930,9 @@ AC_DEFUN([FP_PROG_GHC_PKG], [fp_ghc_pkg_guess=`echo $WithGhc | sed 's,ghc\(@<:@^/\\@:>@*\)$,ghc-pkg\1,'` if "$fp_ghc_pkg_guess" -l > /dev/null 2>&1; then fp_cv_matching_ghc_pkg=$fp_ghc_pkg_guess +elif "$fp_ghc_pkg_guess" list > /dev/null 2>&1; then + # from 6.10, ghc-pkg doesn't support the old -l syntax any more + fp_cv_matching_ghc_pkg=$fp_ghc_pkg_guess else fp_cv_matching_ghc_pkg=no fi]) @@ -930,20 +943,6 @@ else fi])# FP_PROG_GHC_PKG -# FP_GHC_HAS_EDITLINE -# ------------------- -AC_DEFUN([FP_GHC_HAS_EDITLINE], -[AC_REQUIRE([FP_PROG_GHC_PKG]) -AC_CACHE_CHECK([whether ghc has editline package], [fp_cv_ghc_has_editline], -[if "${GhcPkgCmd-ghc-pkg}" --show-package editline >/dev/null 2>&1; then - fp_cv_ghc_has_editline=yes -else - fp_cv_ghc_has_editline=no - fi]) -AC_SUBST([GhcHasEditline], [`echo $fp_cv_ghc_has_editline | sed 'y/yesno/YESNO/'`]) -])# FP_GHC_HAS_EDITLINE - - # FP_GCC_EXTRA_FLAGS # ------------------ # Determine which extra flags we need to pass gcc when we invoke it @@ -1000,7 +999,17 @@ if test "$RELEASE" = "NO"; then if test -f VERSION_DATE; then PACKAGE_VERSION=${PACKAGE_VERSION}.`cat VERSION_DATE` AC_MSG_RESULT(given $PACKAGE_VERSION) + elif test -d .git; then + changequote(, )dnl + ver_date=`git log -n 1 --date=short --pretty=format:%ci | sed "s/^.*\([0-9][0-9][0-9][0-9]\)-\([0-9][0-9]\)-\([0-9][0-9]\).*$/\1\2\3/"` + if echo $ver_date | grep '^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$' 2>&1 >/dev/null; then true; else + changequote([, ])dnl + AC_MSG_ERROR([failed to detect version date: check that git is in your path]) + fi + PACKAGE_VERSION=${PACKAGE_VERSION}.$ver_date + AC_MSG_RESULT(inferred $PACKAGE_VERSION) elif test -d _darcs; then + # TODO: Remove this branch after conversion to Git changequote(, )dnl ver_date=`darcs changes --quiet --no-summary --xml | head -500 | grep 'date=' | sed "s/^.*date='\([0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]\).*$/\1/g" | sort -n | tail -1` if echo $ver_date | grep '^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$' 2>&1 >/dev/null; then true; else @@ -1013,7 +1022,7 @@ if test "$RELEASE" = "NO"; then PACKAGE_VERSION=`cat VERSION` AC_MSG_RESULT(given $PACKAGE_VERSION) else - AC_MSG_WARN([cannot determine snapshot version: no _darcs directory and no VERSION file]) + AC_MSG_WARN([cannot determine snapshot version: no .git or _darcs directory and no VERSION file]) fi fi