HostVendor_CPP='unknown'
HostOS_CPP='freebsd'
;;
+amd64*-*-openbsd*)
+ HostPlatform=x86_64-unknown-openbsd
+ TargetPlatform=x86_64-unknown-openbsd
+ BuildPlatform=x86_64-unknown-openbsd
+ HostPlatform_CPP='x86_64_unknown_openbsd'
+ HostArch_CPP='x86_64'
+ HostVendor_CPP='unknown'
+ HostOS_CPP='openbsd'
+ ;;
arm*-linux*)
HostPlatform=arm-unknown-linux # hack again
TargetPlatform=arm-unknown-linux
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 Find 'hardtop_plat', the native format for 'hardtop'
+dnl (i.e., right kind of \dnl slashes on a Win32 box, but with b-slashes being escaped).
+dnl
+dnl Note OSTYPE: On Cygwin we need to use 'cygpath' to convert /cygdrive/c/foo to c:/foo
+dnl but we must not do that if we aren't building using Cygwin (notably msys),
+dnl because cygpath doesn't exist. It seems that 'bash' sets OSTYPE to 'cygwin'
+dnl or 'msys' respectively, but cygwin's 'sh' does not. So we hackily assume
+dnl that if the shell hasn't set it to 'msys' then we must be in Cygwin. Sigh.
dnl
+dnl The Right Thing is probably to test $BuildPlatform instead, but we are sloppy
+dnl about setting that correctly at the moment, so we just work around for now.
+dnl
+dnl The quotes round "$(OSTYPE)" are essential, for the Cygwin-sh case where OSTYPE
+dnl is not set.
case $HostPlatform in
i386-unknown-mingw32 | i386-unknown-cygwin32)
- # 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'`
- ;;
+ if test "${OSTYPE}" != "msys"
+ then
+ # 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'`
+ else
+ hardtop_plat=${hardtop}
+ fi
+ ;;
*)
hardtop_plat=${hardtop}
;;
[AC_HELP_STRING([--with-gcc=ARG],
[Use ARG as the path to GCC [default=autodetect]])],
[WhatGccIsCalled="$withval"
- if test "x$HostPlatform" = "xi386-unknown-mingw32"; then
- # Canonicalise to <drive>:/path/to/gcc
- withval=`cygpath -w ${withval} | sed -e 's@\\\\@/@g' `
+ if test "x$HostPlatform" = "xi386-unknown-mingw32"
+ then
+ if test "${OSTYPE}" != "msys"
+ then
+ # Canonicalise to <drive>:/path/to/gcc
+ withval=`cygpath -w ${withval} | sed -e 's@\\\\@/@g' `
+ fi
fi;
CC="$withval"],
[WhatGccIsCalled="gcc"]
AC_MSG_ERROR([GHC is required unless bootstrapping from .hc files.])
fi;
-dnl ** Enable multi-thread friendly RTS?
+dnl ** --enable-threaded-rts (not used any more)
dnl --------------------------------------------------------------
AC_ARG_ENABLE(threaded-rts,
[AC_HELP_STRING([--enable-threaded-rts],
-[Support better interop with OS threads. [default=no]])],
+[DEPRECATED (backwards compatibility only). [default=no]])],
[ if test x"$enableval" = x"yes"; then
ThreadedRts=YES
else
AC_DEFINE([HAVE_BIN_SH], [1], [Define to 1 if you have /bin/sh.])
dnl ** how to invoke `ar' and `ranlib'
-FPTOOLS_PROG_AR_AND_RANLIB
+FP_PROG_AR_NEEDS_RANLIB
+FP_PROG_AR_SUPPORTS_INPUT
dnl ** Check to see whether ln -s works
AC_PROG_LN_S
glafp*)
case $HostOS_CPP in
mingw32)
- Catalog=`cygpath -w $hardtop/$Catalog`
+ if test "${OSTYPE}" == "msys"
+ then
+ Catalog=$hardtop/$Catalog
+ else
+ Catalog=`cygpath -w $hardtop/$Catalog`
+ fi
;;
*) Catalog=$hardtop/$Catalog
;;
dnl ** can we open files in binary mode?
FP_CHECK_CONST([O_BINARY], [#include <fcntl.h>], [0])
-dnl ** check for GetModuleFileName and WinExec (windows only)
-dnl Old: AC_CHECK_FUNCS(WinExec GetModuleFileName) dnl Windows
-dnl Doesn't work because the linker can't see the functions if
-dnl you omit the #include <windows.h>. (I've no idea why not...)
+FP_CHECK_FUNC([WinExec],
+ [@%:@include <windows.h>], [WinExec("",0)])
-FPTOOLS_TRY_LINK_NOWARN(,[
-#if HAVE_WINDOWS_H
-#include <windows.h>
-#endif
-main() {
- WinExec("",0);
- exit(0);
-}
-],
-[have_winexec=1],
-[have_winexec=0])
-if test "$have_winexec" = "1"; then
- AC_DEFINE([HAVE_WINEXEC], [1], [Define to 1 if you have the WinExec function.])
-fi
-
-FPTOOLS_TRY_LINK_NOWARN(,[
-#if HAVE_WINDOWS_H
-#include <windows.h>
-#endif
-main() {
- char* dir;
- GetModuleFileName((HMODULE)0,dir,0);
- exit(0);
-}
-],
-[have_getmodulefilename=1],
-[have_getmodulefilename=0])
-if test "$have_getmodulefilename" = "1"; then
-AC_DEFINE([HAVE_GETMODULEFILENAME], [1], [Define to 1 if you have the GetModuleFileName function.])
-fi
+FP_CHECK_FUNC([GetModuleFileName],
+ [@%:@include <windows.h>], [GetModuleFileName((HMODULE)0,(LPTSTR)0,0)])
dnl ** check return type of signal handlers
dnl Foo: assumes we can use prototypes.
fi
dnl ** check for math library
-AC_CHECK_LIB([m], [main], [LIBM="-lm"], [LIBM=])
+AC_CHECK_LIB([m], [atan], [LIBS="-lm $LIBS"; LIBM="-lm"], [LIBM=])
AC_SUBST([LIBM])
dnl ** check for X Window System
AC_PATH_XTRA()
+if test "$no_x" = yes; then
+ GhcLibsWithX11=NO
+else
+ GhcLibsWithX11=YES
+fi
+AC_SUBST([GhcLibsWithX11])
+
dnl ################################################################
dnl Check for libraries
dnl ################################################################
AC_SUBST(HaveRtldNow)
fi
-FPTOOLS_CHECK_LIB_NOWARN(m, atan)
-
dnl ---------- usleep ----------
dnl --- stolen from guile configure ---
dnl --- FIXME: /usr/include/unistd.h can't be right?
dnl ** check for ld, and whether ld has -x option
AC_PATH_PROG(LdCmdRaw, ld)
case $HostOS_CPP in
- mingw32) LdCmd=`cygpath -w ${LdCmdRaw} | sed -e 's@\\\\@/@g' `
+ mingw32)
+ if test "${OSTYPE}" == "msys"
+ then
+ LdCmd=${LdCmdRaw}
+ else
+ LdCmd=`cygpath -w ${LdCmdRaw} | sed -e 's@\\\\@/@g' `
+ fi
;;
*) LdCmd=${LdCmdRaw}
;;