]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
* libltdl/configure.in (libltdl_cv_preloaded_symbols,
authorAlexandre Oliva <oliva@dcc.unicamp.br>
Wed, 20 Jan 1999 09:06:46 +0000 (09:06 +0000)
committerAlexandre Oliva <aoliva@redhat.com>
Wed, 20 Jan 1999 09:06:46 +0000 (09:06 +0000)
HAVE_PRELOADED_SYMBOLS): test whether we support -dl*open
* libltdl/ltdl.c (!HAVE_PRELOADED_SYMBOLS, lt_preloaded_symbols):
define it to an empty list if libtool won't generate it, so as to
avoid link errors.  This will cause silent dlopening failures, but
maybe this is better than failing to link the program...

ChangeLog
libltdl/configure.in
libltdl/ltdl.c

index dc080b4c86383f932398c4a38dcdfe0dd8932be4..74ef488daa7684cf624077cc559ae8a3e07d6263 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 1999-01-20  Alexandre Oliva  <oliva@dcc.unicamp.br>
 
+       * libltdl/configure.in (libltdl_cv_preloaded_symbols,
+       HAVE_PRELOADED_SYMBOLS): test whether we support -dl*open
+       * libltdl/ltdl.c (!HAVE_PRELOADED_SYMBOLS, lt_preloaded_symbols):
+       define it to an empty list if libtool won't generate it, so as to
+       avoid link errors.  This will cause silent dlopening failures, but 
+       maybe this is better than failing to link the program...
+
        * libltdl/ltdl.h (LTDL_PRELOADED_SYMBOLS): remove it; better to
        declare lt_preloaded_symbols
        * doc/libtool.texi (LTDL_PRELOADED_SYMBOLS): ditto
index b792492dc91f7e29d3db7a263b659b3a7540508f..377198bbd03c54fac5656b999f79f2d45b4b2b45 100644 (file)
@@ -58,6 +58,18 @@ AC_CHECK_HEADERS(malloc.h memory.h stdlib.h stdio.h ctype.h dlfcn.h dl.h)
 AC_CHECK_HEADERS(string.h strings.h, break)
 AC_CHECK_FUNCS(strdup strchr strrchr index rindex)
 
+AC_CACHE_CHECK([whether libtool supports -dlopen/-dlpreopen],
+       libltdl_cv_preloaded_symbols, [dnl
+  if grep '^global_symbol_pipe=..*$' ./libtool >/dev/null; then
+    libltdl_cv_preloaded_symbols=yes
+  else
+    libltdl_cv_preloaded_symbols=no
+  fi
+])
+if test x"$libltdl_cv_preloaded_symbols" = x"yes"; then
+  AC_DEFINE(HAVE_PRELOADED_SYMBOLS)
+fi
+
 test_dlerror=no
 LIBADD_DL=
 AC_CHECK_FUNCS(dlopen, [AC_DEFINE(HAVE_LIBDL) test_dlerror=yes],
index 5d04293978bf0f5d0e6a79d27c5a6e2acb30acfd..19fac064a865b64041cad4d3ba86228630f3030e 100644 (file)
@@ -715,6 +715,11 @@ lt_dlpreload_default (preloaded)
        return 0;
 }
 
+#ifndef HAVE_PRELOADED_SYMBOLS
+/* If libtool won't define it, we'd better do */
+const lt_dlsymlist lt_preloaded_symbols[1] = { { 0, 0 } };
+#endif
+
 int
 lt_dlexit ()
 {