summaryrefslogtreecommitdiff
path: root/glib-1.2/glib-1.2-1.2.10/glib-reconf-fix
diff options
context:
space:
mode:
Diffstat (limited to 'glib-1.2/glib-1.2-1.2.10/glib-reconf-fix')
-rw-r--r--glib-1.2/glib-1.2-1.2.10/glib-reconf-fix683
1 files changed, 683 insertions, 0 deletions
diff --git a/glib-1.2/glib-1.2-1.2.10/glib-reconf-fix b/glib-1.2/glib-1.2-1.2.10/glib-reconf-fix
index e69de29bb2..8e643c8cf0 100644
--- a/glib-1.2/glib-1.2-1.2.10/glib-reconf-fix
+++ b/glib-1.2/glib-1.2-1.2.10/glib-reconf-fix
@@ -0,0 +1,683 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- glib-1.2.10/configure.in~glib-reconf-fix.patch
++++ glib-1.2.10/configure.in
+@@ -12,12 +12,16 @@
+ # Save this value here, since automake will set cflags later
+ cflags_set=${CFLAGS+set}
+
+-# we rewrite this file
+-rm -f glibconfig-sysdefs.h
++if test $cross_compiling != yes ; then
++ # we rewrite this file
++ rm -f glibconfig-sysdefs.h
++fi
+
+ dnl we need to AC_DIVERT_PUSH/AC_DIVERT_POP these variable definitions so they
+ dnl are available for $ac_help expansion (don't we all *love* autoconf?)
+-AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
++ifdef([AC_DIVERSION_NOTICE],
++ [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
++ [AC_DIVERT_PUSH(NOTICE)])dnl
+ #
+ # The following version number definitions apply to GLib, GModule and GThread
+ # as a whole, so if changes occoured in any of them, they are all
+@@ -72,7 +76,7 @@
+ AC_DEFINE_UNQUOTED(GLIB_BINARY_AGE, $GLIB_BINARY_AGE)
+
+ dnl Initialize libtool
+-AM_PROG_LIBTOOL
++AC_PROG_LIBTOOL
+
+ dnl Initialize maintainer mode
+ AM_MAINTAINER_MODE
+@@ -81,7 +85,9 @@
+
+ dnl figure debugging default, prior to $ac_help setup
+ dnl
+-AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
++ifdef([AC_DIVERSION_NOTICE],
++ [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
++ [AC_DIVERT_PUSH(NOTICE)])dnl
+ if test `expr $GLIB_MINOR_VERSION \% 2` = 1 ; then
+ debug_default=yes
+ else
+@@ -179,24 +185,26 @@
+ changequote([,])dnl
+
+ dnl DU4 native cc currently needs -std1 for ANSI mode (instead of K&R)
+-AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
+-glib_save_LIBS=$LIBS
+-LIBS="$LIBS -lm"
+-AC_TRY_RUN([#include <math.h>
+- int main (void) { return (log(1) != log(1.)); }],
+- AC_MSG_RESULT(none needed),
+- glib_save_CFLAGS=$CFLAGS
+- CFLAGS="$CFLAGS -std1"
+- AC_TRY_RUN([#include <math.h>
++if test $cross_compiling != yes ; then
++ AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
++ glib_save_LIBS=$LIBS
++ LIBS="$LIBS -lm"
++ AC_TRY_RUN([#include <math.h>
+ int main (void) { return (log(1) != log(1.)); }],
+- AC_MSG_RESULT(-std1),
+- AC_MSG_RESULT()
+- CFLAGS=$glib_save_CFLAGS
+- AC_MSG_WARN(
+- [No ANSI prototypes found in library. (-std1 didn't work.)])
+- )
+-)
+-LIBS=$glib_save_LIBS
++ AC_MSG_RESULT(none needed),
++ glib_save_CFLAGS=$CFLAGS
++ CFLAGS="$CFLAGS -std1"
++ AC_TRY_RUN([#include <math.h>
++ int main (void) { return (log(1) != log(1.)); }],
++ AC_MSG_RESULT(-std1),
++ AC_MSG_RESULT()
++ CFLAGS=$glib_save_CFLAGS
++ AC_MSG_WARN(
++ [No ANSI prototypes found in library. (-std1 didn't work.)])
++ )
++ )
++ LIBS=$glib_save_LIBS
++fi
+
+ dnl NeXTStep cc seems to need this
+ AC_MSG_CHECKING([for extra flags for POSIX compliance])
+@@ -232,9 +240,8 @@
+ dnl AC_C_INLINE is useless to us since it bails out too early, we need to
+ dnl truely know which ones of `inline', `__inline' and `__inline__' are
+ dnl actually supported.
+-AC_MSG_CHECKING(for __inline)
+-AC_CACHE_VAL(glib_cv_has__inline,[
+- AC_TRY_RUN([
++AC_CACHE_CHECK([for __inline],glib_cv_has__inline,[
++ AC_COMPILE_IFELSE([
+ __inline int foo () { return 0; }
+ int main () { return foo (); }
+ ],
+@@ -243,13 +250,11 @@
+ glib_cv_has__inline=no
+ ,)
+ ])
+-AC_MSG_RESULT($glib_cv_has__inline)
+ case x$glib_cv_has__inline in
+-xyes) AC_DEFINE(G_HAVE___INLINE)
++xyes) AC_DEFINE(G_HAVE___INLINE,1,[Have __inline keyword])
+ esac
+-AC_MSG_CHECKING(for __inline__)
+-AC_CACHE_VAL(glib_cv_has__inline__,[
+- AC_TRY_RUN([
++AC_CACHE_CHECK([for __inline__],glib_cv_has__inline__,[
++ AC_COMPILE_IFELSE([
+ __inline__ int foo () { return 0; }
+ int main () { return foo (); }
+ ],
+@@ -258,13 +263,12 @@
+ glib_cv_has__inline__=no
+ ,)
+ ])
+-AC_MSG_RESULT($glib_cv_has__inline__)
+ case x$glib_cv_has__inline__ in
+-xyes) AC_DEFINE(G_HAVE___INLINE__)
++xyes) AC_DEFINE(G_HAVE___INLINE__,1,[Have __inline__ keyword])
+ esac
+-AC_MSG_CHECKING(for inline)
+-AC_CACHE_VAL(glib_cv_hasinline,[
+- AC_TRY_RUN([
++AC_CACHE_CHECK([for inline], glib_cv_hasinline,[
++ AC_COMPILE_IFELSE([
++ #undef inline
+ inline int foo () { return 0; }
+ int main () { return foo (); }
+ ],
+@@ -273,9 +277,8 @@
+ glib_cv_hasinline=no
+ ,)
+ ])
+-AC_MSG_RESULT($glib_cv_hasinline)
+ case x$glib_cv_hasinline in
+-xyes) AC_DEFINE(G_HAVE_INLINE)
++xyes) AC_DEFINE(G_HAVE_INLINE,1,[Have inline keyword])
+ esac
+
+ dnl for bytesex stuff
+@@ -397,20 +400,18 @@
+ AC_MSG_RESULT($glib_working_wctype)
+
+ dnl *** check for sane realloc() ***
+-AC_MSG_CHECKING(whether realloc (NULL,) will work)
+-AC_CACHE_VAL(glib_cv_sane_realloc,[
+- AC_TRY_RUN([
+- #include <stdlib.h>
+- int main() {
+- return realloc (0, sizeof (int)) == 0;
+- }],
+- glib_cv_sane_realloc=yes
+- AC_DEFINE(REALLOC_0_WORKS)
+- ,
+- glib_cv_sane_realloc=no
+- ,)
++AC_CACHE_CHECK([whether realloc (NULL,) will work],glib_cv_sane_realloc,[
++ AC_TRY_RUN([#include <stdlib.h>
++ int main() {
++ return realloc (0, sizeof (int)) == 0;
++ }],
++ [glib_cv_sane_realloc=yes],
++ [glib_cv_sane_realloc=no],
++ [glib_cv_sane_realloc=yes])
+ ])
+-AC_MSG_RESULT($glib_cv_sane_realloc)
++if test x$glib_cv_sane_realloc = xyes; then
++ AC_DEFINE(REALLOC_0_WORKS,1,[whether realloc (NULL,) works])
++fi
+
+
+ dnl **********************
+@@ -418,10 +419,8 @@
+ dnl **********************
+ dnl we currently check for all three va_copy possibilities, so we get
+ dnl all results in config.log for bug reports.
+-AC_MSG_CHECKING(for an implementation of va_copy())
+-AC_CACHE_VAL(glib_cv_va_copy,[
+- AC_TRY_RUN([
+- #include <stdarg.h>
++AC_CACHE_CHECK([for an implementation of va_copy()],glib_cv_va_copy,[
++ AC_LINK_IFELSE([#include <stdarg.h>
+ void f (int i, ...) {
+ va_list args1, args2;
+ va_start (args1, i);
+@@ -434,16 +433,11 @@
+ f (0, 42);
+ return 0;
+ }],
+- glib_cv_va_copy=yes
+- ,
+- glib_cv_va_copy=no
+- ,)
++ [glib_cv_va_copy=yes],
++ [glib_cv_va_copy=no])
+ ])
+-AC_MSG_RESULT($glib_cv_va_copy)
+-AC_MSG_CHECKING(for an implementation of __va_copy())
+-AC_CACHE_VAL(glib_cv___va_copy,[
+- AC_TRY_RUN([
+- #include <stdarg.h>
++AC_CACHE_CHECK([for an implementation of __va_copy()],glib_cv___va_copy,[
++ AC_LINK_IFELSE([#include <stdarg.h>
+ void f (int i, ...) {
+ va_list args1, args2;
+ va_start (args1, i);
+@@ -456,16 +450,23 @@
+ f (0, 42);
+ return 0;
+ }],
+- glib_cv___va_copy=yes
+- ,
+- glib_cv___va_copy=no
+- ,)
++ [glib_cv___va_copy=yes],
++ [glib_cv___va_copy=no])
+ ])
+-AC_MSG_RESULT($glib_cv___va_copy)
+-AC_MSG_CHECKING(whether va_lists can be copied by value)
+-AC_CACHE_VAL(glib_cv_va_val_copy,[
+- AC_TRY_RUN([
+- #include <stdarg.h>
++
++if test "x$glib_cv_va_copy" = "xyes"; then
++ g_va_copy_func=va_copy
++else if test "x$glib_cv___va_copy" = "xyes"; then
++ g_va_copy_func=__va_copy
++fi
++fi
++
++if test -n "$g_va_copy_func"; then
++ AC_DEFINE_UNQUOTED(G_VA_COPY,$g_va_copy_func,[A 'va_copy' style function])
++fi
++
++AC_CACHE_CHECK([whether va_lists can be copied by value],glib_cv_va_val_copy,[
++ AC_TRY_RUN([#include <stdarg.h>
+ void f (int i, ...) {
+ va_list args1, args2;
+ va_start (args1, i);
+@@ -478,21 +479,14 @@
+ f (0, 42);
+ return 0;
+ }],
+- glib_cv_va_val_copy=yes
+- ,
+- glib_cv_va_val_copy=no
+- ,)
++ [glib_cv_va_val_copy=yes],
++ [glib_cv_va_val_copy=no],
++ [glib_cv_va_val_copy=yes])
+ ])
+-if test "x$glib_cv_va_copy" = "xyes"; then
+- AC_DEFINE(G_VA_COPY, va_copy)
+-else if test "x$glib_cv___va_copy" = "xyes"; then
+- AC_DEFINE(G_VA_COPY, __va_copy)
+-fi
+-fi
++
+ if test "x$glib_cv_va_val_copy" = "xno"; then
+- AC_DEFINE(G_VA_COPY_AS_ARRAY)
++ AC_DEFINE(G_VA_COPY_AS_ARRAY,1, ['va_lists' cannot be copies as values])
+ fi
+-AC_MSG_RESULT($glib_cv_va_val_copy)
+
+
+ dnl ***********************
+@@ -506,20 +500,18 @@
+ G_MODULE_HAVE_DLERROR=0
+ dnl *** dlopen() and dlsym() in system libraries
+ if test -z "$G_MODULE_IMPL"; then
+- AC_CHECK_FUNC(dlopen,
+- AC_CHECK_FUNC(dlsym,
+- G_MODULE_IMPL=G_MODULE_IMPL_DL
+- ,)
+- ,)
++ AC_CHECK_FUNC(dlopen,
++ [AC_CHECK_FUNC(dlsym,
++ [G_MODULE_IMPL=G_MODULE_IMPL_DL],[])],
++ [])
+ fi
+ dnl *** dlopen() and dlsym() in libdl
+ if test -z "$G_MODULE_IMPL"; then
+ AC_CHECK_LIB(dl, dlopen,
+- AC_CHECK_LIB(dl, dlsym,
+- G_MODULE_LIBS=-ldl
+- G_MODULE_IMPL=G_MODULE_IMPL_DL
+- ,)
+- ,)
++ [AC_CHECK_LIB(dl, dlsym,
++ [G_MODULE_LIBS=-ldl
++ G_MODULE_IMPL=G_MODULE_IMPL_DL],[])],
++ [])
+ fi
+ dnl *** shl_load() in libdld (HP-UX)
+ if test -z "$G_MODULE_IMPL"; then
+@@ -556,40 +548,43 @@
+ LIBS="$LIBS $G_MODULE_LIBS"
+ LDFLAGS="$LDFLAGS $G_MODULE_LDFLAGS"
+ dnl *** check for OSF1/5.0 RTLD_GLOBAL brokenness
+- AC_CACHE_CHECK([for RTLD_GLOBAL brokenness],
+- glib_cv_rtldglobal_broken,[
+- AC_TRY_RUN([
+- #include <dlfcn.h>
+- #ifndef RTLD_GLOBAL
+- #define RTLD_GLOBAL 0
+- #endif
+- #ifndef RTLD_LAZY
+- #define RTLD_LAZY 0
+- #endif
+- int pthread_create;
+- int main () {
+- void *handle, *global, *local;
+- global = &pthread_create;
+- handle = dlopen ("libpthread.so", RTLD_GLOBAL | RTLD_LAZY);
+- if (!handle) return 0;
+- local = dlsym (handle, "pthread_create");
+- return global == local;
+- }],
+- [glib_cv_rtldglobal_broken=no],
+- [glib_cv_rtldglobal_broken=yes],
+- [])
+- rm -f plugin.c plugin.o plugin.lo
+- ])
+- if test "x$glib_cv_rtldglobal_broken" = "xyes"; then
+- G_MODULE_BROKEN_RTLD_GLOBAL=1
+- else
+- G_MODULE_BROKEN_RTLD_GLOBAL=0
+- fi
+-dnl *** check whether we need preceeding underscores
+- AC_MSG_CHECKING(for preceeding underscore in symbols)
+- AC_CACHE_VAL(glib_cv_uscore,[
++ echo "void glib_plugin_test(void) { }" > plugin.c
++ ${SHELL} ./libtool --mode=compile ${CC} -shared \
++ -export-dynamic -o plugin.o plugin.c 2>&1 >/dev/null
++ AC_CACHE_CHECK([for RTLD_GLOBAL brokenness],
++ glib_cv_rtldglobal_broken,[
+ AC_TRY_RUN([
+- #include <dlfcn.h>
++#include <dlfcn.h>
++#ifndef RTLD_GLOBAL
++# define RTLD_GLOBAL 0
++#endif
++#ifndef RTLD_LAZY
++# define RTLD_LAZY 0
++#endif
++int glib_plugin_test;
++int main () {
++ void *handle, *global, *local;
++ global = &glib_plugin_test;
++ handle = dlopen ("./.libs/plugin.o", RTLD_GLOBAL | RTLD_LAZY);
++ if (!handle) return 0;
++ local = dlsym (handle, "glib_plugin_test");
++ return global == local;
++} ],
++ [glib_cv_rtldglobal_broken=no],
++ [glib_cv_rtldglobal_broken=yes],
++ [glib_cv_rtldglobal_broken=no])
++ rm -f plugin.c plugin.o plugin.lo .libs/plugin.o
++ rmdir .libs 2>/dev/null
++ ])
++ if test "x$glib_cv_rtldglobal_broken" = "xyes"; then
++ G_MODULE_BROKEN_RTLD_GLOBAL=1
++ else
++ G_MODULE_BROKEN_RTLD_GLOBAL=0
++ fi
++dnl *** check whether we need preceeding underscores
++ AC_CACHE_CHECK([for preceeding underscore in symbols],
++ glib_cv_uscore,[
++ AC_TRY_RUN([#include <dlfcn.h>
+ int glib_underscore_test (void) { return 42; }
+ int main() {
+ void *f1 = (void*)0, *f2 = (void*)0, *handle;
+@@ -599,12 +594,12 @@
+ f2 = dlsym (handle, "_glib_underscore_test");
+ } return (!f2 || f1);
+ }],
+- glib_cv_uscore=yes,
+- glib_cv_uscore=no,
+- )
+- rm -f plugin.c plugin.o plugin.lo
++ [glib_cv_uscore=yes],
++ [glib_cv_uscore=no],
++ [])
++ rm -f plugin.c plugin.$ac_objext plugin.lo
+ ])
+- AC_MSG_RESULT($glib_cv_uscore)
++ AC_MSG_RESULT($glib_cv_uscore)
+ if test "x$glib_cv_uscore" = "xyes"; then
+ G_MODULE_NEED_USCORE=1
+ else
+@@ -614,8 +609,8 @@
+ LDFLAGS="$LDFLAGS_orig"
+ dnl *** check for having dlerror()
+ AC_CHECK_FUNC(dlerror,
+- G_MODULE_HAVE_DLERROR=1,
+- G_MODULE_HAVE_DLERROR=0)
++ [G_MODULE_HAVE_DLERROR=1],
++ [G_MODULE_HAVE_DLERROR=0])
+ LIBS="$LIBS_orig"
+ fi
+ dnl *** done, have e got an implementation?
+@@ -822,100 +817,168 @@
+ dnl check for mt safe function variants
+ dnl ***********************************
+
+-if test x"$have_threads" != xnone; then
++if test x"$have_threads" != xno; then
+ glib_save_LIBS="$LIBS"
+- glib_save_CFLAGS="$CFLAGS"
+ # we are not doing the following for now, as this might require glib
+ # to always be linked with the thread libs on some platforms.
+ # LIBS="$LIBS $G_THREAD_LIBS"
+- CFLAGS="$CFLAGS $G_THREAD_CFLAGS"
+- AC_CHECK_FUNCS(localtime_r rand_r)
++ AC_CHECK_FUNCS(localtime_r)
+ if test "$ac_cv_header_pwd_h" = "yes"; then
+- AC_MSG_CHECKING([for getpwuid_r])
+- AC_CACHE_VAL(ac_cv_func_getpwuid_r,
+- [AC_TRY_RUN([#include <errno.h>
+- int main () { char buffer[10000], *pointer;
+- char getpwuid_r (long, void*, void*,
+- int, void*);
+- int error;
+- errno = 0;
+- error = getpwuid_r (0, &buffer, &buffer,
+- sizeof (buffer), &pointer);
+- return errno == ENOSYS || error == ENOSYS;}],
+- [ac_cv_func_getpwuid_r=yes],
+- [ac_cv_func_getpwuid_r=no])])
+- if test "$ac_cv_func_getpwuid_r" = yes; then
+- AC_MSG_RESULT(yes)
++ AC_CACHE_CHECK([for posix getpwuid_r],
++ ac_cv_func_posix_getpwuid_r,
++ [AC_TRY_RUN([
++#include <errno.h>
++#include <pwd.h>
++int main () {
++ char buffer[10000];
++ struct passwd pwd, *pwptr = &pwd;
++ int error;
++ errno = 0;
++ error = getpwuid_r (0, &pwd, buffer,
++ sizeof (buffer), &pwptr);
++ return (error < 0 && errno == ENOSYS)
++ || error == ENOSYS;
++} ],
++ [ac_cv_func_posix_getpwuid_r=yes],
++ [ac_cv_func_posix_getpwuid_r=no])])
++ if test "$ac_cv_func_posix_getpwuid_r" = yes; then
++ AC_DEFINE(HAVE_POSIX_GETPWUID_R,1,
+ AC_DEFINE(HAVE_GETPWUID_R)
++ [Have POSIX function getpwuid_r])
+ else
+- AC_MSG_RESULT(no)
+- fi
+- if test "$ac_cv_func_getpwuid_r" = "yes"; then
+- AC_MSG_CHECKING(whether getpwuid_r is posix like)
+- # The signature for the POSIX version is:
+- # int getpwuid_r(uid_t, struct passwd *, char *, size_t, struct passwd **)
+- AC_TRY_COMPILE([#include <pwd.h>
+- #include <sys/types.h>
+- #include <stdlib.h>],
+- [getpwuid_r((uid_t)0, NULL, NULL, (size_t)0, NULL);],
+- [AC_DEFINE(HAVE_GETPWUID_R_POSIX)
+- AC_MSG_RESULT(yes)],
+- [AC_MSG_RESULT(no)])
++ AC_CACHE_CHECK([for nonposix getpwuid_r],
++ ac_cv_func_nonposix_getpwuid_r,
++ [AC_TRY_LINK([#include <pwd.h>],
++ [char buffer[10000];
++ struct passwd pwd;
++ getpwuid_r (0, &pwd, buffer,
++ sizeof (buffer));],
++ [AC_DEFINE(HAVE_GETPWUID_R_POSIX)
++ AC_MSG_RESULT(yes)],
++ [AC_MSG_RESULT(no)])])
++ if test "$ac_cv_func_nonposix_getpwuid_r" = yes; then
++ AC_DEFINE(HAVE_NONPOSIX_GETPWUID_R,1,
++ [Have non-POSIX function getpwuid_r])
++ fi
+ fi
+ fi
++ LIBS="$G_THREAD_LIBS $LIBS"
+ if test x"$have_threads" = xposix; then
+- LIBS="$LIBS $G_THREAD_LIBS"
+- AC_MSG_CHECKING(whether pthread_getspecific is posix like)
+- # PCThreads has pthread_getspecific(pthread_key_t, void **);
+- AC_TRY_COMPILE([#include <pthread.h>],
+- [pthread_getspecific(0,NULL);],
+- [AC_MSG_RESULT(no)],
+- [AC_MSG_RESULT(yes)
+- AC_DEFINE(HAVE_PTHREAD_GETSPECIFIC_POSIX)])
+- AC_MSG_CHECKING(whether pthread_mutex_trylock is posix like)
+- # DCE Threads return 1 as success, posix 0. what a mess.
+- AC_TRY_RUN([#include <pthread.h>
+- pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
+- int main () {
+- return !pthread_mutex_trylock (&mutex); }],
+- [AC_MSG_RESULT(no)],
+- [AC_MSG_RESULT(yes)
+- AC_DEFINE(HAVE_PTHREAD_MUTEX_TRYLOCK_POSIX)])
+- AC_MSG_CHECKING(whether pthread_cond_timedwait is posix like)
+- # DCE Threads return -1 as failure, posix ETIMEDOUT.
+- AC_TRY_RUN([#include <pthread.h>
+- int main () {
+- pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
+- pthread_cond_t cond = PTHREAD_COND_INITIALIZER;
+- struct timeval tval;
+- struct timespec tspec;
+- gettimeofday (&tval, NULL);
+- tspec.tv_sec = tval.tv_sec;
+- tspec.tv_nsec = 0;
+- return pthread_cond_timedwait (&cond,&mutex,&tspec)
+- != -1;}],
+- [AC_MSG_RESULT(no)],
++ glib_save_CPPFLAGS="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS $GTHREAD_COMPILE_IMPL_DEFINES"
++ dnl we might grow sizeof(pthread_t) later on, so use a dummy name here
++ GLIB_SIZEOF([#include <pthread.h>], pthread_t, system_thread)
++ # This is not AC_CHECK_FUNC to also work with function
++ # name mangling in header files.
++ AC_MSG_CHECKING(for pthread_attr_setstacksize)
++ AC_TRY_LINK([#include <pthread.h>],
++ [pthread_attr_t t; pthread_attr_setstacksize(&t,0)],
+ [AC_MSG_RESULT(yes)
+- AC_DEFINE(HAVE_PTHREAD_COND_TIMEDWAIT_POSIX)])
++ AC_DEFINE(HAVE_PTHREAD_ATTR_SETSTACKSIZE,1,
++ [Have function pthread_attr_setstacksize])],
++ [AC_MSG_RESULT(no)])
++ AC_MSG_CHECKING(for minimal/maximal thread priority)
++ if test x"$posix_priority_min" = x; then
++ AC_EGREP_CPP(PX_PRIO_MIN,[#include <pthread.h>
++ PX_PRIO_MIN],,[
++ posix_priority_min=PX_PRIO_MIN
++ posix_priority_max=PX_PRIO_MAX])
++ fi
++ if test x"$posix_priority_min" = x; then
++ # AIX
++ AC_EGREP_CPP(PTHREAD_PRIO_MIN,[#include <pthread.h>
++ PTHREAD_PRIO_MIN],,[
++ posix_priority_min=PTHREAD_PRIO_MIN
++ posix_priority_max=PTHREAD_PRIO_MAX])
++ fi
++ if test x"$posix_priority_min" = x; then
++ AC_EGREP_CPP(PRI_OTHER_MIN,[#include <pthread.h>
++ PRI_OTHER_MIN],,[
++ posix_priority_min=PRI_OTHER_MIN
++ posix_priority_max=PRI_OTHER_MAX])
++ fi
++ if test x"$posix_priority_min" = x; then
++ AC_MSG_RESULT(none found)
++ AC_MSG_WARN($POSIX_NO_PRIORITIES)
++ posix_priority_min=-1
++ posix_priority_max=-1
++ else
++ AC_MSG_RESULT($posix_priority_min/$posix_priority_max)
++ AC_MSG_CHECKING(for pthread_setschedparam)
++ AC_TRY_LINK([#include <pthread.h>],
++ [pthread_t t; pthread_setschedparam(t, 0, NULL)],
++ [AC_MSG_RESULT(yes)
++ AC_DEFINE_UNQUOTED(POSIX_MIN_PRIORITY,$posix_priority_min,[Minimum POSIX RT priority])
++ AC_DEFINE_UNQUOTED(POSIX_MAX_PRIORITY,$posix_priority_max,[Maximum POSIX RT priority])],
++ [AC_MSG_RESULT(no)
++ AC_MSG_WARN($POSIX_NO_PRIORITIES)])
++ fi
++ posix_yield_func=none
++ AC_MSG_CHECKING(for posix yield function)
++ for yield_func in sched_yield pthread_yield_np pthread_yield \
++ thr_yield; do
++ AC_TRY_LINK([#include <pthread.h>],
++ [$yield_func()],
++ [posix_yield_func="$yield_func"
++ break])
++ done
++ if test x"$posix_yield_func" = xnone; then
++ AC_MSG_RESULT(none found)
++ AC_MSG_WARN($POSIX_NO_YIELD)
++ posix_yield_func="g_usleep(1000)"
++ else
++ AC_MSG_RESULT($posix_yield_func)
++ posix_yield_func="$posix_yield_func()"
++ fi
++ AC_DEFINE_UNQUOTED(POSIX_YIELD_FUNC,$posix_yield_func,[The POSIX RT yield function])
++ CPPFLAGS="$glib_save_CPPFLAGS"
++
++ elif test x"$have_threads" = xwin32; then
++ # It's a pointer to a private struct
++ GLIB_SIZEOF(,struct _GThreadData *, system_thread)
++ elif test x"$have_threads" = xsolaris; then
++ GLIB_SIZEOF([#include <thread.h>], thread_t, system_thread)
+ fi
++
+ LIBS="$glib_save_LIBS"
+- CFLAGS="$glib_save_CFLAGS"
+-fi
+
+-if test "x$enable_threads" = "xyes"; then
+- if test "$ac_cv_func_getpwuid_r" != "yes"; then
++ # now spit out all the warnings.
++ if test "$ac_cv_func_posix_getpwuid_r" != "yes" &&
++ test "$ac_cv_func_nonposix_getpwuid_r" != "yes"; then
+ AC_MSG_WARN($FUNC_NO_GETPWUID_R)
+ fi
+ if test "$ac_cv_func_localtime_r" != "yes"; then
+ AC_MSG_WARN($FUNC_NO_LOCALTIME_R)
+ fi
++fi
++
++if test x"$glib_cv_sizeof_system_thread" = x; then
++ # use a pointer as a fallback.
++ GLIB_SIZEOF(,void *, system_thread)
+ fi
+
+-AC_DEFINE_UNQUOTED(G_THREAD_SOURCE,"gthread-$have_threads.c")
++#
++# Hack to deal with:
++#
++# a) GCC < 3.3 for Linux doesn't include -lpthread when
++# building shared libraries with linux.
++# b) libtool doesn't recognize -pthread as a library dependency.
++#
++case $host in
++ *-*-linux*)
++ G_THREAD_LIBS_FOR_GTHREAD="`echo $G_THREAD_LIBS | sed s/-pthread/-lpthread/`"
++ ;;
++ *)
++ G_THREAD_LIBS_FOR_GTHREAD="`echo $G_THREAD_LIBS | sed s/-pthread/-Wc,-pthread/`"
++ ;;
++esac
++
++AC_DEFINE_UNQUOTED(G_THREAD_SOURCE,"gthread-$have_threads.c",
++ [Source file containing theread implementation])
+ AC_SUBST(G_THREAD_CFLAGS)
+ AC_SUBST(G_THREAD_LIBS)
+-
+-CFLAGS="$CFLAGS $G_THREAD_CFLAGS"
++AC_SUBST(G_THREAD_LIBS_FOR_GTHREAD)
++AC_SUBST(G_THREAD_LIBS_EXTRA)
+
+ dnl **********************************************
+ dnl *** GDefaultMutex setup and initialization ***
+@@ -940,13 +1003,14 @@
+ dnl ****************************************
+ dnl *** GLib POLL* compatibility defines ***
+ dnl ****************************************
+-GLIB_SYSDEFS(
+-[#include <sys/types.h>
+-#include <sys/poll.h>],
+- POLLIN:1 POLLOUT:4 POLLPRI:2 POLLERR:8 POLLHUP:16 POLLNVAL:32,
+- glibconfig-sysdefs.h,
+- =)
+-
++if test $cross_compiling != yes ; then
++ GLIB_SYSDEFS(
++ [#include <sys/types.h>
++ #include <sys/poll.h>],
++ POLLIN:1 POLLOUT:4 POLLPRI:2 POLLERR:8 POLLHUP:16 POLLNVAL:32,
++ glibconfig-sysdefs.h,
++ =)
++fi
+
+ dnl ******************************
+ dnl *** output the whole stuff ***
+--- glib-1.2.10/gmodule/Makefile.am~glib-reconf-fix.patch
++++ glib-1.2.10/gmodule/Makefile.am
+@@ -42,7 +42,7 @@
+ libgplugin_b_la_LIBADD = @G_MODULE_LIBS@ # $(libglib)
+
+ noinst_PROGRAMS = testgmodule
+-testgmodule_LDFLAGS += @G_MODULE_LDFLAGS@
++testgmodule_LDFLAGS = @G_MODULE_LDFLAGS@
+ testgmodule_LDADD = libgmodule.la $(libglib) @G_MODULE_LIBS@
+
+ .PHONY: files release