HostVendor_CPP='unknown'
HostOS_CPP='freebsd'
;;
+alpha*-unknown-openbsd*)
+ HostPlatform=alpha-unknown-openbsd
+ TargetPlatform=alpha-unknown-openbsd
+ BuildPlatform=alpha-unknown-openbsd
+ HostPlatform_CPP='alpha_unknown_openbsd'
+ HostArch_CPP='alpha'
+ HostVendor_CPP='unknown'
+ HostOS_CPP='openbsd'
+ ;;
+amd64-*-openbsd*|x86_64-*-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
HostVendor_CPP='unknown'
HostOS_CPP='linux'
;;
+arm*-openbsd*)
+ HostPlatform=arm-unknown-openbsd
+ TargetPlatform=arm-unknown-openbsd
+ BuildPlatform=arm-unknown-openbsd
+ HostPlatform_CPP='arm_unknown_openbsd'
+ HostArch_CPP='arm'
+ HostVendor_CPP='unknown'
+ HostOS_CPP='openbsd'
+ ;;
hppa*-*-linux*)
HostPlatform=hppa-unknown-linux # hack again
TargetPlatform=hppa-unknown-linux
HostVendor_CPP='unknown'
HostOS_CPP='linux'
;;
+hppa*-*-openbsd*)
+ HostPlatform=hppa-unknown-openbsd # hack again
+ TargetPlatform=hppa-unknown-openbsd
+ BuildPlatform=hppa-unknown-openbsd
+ HostPlatform_CPP='hppa_unknown_openbsd'
+ HostArch_CPP='hppa'
+ HostVendor_CPP='unknown'
+ HostOS_CPP='openbsd'
+ ;;
hppa1.1-hp-hpux*)
HostPlatform=hppa1.1-hp-hpux # canonicalise for our purposes (hack)
TargetPlatform=hppa1.1-hp-hpux
HostVendor_CPP='sun'
HostOS_CPP='sunos4'
;;
+m88k-*-openbsd*)
+ HostPlatform=m88k-unknown-openbsd
+ TargetPlatform=m88k-unknown-openbsd
+ BuildPlatform=m88k-unknown-openbsd
+ HostPlatform_CPP='m88k_unknown_openbsd'
+ HostArch_CPP='m88k'
+ HostVendor_CPP='unknown'
+ HostOS_CPP='openbsd'
+ ;;
mips-*-linux*)
HostPlatform=mips-unknown-linux # hack again
TargetPlatform=mips-unknown-linux
HostVendor_CPP='unknown'
HostOS_CPP='linux'
;;
+powerpc-unknown-openbsd*)
+ HostPlatform=powerpc-unknown-openbsd
+ TargetPlatform=powerpc-unknown-openbsd
+ BuildPlatform=powerpc-unknown-openbsd
+ HostPlatform_CPP='powerpc_unknown_openbsd'
+ HostArch_CPP='powerpc'
+ HostVendor_CPP='unknown'
+ HostOS_CPP='openbsd'
+ ;;
s390-ibm-linux*)
HostPlatform=s390-ibm-linux
TargetPlatform=s390-ibm-linux #hack
HostVendor_CPP='unknown'
HostOS_CPP='openbsd'
;;
+sparc64-*-openbsd*)
+ HostPlatform=sparc64-unknown-openbsd
+ TargetPlatform=sparc64-unknown-openbsd
+ BuildPlatform=sparc64-unknown-openbsd
+ HostPlatform_CPP='sparc64_unknown_openbsd'
+ HostArch_CPP='sparc64'
+ HostVendor_CPP='unknown'
+ HostOS_CPP='openbsd'
+ ;;
+vax-*-openbsd*)
+ HostPlatform=vax-unknown-openbsd
+ TargetPlatform=vax-unknown-openbsd
+ BuildPlatform=vax-unknown-openbsd
+ HostPlatform_CPP='vax_unknown_openbsd'
+ HostArch_CPP='vax'
+ HostVendor_CPP='unknown'
+ HostOS_CPP='openbsd'
+ ;;
*)
echo "Unrecognised platform: $HostPlatform"
exit 1
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)
- if test ${OSTYPE} != "msys"
+ if test "${OSTYPE}" != "msys"
then
# convert $hardtop to a path that mingw will understand too
cyghardtop=${hardtop}
[WhatGccIsCalled="$withval"
if test "x$HostPlatform" = "xi386-unknown-mingw32"
then
- if test ${OSTYPE} != "msys"
+ if test "${OSTYPE}" != "msys"
then
# Canonicalise to <drive>:/path/to/gcc
withval=`cygpath -w ${withval} | sed -e 's@\\\\@/@g' `
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
dnl if GNU tar is named gtar, look for it first.
AC_PATH_PROGS(TarCmd,gtar tar,tar)
-dnl ** check for jade/openjade & determine a working catalog
-AC_PATH_PROGS(JadeCmd,openjade jade,jade)
-FPTOOLS_DOCBOOK_CATALOG(Catalog, $JadeCmd, docs/fptools-both.dsl,
- /etc/sgml/catalog /etc/sgml.catalog /usr/share/sgml/CATALOG.docbkdsl /usr/local/share/sgml/catalog glafp-utils/docbook/CATALOG*)
-if test -z "$Catalog"; then
- AC_MSG_RESULT([Warning: You will not be able to build the documentation.])
-fi
-case $Catalog in
- yes) # assume it is provided by other means (e.g., SGML_CATALOG_FILES env var).
- Catalog=
- ;;
- glafp*)
- case $HostOS_CPP in
- mingw32)
- if test ${OSTYPE} == "msys"
- then
- Catalog=$hardtop/$Catalog
- else
- Catalog=`cygpath -w $hardtop/$Catalog`
- fi
- ;;
- *) Catalog=$hardtop/$Catalog
- ;;
- esac
- ;;
-esac
-AC_SUBST(Catalog)
-
+dnl ** check for DocBook toolchain
+FP_CHECK_DOCBOOK_DTD
+FP_DIR_DOCBOOK_XSL([/usr/share/xml/docbook/stylesheet/nwalsh/current /usr/share/xml/docbook/stylesheet/nwalsh /usr/share/sgml/docbook/docbook-xsl-stylesheets* /usr/share/sgml/docbook/xsl-stylesheets* /opt/kde?/share/apps/ksgmltools2/docbook/xsl /usr/share/docbook-xsl /usr/share/sgml/docbkxsl])
+FP_PROG_FO_PROCESSOR
dnl ** check for ghc-pkg command
-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
+FP_PROG_GHC_PKG
AC_ARG_WITH(greencard,
[AC_HELP_STRING([--with-greencard=ARG],
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 locale.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 bfd.h winsock.h pthread.h sys/uio.h)
-AC_CHECK_HEADER(unistd.h,[AC_CHECK_FUNCS(lchown)])
+AC_CHECK_HEADERS([arpa/inet.h bfd.h ctype.h dirent.h dlfcn.h errno.h fcntl.h grp.h limits.h locale.h netdb.h netinet/in.h netinet/tcp.h nlist.h pthread.h pwd.h signal.h sys/mman.h sys/resource.h sys/socket.h sys/time.h sys/timeb.h sys/timers.h sys/times.h sys/uio.h sys/un.h sys/utsname.h sys/wait.h termios.h time.h utime.h windows.h winsock.h])
+
+AC_CHECK_HEADER([unistd.h], [AC_CHECK_FUNCS(lchown)])
-AC_CHECK_HEADER(readline/readline.h, [HaveReadlineReadlineH=YES], [HaveReadlineReadlineH=NO])
-AC_CHECK_HEADER(readline/history.h, [HaveReadlineHistoryH=YES], [HaveReadlineHistoryH=NO])
+AC_CHECK_HEADER([readline/readline.h], [HaveReadlineReadlineH=YES], [HaveReadlineReadlineH=NO])
+AC_CHECK_HEADER([readline/history.h], [HaveReadlineHistoryH=YES], [HaveReadlineHistoryH=NO])
if test $HaveReadlineReadlineH = YES && test $HaveReadlineHistoryH = YES ; then
GhcLibsWithReadline=YES
fi
AC_SUBST(GhcLibsWithReadline)
-dnl ** check for DOS include files
-AC_CHECK_HEADERS(dos.h conio.h io.h std.h)
-
-dnl ** check for Windows include files
-AC_CHECK_HEADERS(windows.h)
-
dnl ** check for OpenGL/GLUT include paths and libraries
FP_CHECK_GLUT
dnl ** check if it is safe to include both <time.h> and <sys/time.h>
AC_HEADER_TIME
-dnl dynamic loading include files
-AC_CHECK_HEADERS(dlfcn.h dl.h)
-
-dnl ** check for farcalloc (in bcc)
-AC_CHECK_HEADER(alloc.h,[AC_CHECK_FUNCS(farcalloc)])
-
-dnl ** check for valloc (in sunos, solaris, mips, amiga, next, minix, ultrix)
-AC_CHECK_HEADER(malloc.h,[AC_CHECK_FUNCS(valloc)])
-
dnl ** check for POSIX regex
HavePosixRegex=NO
-AC_CHECK_HEADERS(regex.h,[AC_CHECK_FUNC(regcomp, [HavePosixRegex=YES])])
+AC_CHECK_HEADERS([regex.h], [AC_CHECK_FUNCS(regcomp, [HavePosixRegex=YES])])
AC_SUBST(HavePosixRegex)
dnl ** how do we get a timezone name, and UTC offset ?
AC_CHECK_TYPES([long long])
dnl ** check what fields struct msghdr contains
-AC_CHECK_HEADERS([sys/types.h sys/socket.h sys/uio.h])
AC_CHECK_MEMBERS([struct msghdr.msg_control, struct msghdr.msg_accrights], [], [], [#if HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
fi
dnl ** check for more functions
-AC_CHECK_FUNCS(strcasecmp _stricmp stricmp strcmpi)
-AC_CHECK_FUNCS(strcmp)
-AC_CHECK_FUNCS(realpath _fullpath)
-AC_CHECK_FUNCS(PBHSetVolSync macsystem)
-AC_CHECK_FUNCS(fgetpos fsetpos fseek ftell)
-AC_CHECK_FUNCS(vsnprintf _vsnprintf)
-AC_CHECK_FUNCS(snprintf _snprintf )
-AC_CHECK_FUNCS(popen _popen )
-AC_CHECK_FUNCS(pclose _pclose )
-AC_CHECK_FUNCS(setenv unsetenv)
-
-
-dnl ** check for specific library functions that we are interested in
-AC_CHECK_FUNCS(access ftime getclock getpagesize getrusage gettimeofday mktime mprotect readlink setitimer stat lstat siginterrupt symlink sysconf timelocal times vadvise localtime_r gmtime_r readdir_r getgrgid_r getgrnam_r getpwuid_r getpwnam_r)
+AC_CHECK_FUNCS([ftime getclock getgrgid_r getgrnam_r getpagesize getpwnam_r getpwuid_r getrusage gettimeofday gmtime_r localtime_r lstat readdir_r readlink setenv setitimer siginterrupt symlink sysconf times unsetenv])
dnl ** Solaris2 needs additionl flag for getpw*_r()
case "$TargetPlatform" in
dnl ** check for wide-char classifications
dnl FreeBSD has an emtpy wctype.h, so test one of the affected
dnl functions if it's really there.
-AC_CHECK_HEADERS(wctype.h,
- [AC_CHECK_FUNCS(iswspace)]
-)
+AC_CHECK_HEADERS([wctype.h], [AC_CHECK_FUNCS(iswspace)])
dnl ** check for readline, for Hugs and hslibs' Readline
dnl ncurses supersedes termcap and curses, but for compatibility,
AC_DEFINE([HAVE_LIBDL], [1], [Define to 1 if you need -ldl to get dlopen().])
LIBS="$LIBS -ldl"],
[HaveLibDL=NO])
- AC_CHECK_FUNCS(dlopen)
AC_SUBST(HaveLibDL)
dnl ** sometimes RTLD_NEXT is hidden in #ifdefs we really don't wan to set
AC_C_BIGENDIAN
dnl ** check for leading underscores in symbol names
-FPTOOLS_UNDERSCORE
+FP_LEADING_UNDERSCORE
dnl ** check for ld, and whether ld has -x option
AC_PATH_PROG(LdCmdRaw, ld)
case $HostOS_CPP in
mingw32)
- if test ${OSTYPE} == "msys"
+ if test "${OSTYPE}" == "msys"
then
LdCmd=${LdCmdRaw}
else
FP_EMPTY_STRUCTS
+dnl ** Check for idiosyncracies in some mingw impls of directory handling.
+FP_READDIR_EOF_ERRNO
+FP_DIRENT_FLAT_LAYOUT
+
AC_MSG_CHECKING([for SIGPOLL])
AC_EGREP_CPP(we_have_sigpoll,
[#include <signal.h>