X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=configure.in;h=f61558e4c1361b74bcda4b8b3b10d04719916e1f;hb=7543711db25a39cff8c19d4bdf02639255f1912f;hp=36ccd58ae6aa813fd8ab891c9aef9fe8cc87a080;hpb=bebf95f8ede42cb3e3c6e9819a2c03dee6797162;p=ghc-hetmet.git diff --git a/configure.in b/configure.in index 36ccd58..f61558e 100644 --- a/configure.in +++ b/configure.in @@ -556,12 +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(-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" +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 @@ -789,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) @@ -959,6 +961,8 @@ dnl ################################################################ dnl Check for libraries dnl ################################################################ +dnl ** check for libdl & RTLD_NEXT + AC_CHECK_LIB(dl, dlopen, [HaveLibDL=YES AC_DEFINE(HAVE_LIBDL) @@ -967,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 --------------------------------------------------