summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@google.com>2009-10-10 04:47:05 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2009-10-10 04:47:05 +0000
commit0c2edd9f44eaf7a63442884d3c404240c8ef033b (patch)
tree3a2bf1f284bd8512335718730cb09368f933789a
parent30c99a9e194d987fce5271cacc16adf54f7c1bdf (diff)
downloadgcc-0c2edd9f44eaf7a63442884d3c404240c8ef033b.tar.gz
configure.ac: Use AC_SEARCH_LIBS to find dlopen.
* configure.ac: Use AC_SEARCH_LIBS to find dlopen. * configure: Rebuild. From-SVN: r152615
-rw-r--r--gcc/ChangeLog5
-rwxr-xr-xgcc/configure63
-rw-r--r--gcc/configure.ac12
3 files changed, 56 insertions, 24 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b91b6ccdd61..dd177c4ad0d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2009-10-09 Ian Lance Taylor <iant@google.com>
+
+ * configure.ac: Use AC_SEARCH_LIBS to find dlopen.
+ * configure: Rebuild.
+
2009-10-09 Neil Vachharajani <nvachhar@google.com>
* doc/cpp.texi (Other Directives): Do not list #ident and #sccs as
diff --git a/gcc/configure b/gcc/configure
index e4f3c2e0acd..903c949ce6b 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -25013,30 +25013,63 @@ rm -f core conftest.err conftest.$ac_objext \
fi
# Check -ldl
- LIBS="$LIBS -ldl"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -ldl" >&5
-$as_echo_n "checking for -ldl... " >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
+$as_echo_n "checking for library containing dlopen... " >&6; }
+if test "${ac_cv_search_dlopen+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <dlfcn.h>
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
int
main ()
{
-volatile int f = 0; if (f) dlopen ("dummy", 0);
+return dlopen ();
;
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }; have_dl=yes
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+for ac_lib in '' dl; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_search_dlopen=$ac_res
fi
rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test x"$have_dl" = x"yes"; then
+ conftest$ac_exeext
+ if test "${ac_cv_search_dlopen+set}" = set; then :
+ break
+fi
+done
+if test "${ac_cv_search_dlopen+set}" = set; then :
+
+else
+ ac_cv_search_dlopen=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+$as_echo "$ac_cv_search_dlopen" >&6; }
+ac_res=$ac_cv_search_dlopen
+if test "$ac_res" != no; then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+ if test x"$ac_cv_search_dlopen" = x"-ldl"; then
pluginlibs="$pluginlibs -ldl"
fi
@@ -25064,7 +25097,7 @@ $as_echo "no" >&6; }; have_pic_shared=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
- if test x"$have_pic_shared" != x"yes"; then
+ if test x"$have_pic_shared" != x"yes" -o x"$ac_cv_search_dlopen" = x"no"; then
pluginlibs=
enable_plugin=no
fi
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 79de6cd7964..eee47ad08b4 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -4253,14 +4253,8 @@ if test x"$enable_plugin" = x"yes"; then
fi
# Check -ldl
- LIBS="$LIBS -ldl"
- AC_MSG_CHECKING([for -ldl])
- AC_TRY_LINK(
- [#include <dlfcn.h>],
- [volatile int f = 0; if (f) dlopen ("dummy", 0);],
- [AC_MSG_RESULT([yes]); have_dl=yes],
- [AC_MSG_RESULT([no])])
- if test x"$have_dl" = x"yes"; then
+ AC_SEARCH_LIBS([dlopen], [dl])
+ if test x"$ac_cv_search_dlopen" = x"-ldl"; then
pluginlibs="$pluginlibs -ldl"
fi
@@ -4271,7 +4265,7 @@ if test x"$enable_plugin" = x"yes"; then
[extern int X;],[return X == 0;],
[AC_MSG_RESULT([yes]); have_pic_shared=yes],
[AC_MSG_RESULT([no]); have_pic_shared=no])
- if test x"$have_pic_shared" != x"yes"; then
+ if test x"$have_pic_shared" != x"yes" -o x"$ac_cv_search_dlopen" = x"no"; then
pluginlibs=
enable_plugin=no
fi