pkgsrc-wip/glib2/patches/patch-ak
Jason Bacon 6d76a5190c Import glib2-2.34.3 as wip/glib2.
For testing patches aimed at Darwin.

GLib provides the core application building blocks for libraries
and applications written in C.  It provides the core object system
used in GNOME, the main loop implementation, and a large set of
utility functions for strings and common data structures.

This package contains GLib version 2.
2013-02-08 03:20:54 +00:00

171 lines
6 KiB
Text

$NetBSD: patch-ak,v 1.1 2013/02/08 03:20:55 outpaddling Exp $
First chunk: automake-1.13 compat.
--- configure.ac.orig 2013-01-21 15:53:29.000000000 +0000
+++ configure.ac
@@ -291,7 +291,7 @@ AC_TRY_COMPILE(,[class a { int b; } c;],
AM_CONDITIONAL(HAVE_CXX, [test "$CXX" != ""])
AC_LANG_RESTORE
-AM_PROG_CC_STDC
+AC_PROG_CC
AM_PROG_CC_C_O
AC_PROG_INSTALL
@@ -864,7 +864,7 @@ int main (int argc, char **argv)
AC_MSG_RESULT($g_have_gnuc_visibility)
AM_CONDITIONAL(HAVE_GNUC_VISIBILITY, [test x$g_have_gnuc_visibility = xyes])
-AC_MSG_CHECKING([whether using Sun Studio C compiler])
+AC_MSG_CHECKING([whether using Sun Studio C compiler visibility])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#if defined(__SUNPRO_C) || (__SUNPRO_C >= 0x550)
#else
# include "error: this is not Sun Studio."
@@ -1115,10 +1115,22 @@ AC_CHECK_TYPE([struct ip_mreqn], [
case $host in
*-*-solaris* )
- AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, Needed to get declarations for msg_control and msg_controllen on Solaris)
- AC_DEFINE(_XOPEN_SOURCE, 2, Needed to get declarations for msg_control and msg_controllen on Solaris)
- AC_DEFINE(__EXTENSIONS__, 1, Needed to get declarations for msg_control and msg_controllen on Solaris)
- ;;
+ AC_MSG_CHECKING([whether using Sun Studio C compiler with C99])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#if defined(__STDC_VERSION__) || (__STDC_VERSION__ - 0 >= 199901L)
+#else
+# include "error: this is STD C99."
+#endif
+ ]], [[]])], [ g_have_sunstudio_c99=yes ], [ g_have_sunstudio_c99=no ])
+ AC_MSG_RESULT($g_have_sunstudio_c99)
+ if test $g_have_sunstudio_c99 = yes; then
+ AC_DEFINE(_XOPEN_SOURCE, 600, Needed to get declarations for msg_control and msg_controllen on Solaris)
+ else
+ AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, Needed to get declarations for msg_control and msg_controllen on Solaris)
+ AC_DEFINE(_XOPEN_SOURCE, 2, Needed to get declarations for msg_control and msg_controllen on Solaris)
+ fi
+
+ AC_DEFINE(__EXTENSIONS__, 1, Needed to get declarations for msg_control and msg_controllen on Solaris)
+ ;;
esac
dnl
@@ -1477,11 +1489,12 @@ if test x"$glib_native_win32" = xyes; th
G_MODULE_LDFLAGS=
else
export SED
- G_MODULE_LDFLAGS=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
+ G_MODULE_LDFLAGS=`(libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
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
@@ -1542,13 +1555,13 @@ AS_IF([ test "$G_MODULE_IMPL" = "G_MODUL
LDFLAGS="$LDFLAGS $G_MODULE_LDFLAGS"
dnl *** check for OSF1/5.0 RTLD_GLOBAL brokenness
echo "void glib_plugin_test(void) { }" > plugin.c
- ${SHELL} ./libtool --mode=compile --tag=CC ${CC} ${CFLAGS} \
+ ${SHELL} libtool --mode=compile --tag=CC ${CC} ${CFLAGS} \
${CPPFLAGS} -c -o plugin.lo plugin.c >/dev/null 2>&1
- ${SHELL} ./libtool --mode=link --tag=CC ${CC} ${CFLAGS} \
+ ${SHELL} libtool --mode=link --tag=CC ${CC} ${CFLAGS} \
${LDFLAGS} -module -o plugin.la -export-dynamic \
-shrext ".o" -avoid-version plugin.lo \
-rpath /dont/care >/dev/null 2>&1
- eval `./libtool --config | grep ^objdir`
+ eval `libtool --config | grep ^objdir`
AC_CACHE_CHECK([for RTLD_GLOBAL brokenness],
glib_cv_rtldglobal_broken,[
AC_TRY_RUN([
@@ -1611,6 +1624,38 @@ dnl *** check for having dlerror()
[G_MODULE_HAVE_DLERROR=0])
LIBS="$LIBS_orig"
])
+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
@@ -1621,7 +1666,7 @@ fi
AC_MSG_CHECKING(for the suffix of module shared libraries)
export SED
-shrext_cmds=`./libtool --config | grep '^shrext_cmds='`
+shrext_cmds=`libtool --config | grep '^shrext_cmds='`
eval $shrext_cmds
module=yes eval std_shrext=$shrext_cmds
# chop the initial dot
@@ -1640,6 +1685,7 @@ 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)
@@ -2021,22 +2067,8 @@ AS_IF([ test x"$have_threads" = xposix],
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([AC_LANG_SOURCE(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
])
@@ -2322,6 +2354,7 @@ case $host in
;;
*-*-openbsd*)
LDFLAGS="$LDFLAGS -pthread"
+ G_THREAD_LIBS_FOR_GTHREAD="$G_THREAD_LIBS"
;;
*)
G_THREAD_LIBS_FOR_GTHREAD="$G_THREAD_LIBS"