X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=aclocal.m4;h=7fd96fe079da96876b9f1f40c4ce43cbea588eb8;hb=b2445ac5c5d83a8cdedd78d7b80db9eb11012030;hp=1e79fd9b3c6f43dd9d0518acf00e9f2fc2d6b030;hpb=eaa67895758acd3ea1546c8d026a1ed67d5eae25;p=ghc-hetmet.git diff --git a/aclocal.m4 b/aclocal.m4 index 1e79fd9..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. @@ -1085,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