diff options
Diffstat (limited to 'recipes/glib-1.2')
-rwxr-xr-x | recipes/glib-1.2/glib-1.2-1.2.10/depcomp | 526 | ||||
-rw-r--r-- | recipes/glib-1.2/glib-1.2-1.2.10/gcc-3.4-pretty_function | 47 | ||||
-rw-r--r-- | recipes/glib-1.2/glib-1.2-1.2.10/glib-config-use-pkg-config | 72 | ||||
-rw-r--r-- | recipes/glib-1.2/glib-1.2-1.2.10/glib-reconf-fix | 683 | ||||
-rw-r--r-- | recipes/glib-1.2/glib-1.2-1.2.10/glib.m4-use-pkgconfig | 2 | ||||
-rw-r--r-- | recipes/glib-1.2/glib-1.2-1.2.10/glibconfig-sysdefs.h | 6 | ||||
-rw-r--r-- | recipes/glib-1.2/glib-1.2-1.2.10/posix-conf-changes | 44 | ||||
-rw-r--r-- | recipes/glib-1.2/glib-1.2-native_1.2.10.bb | 46 | ||||
-rw-r--r-- | recipes/glib-1.2/glib-1.2_1.2.10.bb | 44 |
9 files changed, 1470 insertions, 0 deletions
diff --git a/recipes/glib-1.2/glib-1.2-1.2.10/depcomp b/recipes/glib-1.2/glib-1.2-1.2.10/depcomp new file mode 100755 index 0000000000..25bdb18892 --- /dev/null +++ b/recipes/glib-1.2/glib-1.2-1.2.10/depcomp @@ -0,0 +1,526 @@ +#! /bin/sh +# depcomp - compile a program generating dependencies as side-effects + +scriptversion=2004-04-25.13 + +# Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>. + +case $1 in + '') + echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: depcomp [--help] [--version] PROGRAM [ARGS] + +Run PROGRAMS ARGS to compile a file, generating dependencies +as side-effects. + +Environment variables: + depmode Dependency tracking mode. + source Source file read by `PROGRAMS ARGS'. + object Object file output by `PROGRAMS ARGS'. + depfile Dependency file to output. + tmpdepfile Temporary file to use when outputing dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to <bug-automake@gnu.org>. +EOF + exit 0 + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit 0 + ;; +esac + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi +# `libtool' can also be set to `yes' or `no'. + +if test -z "$depfile"; then + base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'` + dir=`echo "$object" | sed 's,/.*$,/,'` + if test "$dir" = "$object"; then + dir= + fi + # FIXME: should be _deps on DOS. + depfile="$dir.deps/$base" +fi + +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. + "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +## The second -e expression handles DOS-style file names with drive letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the `deleted header file' problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. + tr ' ' ' +' < "$tmpdepfile" | +## Some versions of gcc put a space before the `:'. On the theory +## that the space means something, we add a space to the output as +## well. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like `#:fec' to the end of the + # dependency line. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ + tr ' +' ' ' >> $depfile + echo >> $depfile + + # The second pass generates a dummy entry for each header file. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> $depfile + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. In older versions, this file always lives in the + # current directory. Also, the AIX compiler puts `$object:' at the + # start of each line; $object doesn't have directory information. + # Version 6 uses the directory in both cases. + stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` + tmpdepfile="$stripped.u" + if test "$libtool" = yes; then + "$@" -Wc,-M + else + "$@" -M + fi + stat=$? + + if test -f "$tmpdepfile"; then : + else + stripped=`echo "$stripped" | sed 's,^.*/,,'` + tmpdepfile="$stripped.u" + fi + + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + + if test -f "$tmpdepfile"; then + outname="$stripped.o" + # Each line is of the form `foo.o: dependent.h'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" + sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +icc) + # Intel's C compiler understands `-MD -MF file'. However on + # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c + # ICC 7.0 will fill foo.d with something like + # foo.o: sub/foo.c + # foo.o: sub/foo.h + # which is wrong. We want: + # sub/foo.o: sub/foo.c + # sub/foo.o: sub/foo.h + # sub/foo.c: + # sub/foo.h: + # ICC 7.1 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using \ : + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form `foo.o: dependent.h', + # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | + sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +tru64) + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in `foo.d' instead, so we check for that too. + # Subdirectories are respected. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + + if test "$libtool" = yes; then + # Dependencies are output in .lo.d with libtool 1.4. + # They are output in .o.d with libtool 1.5. + tmpdepfile1="$dir.libs/$base.lo.d" + tmpdepfile2="$dir.libs/$base.o.d" + tmpdepfile3="$dir.libs/$base.d" + "$@" -Wc,-MD + else + tmpdepfile1="$dir$base.o.d" + tmpdepfile2="$dir$base.d" + tmpdepfile3="$dir$base.d" + "$@" -MD + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + if test -f "$tmpdepfile1"; then + tmpdepfile="$tmpdepfile1" + elif test -f "$tmpdepfile2"; then + tmpdepfile="$tmpdepfile2" + else + tmpdepfile="$tmpdepfile3" + fi + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + # That's a tab and a space in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + test -z "$dashmflag" && dashmflag=-M + # Require at least two characters before searching for `:' + # in the target name. This is to cope with DOS-style filenames: + # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. + "$@" $dashmflag | + sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + tr ' ' ' +' < "$tmpdepfile" | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + "$@" || exit $? + # Remove any Libtool call + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + # X makedepend + shift + cleared=no + for arg in "$@"; do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift ;; + # Strip any option that makedepend may not understand. Remove + # the object too, otherwise makedepend will parse it as a source file. + -*|$object) + ;; + *) + set fnord "$@" "$arg"; shift ;; + esac + done + obj_suffix="`echo $object | sed 's/^.*\././'`" + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + sed '1,2d' "$tmpdepfile" | tr ' ' ' +' | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + "$@" -E | + sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | + sed '$ s: \\$::' > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o, + # because we must use -o when running libtool. + "$@" || exit $? + IFS=" " + for arg + do + case "$arg" in + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) + set fnord "$@" "$arg" + shift + shift + ;; + esac + done + "$@" -E | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" + echo " " >> "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/recipes/glib-1.2/glib-1.2-1.2.10/gcc-3.4-pretty_function b/recipes/glib-1.2/glib-1.2-1.2.10/gcc-3.4-pretty_function new file mode 100644 index 0000000000..f69102549f --- /dev/null +++ b/recipes/glib-1.2/glib-1.2-1.2.10/gcc-3.4-pretty_function @@ -0,0 +1,47 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- glib-1.2.10/gstrfuncs.c~gcc-3.4-pretty_function ++++ glib-1.2.10/gstrfuncs.c +@@ -867,8 +867,7 @@ + /* beware of positional parameters + */ + case '$': +- g_warning (G_GNUC_PRETTY_FUNCTION +- "(): unable to handle positional parameters (%%n$)"); ++ g_warning ("%s(): unable to handle positional parameters (%%n$)",G_GNUC_PRETTY_FUNCTION); + len += 1024; /* try adding some safety padding */ + break; + +@@ -1034,8 +1033,7 @@ + /* n . dddddddddddddddddddddddd E +- eeee */ + conv_len += 1 + 1 + MAX (24, spec.precision) + 1 + 1 + 4; + if (spec.mod_extra_long) +- g_warning (G_GNUC_PRETTY_FUNCTION +- "(): unable to handle long double, collecting double only"); ++ g_warning ("%s(): unable to handle long double, collecting double only",G_GNUC_PRETTY_FUNCTION); + #ifdef HAVE_LONG_DOUBLE + #error need to implement special handling for long double + #endif +@@ -1077,8 +1075,7 @@ + conv_done = TRUE; + if (spec.mod_long) + { +- g_warning (G_GNUC_PRETTY_FUNCTION +- "(): unable to handle wide char strings"); ++ g_warning ( "%s(): unable to handle wide char strings",G_GNUC_PRETTY_FUNCTION); + len += 1024; /* try adding some safety padding */ + } + break; +@@ -1108,8 +1105,7 @@ + conv_len += format - spec_start; + break; + default: +- g_warning (G_GNUC_PRETTY_FUNCTION +- "(): unable to handle `%c' while parsing format", ++ g_warning ("%s(): unable to handle `%c' while parsing format",G_GNUC_PRETTY_FUNCTION, + c); + break; + } diff --git a/recipes/glib-1.2/glib-1.2-1.2.10/glib-config-use-pkg-config b/recipes/glib-1.2/glib-1.2-1.2.10/glib-config-use-pkg-config new file mode 100644 index 0000000000..aaa64f392c --- /dev/null +++ b/recipes/glib-1.2/glib-1.2-1.2.10/glib-config-use-pkg-config @@ -0,0 +1,72 @@ +--- glib-1.2.10/glib-config.in.orig 2006-06-28 12:28:53.000000000 +0100 ++++ glib-1.2.10/glib-config.in 2006-06-28 12:31:33.000000000 +0100 +@@ -28,6 +28,8 @@ + + lib_glib=yes + ++cmd="pkg-config " ++ + while test $# -gt 0; do + case "$1" in + -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;; +@@ -55,20 +57,14 @@ + echo @GLIB_VERSION@ + exit 0 + ;; +- --cflags) +- echo_cflags=yes +- ;; +- --libs) +- echo_libs=yes +- ;; +- glib) +- lib_glib=yes +- ;; +- gmodule) +- lib_gmodule=yes +- ;; +- gthread) +- lib_gthread=yes ++ --cflags | --libs) ++ cmd="$cmd $1 " ++ echo_pkgconfig="yes" ++ ;; ++ glib | gmodule | gthread) ++ cmd="$cmd $1 " ++ echo_pkgconfig="yes" ++ module_provided="yes" + ;; + *) + usage 1 1>&2 +@@ -83,26 +79,9 @@ + if test "$echo_exec_prefix" = "yes"; then + echo $exec_prefix + fi +-if test "$echo_cflags" = "yes"; then +- cflags="" +- if test "$lib_gthread" = "yes"; then +- cflags="$cflags @G_THREAD_CFLAGS@" +- fi +- echo -I@includedir@/glib-1.2 -I@libdir@/glib/include $includes $cflags +-fi +-if test "$echo_libs" = "yes"; then +- libsp="" +- libsa="" +- if test "$lib_glib" = "yes"; then +- libsp="$libsp -lglib" +- fi +- if test "$lib_gthread" = "yes"; then +- libsp="-lgthread $libsp" +- libsa="$libsa @G_THREAD_LIBS@" +- fi +- if test "$lib_gmodule" = "yes"; then +- libsp="@G_MODULE_LDFLAGS@ -lgmodule $libsp" +- libsa="$libsa @G_MODULE_LIBS@" +- fi +- echo -L@libdir@ $libsp $libsa ++if test "$echo_pkgconfig" = "yes"; then ++ if test -z "$module_provided" ; then ++ cmd="$cmd glib" ++ fi ++ echo `$cmd` + fi diff --git a/recipes/glib-1.2/glib-1.2-1.2.10/glib-reconf-fix b/recipes/glib-1.2/glib-1.2-1.2.10/glib-reconf-fix new file mode 100644 index 0000000000..8e643c8cf0 --- /dev/null +++ b/recipes/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 diff --git a/recipes/glib-1.2/glib-1.2-1.2.10/glib.m4-use-pkgconfig b/recipes/glib-1.2/glib-1.2-1.2.10/glib.m4-use-pkgconfig new file mode 100644 index 0000000000..f1f5019d2b --- /dev/null +++ b/recipes/glib-1.2/glib-1.2-1.2.10/glib.m4-use-pkgconfig @@ -0,0 +1,2 @@ +patch AC_PATH_GLIB to use pkgconfig rather than glib-config, and glib-config to use pkgconfig + diff --git a/recipes/glib-1.2/glib-1.2-1.2.10/glibconfig-sysdefs.h b/recipes/glib-1.2/glib-1.2-1.2.10/glibconfig-sysdefs.h new file mode 100644 index 0000000000..1329e7f21c --- /dev/null +++ b/recipes/glib-1.2/glib-1.2-1.2.10/glibconfig-sysdefs.h @@ -0,0 +1,6 @@ +#define GLIB_SYSDEF_POLLIN =1 +#define GLIB_SYSDEF_POLLOUT =4 +#define GLIB_SYSDEF_POLLPRI =2 +#define GLIB_SYSDEF_POLLERR =8 +#define GLIB_SYSDEF_POLLHUP =16 +#define GLIB_SYSDEF_POLLNVAL =32 diff --git a/recipes/glib-1.2/glib-1.2-1.2.10/posix-conf-changes b/recipes/glib-1.2/glib-1.2-1.2.10/posix-conf-changes new file mode 100644 index 0000000000..c4dab42542 --- /dev/null +++ b/recipes/glib-1.2/glib-1.2-1.2.10/posix-conf-changes @@ -0,0 +1,44 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- glib-1.2.10/gthread/gthread-posix.c~posix-conf-changes ++++ glib-1.2.10/gthread/gthread-posix.c +@@ -76,7 +76,7 @@ + int result; + + result = pthread_mutex_trylock ((pthread_mutex_t *) mutex); +-#ifdef HAVE_PTHREAD_MUTEX_TRYLOCK_POSIX ++#ifdef G_THREADS_IMPL_POSIX + if (result == EBUSY) + return FALSE; + posix_check_for_error (result); +@@ -127,7 +127,7 @@ + result = pthread_cond_timedwait ((pthread_cond_t *) cond, + (pthread_mutex_t *) entered_mutex, + &end_time); +-#ifdef HAVE_PTHREAD_COND_TIMEDWAIT_POSIX ++#ifdef G_THREADS_IMPL_POSIX + timed_out = (result == ETIMEDOUT); + #else + timed_out = (result == -1 && errno == EAGAIN); +@@ -170,15 +170,15 @@ + { + if (!private_key) + return NULL; +-#ifdef HAVE_PTHREAD_GETSPECIFIC_POSIX ++#ifdef G_THREADS_IMPL_POSIX + return pthread_getspecific (*(pthread_key_t *) private_key); +-#else /* HAVE_PTHREAD_GETSPECIFIC_POSIX */ ++#else /* G_THREADS_IMPL_DCE */ + { + void* data; + pthread_getspecific (*(pthread_key_t *) private_key, &data); + return data; + } +-#endif /* HAVE_PTHREAD_GETSPECIFIC_POSIX */ ++#endif /* G_THREADS_IMPL_POSIX*/ + } + + static GThreadFunctions g_thread_functions_for_glib_use_default = diff --git a/recipes/glib-1.2/glib-1.2-native_1.2.10.bb b/recipes/glib-1.2/glib-1.2-native_1.2.10.bb new file mode 100644 index 0000000000..74e562d47c --- /dev/null +++ b/recipes/glib-1.2/glib-1.2-native_1.2.10.bb @@ -0,0 +1,46 @@ +PR = "r0" +LICENSE = "LGPL" +DESCRIPTION = "GLib 1.2 is a deprecated libray to \ +provide support for old glib 1.2 based applications" +SECTION = "libs" +PRIORITY = "optional" +DEPENDS = "" + +FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/glib-1.2-${PV}" + +EXTRA_OECONF = "--disable-debug" + +SRC_URI = "ftp://ftp.gtk.org/pub/gtk/v1.2/glib-${PV}.tar.gz \ + file://glibconfig-sysdefs.h \ + file://depcomp \ + file://glib-reconf-fix;patch=1 \ + file://posix-conf-changes;patch=1 \ + file://gcc-3.4-pretty_function;patch=1" + + +S = "${WORKDIR}/glib-${PV}" + +inherit autotools pkgconfig native gettext + +acpaths = "" +do_configure_prepend () { + install -m 0644 ${WORKDIR}/glibconfig-sysdefs.h . + install -m 0644 ${WORKDIR}/depcomp . + rm -f ltconfig acinclude.m4 libtool ltmain.sh +} + + +do_stage () { + oe_libinstall -so libglib ${STAGING_LIBDIR} + oe_libinstall -so -C gmodule libgmodule ${STAGING_LIBDIR} + oe_libinstall -so -C gthread libgthread ${STAGING_LIBDIR} + autotools_stage_includes + install -d ${STAGING_INCDIR}/glib-1.2 + install -m 0755 ${S}/glibconfig.h ${STAGING_INCDIR}/glib-1.2/glibconfig.h + install -d ${STAGING_DATADIR}/aclocal + install -m 0644 ${S}/glib.m4 ${STAGING_DATADIR}/aclocal/glib-1.2.m4 +} + +do_install () { + : +} diff --git a/recipes/glib-1.2/glib-1.2_1.2.10.bb b/recipes/glib-1.2/glib-1.2_1.2.10.bb new file mode 100644 index 0000000000..77cbee2a14 --- /dev/null +++ b/recipes/glib-1.2/glib-1.2_1.2.10.bb @@ -0,0 +1,44 @@ +DESCRIPTION = "GLib 1.2 is a deprecated libray to \ +provide support for old glib 1.2 based applications" +SECTION = "libs" +PRIORITY = "optional" +LICENSE = "LGPL" +DEPENDS = "glib-1.2-native" +PR = "r2" + +LEAD_SONAME = "libglib-1.2.*" + +FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/glib-1.2-${PV}" + +EXTRA_OECONF = "--disable-debug" + +SRC_URI = "ftp://ftp.gtk.org/pub/gtk/v1.2/glib-${PV}.tar.gz \ + file://glibconfig-sysdefs.h \ + file://depcomp \ + file://glib-reconf-fix;patch=1 \ + file://posix-conf-changes;patch=1 \ + file://glib-config-use-pkg-config;patch=1 \ + file://gcc-3.4-pretty_function;patch=1" + +S = "${WORKDIR}/glib-${PV}" + +inherit autotools pkgconfig binconfig + +acpaths = "" +do_configure_prepend () { + install -m 0644 ${WORKDIR}/glibconfig-sysdefs.h . + install -m 0644 ${WORKDIR}/depcomp . + rm -f ltconfig acinclude.m4 libtool ltmain.sh +} + +do_stage () { + oe_libinstall -so libglib ${STAGING_LIBDIR} + oe_libinstall -so -C gmodule libgmodule ${STAGING_LIBDIR} + oe_libinstall -so -C gthread libgthread ${STAGING_LIBDIR} + autotools_stage_includes + install -d ${STAGING_INCDIR}/glib-1.2 + install -m 0644 glibconfig.h glib.h ${STAGING_INCDIR}/glib-1.2/ + install -d ${STAGING_DATADIR}/aclocal + install -m 0644 ${S}/glib.m4 ${STAGING_DATADIR}/aclocal/glib-1.2.m4 +} + |