X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=configure.ac;h=0df85655117ef88deb0a4aea47e0009882d0cc08;hb=64470ac297ab1cc9a1f53ec285099eda6655814a;hp=64922bb68227883657a27106451f0cb16938800b;hpb=71db5909a5e88608430a956bb9fcf93eb701697b;p=ghc-hetmet.git diff --git a/configure.ac b/configure.ac index 64922bb..0df8565 100644 --- a/configure.ac +++ b/configure.ac @@ -105,6 +105,24 @@ alpha*-unknown-freebsd*) 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 @@ -114,6 +132,15 @@ arm*-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 @@ -123,6 +150,15 @@ hppa*-*-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 @@ -290,6 +326,15 @@ m68k-sun-sunos4*) 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 @@ -350,6 +395,15 @@ powerpc-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 @@ -395,6 +449,24 @@ sparc-*-openbsd*) 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 @@ -448,15 +520,32 @@ 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 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} ;; @@ -515,9 +604,13 @@ AC_ARG_WITH(gcc, [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 :/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 :/path/to/gcc + withval=`cygpath -w ${withval} | sed -e 's@\\\\@/@g' ` + fi fi; CC="$withval"], [WhatGccIsCalled="gcc"] @@ -568,11 +661,11 @@ if test "$BootingFromHc" = "NO" -a "$WithGhc" = "" -a -d "$srcdir/ghc"; then 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 @@ -743,7 +836,8 @@ dnl If you can run configure, you certainly have /bin/sh 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 @@ -760,40 +854,13 @@ dnl ** check for tar 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) - Catalog=`cygpath -w $hardtop/$Catalog` - ;; - *) 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/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], @@ -871,7 +938,7 @@ 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 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_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 limits.h locale.h malloc.h nlist.h pascal.h pwd.h sgtty.h siginfo.h signal.h stat.h stddef.h stdarg.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/syscall.h sys/time.h sys/timeb.h sys/timers.h sys/times.h sys/un.h sys/utsname.h sys/vadvise.h sys/wait.h termio.h termios.h time.h types.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_HEADER(readline/readline.h, [HaveReadlineReadlineH=YES], [HaveReadlineReadlineH=NO]) @@ -925,15 +992,9 @@ 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 ? @@ -949,7 +1010,7 @@ dnl ** do we have long longs? 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_HEADERS([sys/socket.h sys/uio.h]) AC_CHECK_MEMBERS([struct msghdr.msg_control, struct msghdr.msg_accrights], [], [], [#if HAVE_SYS_TYPES_H # include #endif @@ -1092,20 +1153,7 @@ if test "$ac_cv_type_signal" = void; then 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 @@ -1204,6 +1252,13 @@ 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 ################################################################ @@ -1233,7 +1288,6 @@ else 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 @@ -1386,7 +1440,13 @@ FPTOOLS_UNDERSCORE 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} ;; @@ -1396,6 +1456,10 @@ FPTOOLS_LD_X 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