HostOS_CPP='mingw32'
exeext='.exe'
;;
+ia64-*-linux*)
+ HostPlatform=ia64-unknown-linux # hack again
+ TargetPlatform=ia64-unknown-linux
+ BuildPlatform=ia64-unknown-linux
+ HostPlatform_CPP='ia64_unknown_linux'
+ HostArch_CPP='ia64'
+ HostVendor_CPP='unknown'
+ HostOS_CPP='linux'
+ ;;
m68k-next-nextstep2)
HostPlatform_CPP='m68k_next_nextstep2'
HostArch_CPP='m68k'
HostVendor_CPP='next'
HostOS_CPP='nextstep3'
;;
+m68k-*-openbsd*)
+ HostPlatform=m68k-unknown-openbsd
+ TargetPlatform=m68k-unknown-openbsd
+ BuildPlatform=m68k-unknown-openbsd
+ HostPlatform_CPP='m68k_unknown_openbsd'
+ HostArch_CPP='m68k'
+ HostVendor_CPP='unknown'
+ HostOS_CPP='openbsd'
+ ;;
m68k-sun-sunos4*)
HostPlatform=m68k-sun-sunos4
TargetPlatform=m68k-sun-sunos4 #hack
AC_DEFINE(HAVE_WIN32_DLL_SUPPORT)
fi
+dnl ** Enable the building of the ObjectIO?
+dnl --------------------------------------------------------------
+AC_ARG_ENABLE(objectio,
+[ --enable-objectio
+ Build ObjectIO, a portable GUI library for Haskell.
+ (This option is only relevant when libraries are built.)
+],
+[GhcLibsWithObjectIO=YES],
+[GhcLibsWithObjectIO=NO]
+)
+AC_SUBST(GhcLibsWithObjectIO)
+
dnl ** Enable the building of the OpenGL/GLUT binding in hslibs?
dnl --------------------------------------------------------------
AC_ARG_ENABLE(hopengl,
dnl ** figure out how to invoke cpp directly (gcc -E is no good)
AC_PROG_CPP
-dnl ** does the C compiler support the following options?
-case $TargetOS_CPP in
-mingw32)
- FPTOOLS_CC_FLAG(-mno-cygwin,CC_SUPPORTS_MNO_CYGWIN)
-
- EXTRA_CC_OPTS="$CC_SUPPORTS_MNO_CYGWIN"
- SRC_CC_OPTS="-O $EXTRA_CC_OPTS"
- CPPFLAGS="$EXTRA_CC_OPTS $CPPFLAGS"
- AC_SUBST(SRC_CC_OPTS)
- ;;
-*) ;;
-esac
+dnl ** Without optimization some INLINE trickery fails for GHCi
+SRC_CC_OPTS="-O"
+
+dnl ** Try to add -mno-cygwin to the C compiler options for mingw32 targets
+if test x"$TargetOS_CPP" = x"mingw32"; then
+ FPTOOLS_CC_FLAG(-mno-cygwin,CC_SUPPORTS_MNO_CYGWIN)
+ SRC_CC_OPTS="$CC_SUPPORTS_MNO_CYGWIN $SRC_CC_OPTS"
+ CPPFLAGS="$CC_SUPPORTS_MNO_CYGWIN $CPPFLAGS"
+fi
+AC_SUBST(SRC_CC_OPTS)
dnl ** figure out how to do context diffs
FPTOOLS_PROG_DIFF
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 glafp-utils/docbook/CATALOG*)
+ /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
FPTOOLS_HAPPY
fi;
+AC_ARG_ENABLE(src-tree-haddock,
+[ --enable-src-tree-haddock
+ Build and use source tree (fptools/haddock) version of haddock.
+],
+[UseSrcTreeHaddock=YES],
+[UseSrcTreeHaddock=NO]
+)
+dnl ** check for installed haddock
+FPTOOLS_HADDOCK
+
dnl --------------------------------------------------
dnl ### program checking section ends here ###
dnl --------------------------------------------------
AC_HEADER_STDC
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)
+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(readline/readline.h, HaveReadlineReadlineH=YES, HaveReadlineReadlineH=NO)
AC_CHECK_HEADER(readline/history.h, HaveReadlineHistoryH=YES, HaveReadlineHistoryH=NO)
dnl ** do we have long longs?
FPTOOLS_C_LONG_LONG
+dnl ** check what fields struct msghdr contains
+FPTOOLS_MSGHDR_MSG_ACCRIGHTS
+FPTOOLS_MSGHDR_MSG_CONTROL
+
dnl ** what are the sizes of various types
dnl (these must come before GHC_CHECK_ALIGNMENT)
AC_CHECK_SIZEOF(char, 1)
dnl ** check whether this machine has gmp3 installed
AC_CHECK_LIB(gmp, __gmpz_fdiv_qr, HaveLibGmp=YES; LibGmp=gmp,
AC_CHECK_LIB(gmp3, __gmpz_fdiv_qr, HaveLibGmp=YES; LibGmp=gmp3,
- HaveLibGmp=No; LibGmp=not-installed))
+ HaveLibGmp=NO; LibGmp=not-installed))
AC_SUBST(HaveLibGmp)
AC_SUBST(LibGmp)
+dnl ** check for mingwex library
+AC_CHECK_LIB(mingwex, closedir, HaveLibMingwEx=YES, HaveLibMingwEx=NO)
+AC_SUBST(HaveLibMingwEx)
+
+if test $HaveLibMingwEx = YES ; then
+ AC_DEFINE(HAVE_MINGWEX)
+fi
+
+if test "$HaveLibGmp" = "NO"; then
+if test "$HostArch_CPP" = "ia64"; then
+AC_MSG_ERROR([You need to install libgmp (the in-tree version does not work on IA64).])
+fi;
+fi;
+
dnl ** check whether this machine has GNU regex in libc.
FPTOOLS_REGEX_IN_LIBC
])
AC_SUBST(HaveRtldNext)
-dnl ** RTLD_LOCAL isn't available on cygwin
+dnl ** RTLD_LOCAL isn't available on cygwin or openbsd
AC_MSG_CHECKING(for RTLD_LOCAL from dlfcn.h)
AC_EGREP_CPP(yes,
[
])
AC_SUBST(HaveRtldLocal)
+dnl ** RTLD_GLOBAL isn't available on openbsd
+AC_MSG_CHECKING(for RTLD_GLOBAL from dlfcn.h)
+AC_EGREP_CPP(yes,
+[
+ #include <dlfcn.h>
+ #ifdef RTLD_GLOBAL
+ yes
+ #endif
+], [
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_RTLDGLOBAL)
+ HaveRtldGlobal=YES
+], [
+ AC_MSG_RESULT(no)
+ HaveRtldGlobal=NO
+ ])
+AC_SUBST(HaveRtldGlobal)
+
+dnl ** RTLD_NOW isn't available on openbsd
+AC_MSG_CHECKING(for RTLD_NOW from dlfcn.h)
+AC_EGREP_CPP(yes,
+[
+ #include <dlfcn.h>
+ #ifdef RTLD_NOW
+ yes
+ #endif
+], [
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_RTLDNOW)
+ HaveRtldNow=YES
+], [
+ AC_MSG_RESULT(no)
+ HaveRtldNow=NO
+ ])
+AC_SUBST(HaveRtldNow)
+
FPTOOLS_CHECK_LIB_NOWARN(m, atan)
dnl --------------------------------------------------