# First off, a distrib sanity check..
AC_INIT(mk/config.mk.in)
+dnl * We require autoconf version 2.53 due to the use of AC_SYS_LARGEFILE
+AC_PREREQ(2.52)
+
dnl * Declare subdirectories that have a private configure script
dnl
dnl After the toplevel configuration is complete, the script will recurse into
exit 1
fi
-#
-# Remove common automounter nonsense + convert from UNC to DOS style paths
-# (UNC awareness isn't quite there yet for cygwin32-beta18 and consituent tools.)
-#
-hardtop=`pwd`
-hardtop=`echo $hardtop | sed 's|^/tmp_mnt.*\(/local/.*\)$|\1|' | sed 's|^/tmp_mnt/|/|' | sed 's|^/grasp_tmp|/local/grasp_tmp|' | sed 's|^//\(.\)/|\1:/|' `
-
-echo ''
-echo "*** The top of your build tree is: $hardtop"
-# subst of hardtop is done below after we've computed hardtop_plat.
-
dnl--------------------------------------------------------------------
dnl * Choose host(/target/build) platform
dnl--------------------------------------------------------------------
AC_SUBST(exeext)
-#
-# The native format for 'hardtop' (i.e., right kind of slashes on a Win32 box).
-# (but with b-slashes being escaped).
+dnl --------------------------------------------------------------
+dnl * Calculate absolute path to build tree
+dnl --------------------------------------------------------------
+
+AC_MSG_CHECKING(for path to top of build tree)
+
+hardtop=`pwd`
+
+dnl Remove common automounter nonsense
+dnl
+hardtop=`echo $hardtop | sed 's|^/tmp_mnt.*\(/local/.*\)$|\1|' | sed 's|^/tmp_mnt/|/|' | sed 's|^//\(.\)/|\1:/|' `
+
+dnl Find 'hardtop_plat', the native format for 'hardtop' (i.e., right kind of \dnl slashes on a Win32 box, but with b-slashes being escaped).
+dnl
case $HostPlatform in
i386-unknown-mingw32 | i386-unknown-cygwin32)
- # get rid off /cygdrive/ prefix
- hardtop=`echo ${hardtop} | sed -e 's%^/cygdrive/\(.\)/%\1:/%' `
- hardtop_plat=`cygpath -w ${hardtop} | sed -e 's@\\\\@\\\\\\\\@g' `
+ # convert $hardtop to a path that mingw will understand too
+ cyghardtop=${hardtop}
+ hardtop=`cygpath -w ${cyghardtop} | sed -e 's@\\\\@/@g'`
+ hardtop_plat=`cygpath -w ${cyghardtop} | sed -e 's@\\\\@\\\\\\\\@g'`
;;
*)
hardtop_plat=${hardtop}
AC_SUBST(hardtop)
AC_SUBST(hardtop_plat)
+AC_MSG_RESULT(${hardtop})
+
dnl --------------------------------------------------------------
dnl * Project specific configuration options
dnl --------------------------------------------------------------
)
AC_SUBST(GhcLibsWithHOpenGL)
+dnl ** .NET interop support?
+dnl --------------------------------------------------------------
+AC_ARG_ENABLE(dotnet,
+[ --enable-dotnet
+ Build .NET interop layer.
+],
+[DotnetSupport=YES; AC_DEFINE(WANT_DOTNET_SUPPORT)],
+[DotnetSupport=NO]
+)
+AC_SUBST(DotnetSupport)
+
dnl --------------------------------------------------------------
dnl End of configure script option section
dnl --------------------------------------------------------------
AC_SUBST(CompressSuffix)
dnl ** check for ghc-pkg command
-AC_PATH_PROG(GhcPkgCmd,ghc-pkg)
+changequote(, )dnl
+ghc_pkg_guess=`echo $WithGhc | sed 's@ghc\([^/\\]*\)$@ghc-pkg\1@'`
+changequote([, ])dnl
+if $ghc_pkg_guess -l >/dev/null 2>/dev/null; then
+ GhcPkgCmd=$ghc_pkg_guess
+ AC_MSG_NOTICE([using $ghc_pkg_guess for ghc-pkg])
+else
+ AC_PATH_PROG(GhcPkgCmd,ghc-pkg)
+fi
AC_ARG_WITH(greencard,
[ --with-greencard=<greencard compiler>
dnl ** check for full ANSI header (.h) files
AC_HEADER_STDC
+dnl ** Enable large file support. NB. do this before testing the type of
+dnl off_t, because it will affect the result of that test.
+AC_SYS_LARGEFILE
+
dnl ** check for specific header (.h) files that we are interested in
AC_CHECK_HEADERS(Files.h arpa/inet.h assert.h console.h ctype.h dirent.h errno.h fcntl.h float.h ftw.h grp.h ieee754.h inttypes.h limits.h malloc.h memory.h nlist.h pascal.h pwd.h sgtty.h siginfo.h signal.h stat.h stdint.h stdlib.h stddef.h stdarg.h string.h sys/fault.h sys/file.h sys/ioctl.h sys/limits.h sys/mman.h sys/param.h sys/procfs.h sys/resource.h sys/signal.h sys/socket.h netdb.h netinet/in.h netinet/tcp.h sys/stat.h sys/syscall.h sys/time.h sys/timeb.h sys/timers.h sys/times.h sys/types.h sys/un.h sys/utsname.h sys/vadvise.h sys/wait.h termio.h termios.h time.h types.h unistd.h utime.h values.h vfork.h bfd.h winsock.h pthread.h sys/uio.h)
AC_CHECK_HEADER(unistd.h,[AC_CHECK_FUNCS(lchown)])
FPTOOLS_CHECK_LIBM()
AC_SUBST(LIBM)
-case $HostOS_CPP in
-cygwin32) ;;
-mingw32) ;;
-*) AC_PATH_XTRA() ;;
-esac
+dnl ** check for X Window System
+AC_PATH_XTRA()
dnl ** check for OpenGL/GLUT/GLX include paths and libraries
if test $GhcLibsWithHOpenGL = YES ; then
dnl ** are we big endian?
AC_C_BIGENDIAN
-# Allay users' general fear of warnings of any kind.
-errprint(fptools configure script wizard sez: autoconf-2.50 or later should produce no warnings
-)
-errprint(if you are using 2.13 or earlier, you may get a (harmless) warning message.
-)
dnl ** check for leading underscores in symbol names
FPTOOLS_UNDERSCORE