pkgsrc/devel/glib2/patches/patch-ak
drochner 0036a25a53 update to 2.14.3
changes:
-update the bundled PCRE from 7.2 to 7.4
-minor bugfixes
-translation updates

pkgsrc changes:
-don't use the bundled PCRE anymore, use pkgsrc's
-try to work around some ld.so lossage on NetBSD (which leads to some
 applications - most notably evolution and glade3 - not resolving symbols
 in dynamically loaded plugins) another way: use the RTLD_DEFAULT
 pseudo-handle when the main module is referred to. This could replace
 the previous mechanism, but it needs more investigation and tests, so
 I'm leaving both in parallel for now.
2007-11-08 19:52:21 +00:00

96 lines
2.8 KiB
Text

$NetBSD: patch-ak,v 1.2 2007/11/08 19:52:21 drochner Exp $
--- configure.in.orig 2007-11-07 06:12:00.000000000 +0100
+++ configure.in
@@ -1202,6 +1202,7 @@ fi
dnl G_MODULE_IMPL= don't reset, so cmd-line can override
G_MODULE_NEED_USCORE=0
G_MODULE_BROKEN_RTLD_GLOBAL=0
+G_MODULE_BROKEN_DLOPEN_NULL=0
G_MODULE_HAVE_DLERROR=0
dnl *** force native WIN32 shared lib loader
if test -z "$G_MODULE_IMPL"; then
@@ -1326,6 +1327,38 @@ dnl *** check for having dlerror()
[G_MODULE_HAVE_DLERROR=0])
LIBS="$LIBS_orig"
fi
+dnl *** check for dlopen(NULL, 0) brokenness
+ AC_CACHE_CHECK([for dlopen(NULL, 0) brokenness],
+ glib_cv_dlopennull_broken,[
+ AC_TRY_RUN([
+#include <stdio.h>
+#include <dlfcn.h>
+#ifndef RTLD_GLOBAL
+# define RTLD_GLOBAL 0
+#endif
+#ifndef RTLD_LAZY
+# define RTLD_LAZY 0
+#endif
+int gettext;
+int main () {
+ void *handle;
+ handle = dlopen ("libm.so", RTLD_GLOBAL | RTLD_LAZY);
+ if (!handle) return 0;
+ handle = dlopen (NULL, 0);
+ if (!handle) return 0;
+ handle = dlsym (handle, "sin");
+ return handle == NULL;
+}
+ ],
+ [glib_cv_dlopennull_broken=no],
+ [glib_cv_dlopennull_broken=yes],
+ [glib_cv_dlopennull_broken=no])
+ ])
+ if test "x$glib_cv_dlopennull_broken" = "xyes"; then
+ G_MODULE_BROKEN_DLOPEN_NULL=1
+ else
+ G_MODULE_BROKEN_DLOPEN_NULL=0
+ fi
dnl *** done, have we got an implementation?
if test -z "$G_MODULE_IMPL"; then
G_MODULE_IMPL=0
@@ -1355,6 +1388,8 @@ AC_SUBST(G_MODULE_PLUGIN_LIBS)
AC_SUBST(G_MODULE_LDFLAGS)
AC_SUBST(G_MODULE_HAVE_DLERROR)
AC_SUBST(G_MODULE_BROKEN_RTLD_GLOBAL)
+AC_SUBST(G_MODULE_BROKEN_DLOPEN_NULL)
+
AC_SUBST(G_MODULE_NEED_USCORE)
AC_SUBST(GLIB_DEBUG_FLAGS)
@@ -1598,22 +1633,8 @@ if test x"$have_threads" != xno; then
G_THREAD_LIBS="-lpthread -lthread"
;;
*)
- for flag in pthread pthreads mt; do
- glib_save_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -$flag"
- AC_TRY_RUN(glib_thread_test(0),
- glib_flag_works=yes,
- glib_flag_works=no,
- [AC_LINK_IFELSE(glib_thread_test(0),
- glib_flag_works=yes,
- glib_flag_works=no)])
- CFLAGS="$glib_save_CFLAGS"
- if test $glib_flag_works = yes ; then
- G_THREAD_CFLAGS=-$flag
- G_THREAD_LIBS=-$flag
- break;
- fi
- done
+ G_THREAD_LIBS="${PTHREAD_LDFLAGS} ${PTHREAD_LIBS}"
+ G_THREAD_CFLAGS="${PTHREAD_CFLAGS}"
;;
esac
fi
@@ -1970,6 +1991,10 @@ case $host in
*)
G_THREAD_LIBS_FOR_GTHREAD="$G_THREAD_LIBS"
;;
+ *-*-netbsd*)
+ # On NetBSD, pkgsrc's libtool does the right thing.
+ G_THREAD_LIBS_FOR_GTHREAD="$G_THREAD_LIBS"
+ ;;
esac
AC_DEFINE_UNQUOTED(G_THREAD_SOURCE,"gthread-$have_threads.c",