X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=configure.in;h=32f7b262956eb84d45b2233b9c8edf99a664abab;hb=6e5df3a4551b8d8b83e936b3f7b52edfc778ca8a;hp=8855fcf414b68b93a95883f721ea34e65a28d766;hpb=8ee8f0fbfbb0b373c1a61c6b97f113fb42f635c0;p=ghc-hetmet.git diff --git a/configure.in b/configure.in index 8855fcf..32f7b26 100644 --- a/configure.in +++ b/configure.in @@ -233,6 +233,15 @@ i[[3456]]86-next-nextstep3) 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 @@ -486,12 +495,24 @@ if test x"$EnableWin32DLLs" = "xYES" ; then 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, [ --enable-hopengl Build HOpenGL, a Haskell binding for OpenGL/GLUT, too. - (This option is only relevant when hslibs are built.) + (NOTE: Work in progress, currently only GLUT is supported!) ], [GhcLibsWithHOpenGL=YES], [GhcLibsWithHOpenGL=NO] @@ -555,6 +576,9 @@ esac dnl ** does #! path/to/perl work? (sometimes it's too long...) FPTOOLS_SHEBANG_PERL +dnl ** check for Python +AC_PATH_PROG(PythonCmd,python) + dnl ** look for GCC and find out which version dnl Figure out which C compiler to use. Gcc is preferred. dnl If gcc, make sure it's at least 2.1 @@ -612,7 +636,6 @@ AC_PATH_PROG(SedCmd,sed) dnl ** check for time command AC_PATH_PROG(TimeCmd,time) - dnl ** check for tar dnl if GNU tar is named gtar, look for it first. AC_PATH_PROGS(TarCmd,gtar tar,tar) @@ -623,7 +646,7 @@ AC_PATH_PROGS(CompressCmd,gzip compress,gzip) 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 @@ -666,6 +689,16 @@ if test "$BootingFromHc" = "NO"; then 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 -------------------------------------------------- @@ -679,6 +712,7 @@ 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 sys/uio.h) +AC_CHECK_HEADER(unistd.h,AC_CHECK_FUNC(lchown)) AC_CHECK_HEADER(readline/readline.h, HaveReadlineReadlineH=YES, HaveReadlineReadlineH=NO) AC_CHECK_HEADER(readline/history.h, HaveReadlineHistoryH=YES, HaveReadlineHistoryH=NO) @@ -810,6 +844,7 @@ FPTOOLS_CHECK_HTYPE(uid_t) FPTOOLS_CHECK_HTYPE(cc_t) FPTOOLS_CHECK_HTYPE(speed_t) FPTOOLS_CHECK_HTYPE(tcflag_t) +FPTOOLS_CHECK_HTYPE(blkcnt_t) FPTOOLS_CHECK_HTYPE(nlink_t) FPTOOLS_CHECK_HTYPE(ssize_t) @@ -831,6 +866,8 @@ FPTOOLS_CHECK_HTYPE(GLdouble) FPTOOLS_CHECK_HTYPE(GLclampd) fi +FPTOOLS_CHECK_CCONSTS(E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EADV EAFNOSUPPORT EAGAIN EALREADY EBADF EBADMSG EBADRPC EBUSY ECHILD ECOMM ECONNABORTED ECONNREFUSED ECONNRESET EDEADLK EDESTADDRREQ EDIRTY EDOM EDQUOT EEXIST EFAULT EFBIG EFTYPE EHOSTDOWN EHOSTUNREACH EIDRM EILSEQ EINPROGRESS EINTR EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK EMSGSIZE EMULTIHOP ENAMETOOLONG ENETDOWN ENETRESET ENETUNREACH ENFILE ENOBUFS ENODATA ENODEV ENOENT ENOEXEC ENOLCK ENOLINK ENOMEM ENOMSG ENONET ENOPROTOOPT ENOSPC ENOSR ENOSTR ENOSYS ENOTBLK ENOTCONN ENOTDIR ENOTEMPTY ENOTSOCK ENOTTY ENXIO EOPNOTSUPP EPERM EPFNOSUPPORT EPIPE EPROCLIM EPROCUNAVAIL EPROGMISMATCH EPROGUNAVAIL EPROTO EPROTONOSUPPORT EPROTOTYPE ERANGE EREMCHG EREMOTE EROFS ERPCMISMATCH ERREMOTE ESHUTDOWN ESOCKTNOSUPPORT ESPIPE ESRCH ESRMNT ESTALE ETIME ETIMEDOUT ETOOMANYREFS ETXTBSY EUSERS EWOULDBLOCK EXDEV) + dnl ** can we open files in binary mode? FPTOOLS_O_BINARY @@ -916,6 +953,29 @@ AC_CHECK_LIB(gmp, __gmpz_fdiv_qr, HaveLibGmp=YES; LibGmp=gmp, AC_SUBST(HaveLibGmp) AC_SUBST(LibGmp) +dnl ** (Mac OS X only: check for HaskellSupport.framework) +HaveFrameworkHaskellSupport=NO +if test $HostPlatform = "powerpc-apple-darwin"; then + AC_MSG_CHECKING([for HaskellSupport.framework]) + save_libs="$LIBS" + LIBS="-framework HaskellSupport" + AC_TRY_LINK_FUNC(__gmpz_fdiv_qr, HaveFrameworkHaskellSupport=YES,) + if test $HaveFrameworkHaskellSupport = YES; then + AC_DEFINE(HAVE_FRAMEWORK_HASKELLSUPPORT) + fi; + LIBS="$save_libs" + AC_MSG_RESULT([$HaveFrameworkHaskellSupport]) +fi; +AC_SUBST(HaveFrameworkHaskellSupport) + +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).]) @@ -982,52 +1042,133 @@ dnl ################################################################ dnl ** check for libdl & RTLD_NEXT -AC_CHECK_LIB(dl, dlopen, - [HaveLibDL=YES - AC_DEFINE(HAVE_LIBDL) - 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_MSG_CHECKING(for RTLD_NEXT from dlfcn.h) -AC_EGREP_CPP(yes, -[ - #include - #ifdef RTLD_NEXT - yes - #endif -], [ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_RTLDNEXT) - HaveRtldNext=YES -], [ - AC_MSG_RESULT(no) - HaveRtldNext=NO - ]) -AC_SUBST(HaveRtldNext) - -dnl ** RTLD_LOCAL isn't available on cygwin -AC_MSG_CHECKING(for RTLD_LOCAL from dlfcn.h) -AC_EGREP_CPP(yes, -[ - #include - #ifdef RTLD_LOCAL - yes - #endif -], [ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_RTLDLOCAL) - HaveRtldLocal=YES -], [ - AC_MSG_RESULT(no) - HaveRtldLocal=NO - ]) -AC_SUBST(HaveRtldLocal) +dnl (Mac OS X only) ... but don't check if we already have the +dnl HaskellSupport.framework + +if test $HaveFrameworkHaskellSupport = YES; then + HaveLibDL = NO + HaveRtldNext=NO + HaveRtldLocal=YES + AC_DEFINE(HAVE_RTLDLOCAL) + HaveRtldGlobal=YES + AC_DEFINE(HAVE_RTLDGLOBAL) + HaveRtldNow=YES + AC_DEFINE(HAVE_RTLDNOW) + AC_SUBST(HaveLibDL) + AC_SUBST(HaveRtldNext) + AC_SUBST(HaveRtldLocal) + AC_SUBST(HaveRtldGlobal) + AC_SUBST(HaveRtldNow) +else + AC_CHECK_LIB(dl, dlopen, + [HaveLibDL=YES + AC_DEFINE(HAVE_LIBDL) + 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_MSG_CHECKING(for RTLD_NEXT from dlfcn.h) + AC_EGREP_CPP(yes, + [ + #include + #ifdef RTLD_NEXT + yes + #endif + ], [ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_RTLDNEXT) + HaveRtldNext=YES + ], [ + AC_MSG_RESULT(no) + HaveRtldNext=NO + ]) + AC_SUBST(HaveRtldNext) + + dnl ** RTLD_LOCAL isn't available on cygwin or openbsd + AC_MSG_CHECKING(for RTLD_LOCAL from dlfcn.h) + AC_EGREP_CPP(yes, + [ + #include + #ifdef RTLD_LOCAL + yes + #endif + ], [ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_RTLDLOCAL) + HaveRtldLocal=YES + ], [ + AC_MSG_RESULT(no) + HaveRtldLocal=NO + ]) + 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 + #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 + #ifdef RTLD_NOW + yes + #endif + ], [ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_RTLDNOW) + HaveRtldNow=YES + ], [ + AC_MSG_RESULT(no) + HaveRtldNow=NO + ]) + 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? + +### On some systems usleep has no return value. If it does have one, +### we'd like to return it; otherwise, we'll fake it. +AC_CACHE_CHECK([return type of usleep], cv_func_usleep_return_type, + [AC_EGREP_HEADER(changequote(<, >)changequote([, ]), + /usr/include/unistd.h, + [cv_func_usleep_return_type=void], + [cv_func_usleep_return_type=int])]) +case "$cv_func_usleep_return_type" in + "void" ) + AC_DEFINE(USLEEP_RETURNS_VOID, 1, + [Define if the system headers declare usleep to return void.]) + ;; +esac + +dnl -------------------------------------------------- +dnl * test for in_addr_t +dnl -------------------------------------------------- +AC_MSG_CHECKING(for in_addr_t in netinet/in.h) +AC_EGREP_HEADER(in_addr_t, netinet/in.h, + [ AC_DEFINE(HAVE_IN_ADDR_T) AC_MSG_RESULT(yes) ], + AC_MSG_RESULT(no)) + dnl -------------------------------------------------- dnl * test for GTK+ dnl -------------------------------------------------- @@ -1096,4 +1237,12 @@ esac AC_SUBST(LdCmd) FPTOOLS_LD_X +AC_MSG_CHECKING([for SIGPOLL]) +AC_EGREP_CPP(we_have_sigpoll, +[#include +#ifdef SIGPOLL +we_have_sigpoll +#endif +], AC_DEFINE(HAVE_SIGPOLL) haveSIGPOLL=yes, haveSIGPOLL=no) +AC_MSG_RESULT([$haveSIGPOLL]) AC_OUTPUT(mk/config.mk, echo timestamp > mk/stamp-h )