X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=aclocal.m4;h=7fd96fe079da96876b9f1f40c4ce43cbea588eb8;hb=3066cecc9311bdf188807c705cda73254785570a;hp=5755dbe6e7ee454475de7bcde7dc97d276a19462;hpb=5c789e424c1461c1dadfd38c44fcb9e8f38bf755;p=ghc-hetmet.git diff --git a/aclocal.m4 b/aclocal.m4 index 5755dbe..7fd96fe 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -571,22 +571,17 @@ AC_DEFUN([FP_MINGW_GCC], ]) dnl Small feature test for perl version. Assumes PerlCmd -dnl contains path to perl binary +dnl contains path to perl binary. +dnl +dnl (Perl versions prior to v5.6 does not contain the string "v5"; +dnl instead they display version strings such as "version 5.005".) dnl AC_DEFUN([FPTOOLS_CHECK_PERL_VERSION], [$PerlCmd -v >conftest.out 2>&1 - if grep "v5.6" conftest.out >/dev/null 2>&1; then + if grep "v5" conftest.out >/dev/null 2>&1; then : else - if grep "v5.8" conftest.out >/dev/null 2>&1; then - : - else - if grep "version 6" conftest.out >/dev/null 2>&1; then - : - else - AC_MSG_ERROR([your version of perl probably won't work, try upgrading it.]) - fi - fi + AC_MSG_ERROR([your version of perl probably won't work, try upgrading it.]) fi rm -fr conftest* ]) @@ -611,6 +606,15 @@ 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 # OK, looks like a real "find". + case $HostPlatform in + *mingw32) + if test x${OSTYPE} != xmsys + then + fp_prog_find="`cygpath --mixed ${fp_prog_find}`" + AC_MSG_NOTICE([normalized find command to $fp_prog_find]) + fi ;; + *) ;; + esac FindCmd="$fp_prog_find" else # Found a poor WinDoze version of "find", ignore it. @@ -978,7 +982,10 @@ AC_DEFUN([FP_SETUP_PROJECT_VERSION], [ if test "$RELEASE" = "NO"; then AC_MSG_CHECKING([for GHC version date]) - if test -d _darcs; then + if test -f VERSION_DATE; then + PACKAGE_VERSION=${PACKAGE_VERSION}.`cat VERSION_DATE` + AC_MSG_RESULT(given $PACKAGE_VERSION) + elif test -d _darcs; then 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 @@ -986,10 +993,10 @@ if test "$RELEASE" = "NO"; then AC_MSG_ERROR([failed to detect version date: check that darcs is in your path]) fi PACKAGE_VERSION=${PACKAGE_VERSION}.$ver_date - AC_MSG_RESULT($PACKAGE_VERSION) + AC_MSG_RESULT(inferred $PACKAGE_VERSION) elif test -f VERSION; then PACKAGE_VERSION=`cat VERSION` - AC_MSG_RESULT($PACKAGE_VERSION) + AC_MSG_RESULT(given $PACKAGE_VERSION) else AC_MSG_WARN([cannot determine snapshot version: no _darcs directory and no VERSION file]) fi @@ -1082,4 +1089,48 @@ AC_DEFUN([CHECK_GMP], AC_REQUIRE([AC_PROG_CC]) ]) +# -------------------------------------------------------------- +# Calculate absolute path to build tree +# -------------------------------------------------------------- + +AC_DEFUN([FP_FIND_ROOT],[ +AC_MSG_CHECKING(for path to top of build tree) + +dnl This would be +dnl make -C utils/pwd clean && make -C utils/pwd +dnl except we don't want to have to know what make is called. Sigh. +cd utils/pwd +rm -f *.o +rm -f *.hi +rm -f pwd +rm -f pwd.exe +$WithGhc -v0 --make pwd -o pwd +cd ../.. + +hardtop=`utils/pwd/pwd forwardslash` + +if ! test -d "$hardtop"; then + AC_MSG_ERROR([cannot determine current directory]) +fi + +dnl Remove common automounter nonsense +dnl +hardtop=`echo $hardtop | sed 's|^/tmp_mnt.*\(/local/.*\)$|\1|' | sed 's|^/tmp_mnt/|/|'` + +hardtop_plat="$hardtop" + +AC_SUBST(hardtop) +AC_SUBST(hardtop_plat) + +AC_MSG_RESULT(${hardtop}) + +# We don't support building in directories with spaces. +case "$hardtop" in + *' '*) AC_MSG_ERROR([ + The build system does not support building in a directory containing + space characters. Suggestion: move the build tree somewhere else.]) + ;; +esac +]) + # LocalWords: fi