])
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*
])
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