X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=configure.in;h=f61558e4c1361b74bcda4b8b3b10d04719916e1f;hb=ac03720e6db47c882418a2237770ad52ef97ecc4;hp=af910e2e2c843dc5ed65c217a7ebe1c2f2bf334d;hpb=146687a53f860d1fa56b51e54cc11c56d308f4be;p=ghc-hetmet.git diff --git a/configure.in b/configure.in index af910e2..f61558e 100644 --- a/configure.in +++ b/configure.in @@ -442,6 +442,17 @@ fi; fi; +dnl ** Enable multi-thread friendly RTS? +dnl -------------------------------------------------------------- +AC_ARG_ENABLE(threaded-rts, +[ --enable-threaded-rts + Support better interop with OS threads. +], +[ThreadedRts=YES], +[ThreadedRts=NO] +) +AC_SUBST(ThreadedRts) + dnl ** Enable the construction of Win32 DLLs? dnl -------------------------------------------------------------- AC_ARG_ENABLE(win32-dlls, @@ -545,13 +556,15 @@ FPTOOLS_HAVE_GCC 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? -FPTOOLS_CC_FLAG(-mwin32,CC_SUPPORTS_MWIN32) -FPTOOLS_CC_FLAG(-mno-cygwin,CC_SUPPORTS_MNO_CYGWIN) +dnl ** Without optimization some INLINE trickery fails for GHCi +SRC_CC_OPTS="-O" -EXTRA_CC_OPTS="$CC_SUPPORTS_MNO_CYGWIN $CC_SUPPORTS_MWIN32" -SRC_CC_OPTS="-O $EXTRA_CC_OPTS" -CPPFLAGS="$EXTRA_CC_OPTS $CPPFLAGS" +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 @@ -606,6 +619,9 @@ 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) @@ -653,7 +669,7 @@ dnl ** check for full ANSI header (.h) files 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) +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_HEADER(readline/readline.h, HaveReadlineReadlineH=YES, HaveReadlineReadlineH=NO) AC_CHECK_HEADER(readline/history.h, HaveReadlineHistoryH=YES, HaveReadlineHistoryH=NO) @@ -688,6 +704,11 @@ 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_HEADER(regex.h,AC_CHECK_FUNC(regcomp, HavePosixRegex=YES)) +AC_SUBST(HavePosixRegex) + dnl ** how do we get a timezone name, and UTC offset ? AC_STRUCT_TIMEZONE @@ -771,7 +792,6 @@ FPTOOLS_CHECK_HTYPE(ino_t) FPTOOLS_CHECK_HTYPE(mode_t) FPTOOLS_CHECK_HTYPE(off_t) FPTOOLS_CHECK_HTYPE(pid_t) -FPTOOLS_CHECK_HTYPE(size_t) FPTOOLS_CHECK_HTYPE(gid_t) FPTOOLS_CHECK_HTYPE(uid_t) FPTOOLS_CHECK_HTYPE(cc_t) @@ -935,10 +955,14 @@ mingw32) ;; *) AC_PATH_XTRA() ;; esac +FPTOOLS_HAVE_OPENGL + dnl ################################################################ dnl Check for libraries dnl ################################################################ +dnl ** check for libdl & RTLD_NEXT + AC_CHECK_LIB(dl, dlopen, [HaveLibDL=YES AC_DEFINE(HAVE_LIBDL) @@ -947,6 +971,42 @@ AC_CHECK_LIB(dl, dlopen, 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) + FPTOOLS_CHECK_LIB_NOWARN(m, atan) dnl --------------------------------------------------