[project @ 2002-03-29 20:46:50 by krasimir]
[ghc-hetmet.git] / configure.in
index ada52b6..26e2b0e 100644 (file)
@@ -557,12 +557,17 @@ 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"
-AC_SUBST(SRC_CC_OPTS)
+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 ** figure out how to do context diffs
 FPTOOLS_PROG_DIFF
@@ -958,6 +963,8 @@ dnl ################################################################
 dnl Check for libraries
 dnl ################################################################
 
+dnl ** check for libdl & RTLD_NEXT
+
 AC_CHECK_LIB(dl, dlopen, 
        [HaveLibDL=YES
         AC_DEFINE(HAVE_LIBDL)
@@ -966,6 +973,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 <dlfcn.h>
+ #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 <dlfcn.h>
+ #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 --------------------------------------------------