gtk-all tarball, pkg-config changes to allow giant tarballs



Hi,

I have a giant tarball containing glib, pango, atk, gtk+ passing make
distcheck (except that glib/tests/threadpool-test fails) on my local
system.

The trick here is to link a library to a library that's not yet been
installed.

To do this, I added some pkg-config features.

First, pkg-config will prefer the file foo-uninstalled.pc rather than
foo.pc if you request the module 'foo'. The glib-2.0-uninstalled.pc.in
file looks like this:

  glib_genmarshal=${pcbuilddir}/${pcfiledir}/gobject/glib-genmarshal
  gobject_query=${pcbuilddir}/${pcfiledir}/gobject/gobject-query
  glib_mkenums=${pcbuilddir}/${pcfiledir}/@srcdir@/gobject/glib-mkenums

  Name: GLib Uninstalled
  Description: C Utility Library, Not Installed
  Version: @VERSION@
  Libs: ${pcbuilddir}/${pcfiledir}/libglib-1.3.la @ICONV_LIBS@ @INTLLIBS@
  Cflags: -I${pcbuilddir}/${pcfiledir} -I${pcbuilddir}/${pcfiledir}/@srcdir@

glib_genmarshal etc. are not new pkg-config features, just magic
variables we set so AM_PATH_GLIB_2_0 can retrieve the locations of
those executables.

Libs: contains two new features.

${pcbuilddir} is a magic variable expanding to the name of the build
directory where the library flags are intended to be used. The magic
variable defaults to the value '$(top_builddir)'. The
PKG_CONFIG_BUILD_DIR env variable overrides it; this could be used at
the top of a configure.in or in a Makefile that calls pkg-config
directly.

${pcfiledir} expands to the directory containing the .pc file. It uses
the directory name from PKG_CONFIG_PATH, not an absolute/canonicalized
name.

In configure.in for the toplevel mega-tarball, we have:

  export PKG_CONFIG_PATH='../glib':'../pango':'../atk':'../gtk+':$PKG_CONFIG_PATH
  AC_CONFIG_SUBDIRS(glib pango atk gtk+)

So in this case, when building say Pango, the library flags will end
up being:

  $(top_builddir)/../glib/libglib-1.3.la -liconf -lintl

$(top_builddir) gets expanded by make in each subdirectory of
Pango. ../glib is the location of glib builddir with respect to Pango
top_builddir.

i.e. ${pcbuilddir}/${pcfiledir} is a relative path to the GLib
builddir from the builddir being built.

So Cflags works the same way, pretty
clear. '-I${pcbuilddir}/${pcfiledir}/@srcdir@' hops from the GLib
builddir to the GLib srcdir, assuming srcdir is relative, which it
won't be if you call configure with an absolute path, this could be
fixed with some configure.in foolery.

All AC_TRY_RUN etc. have to be disabled when building in this way;
they can't link to libtool archives.

m4 macros have to be moved to an 'm4macros' subdirectory, so you can
add them to the aclocal path without sucking in random 'acinclude.m4'
files.

Outstanding issues:
 - you can't run any of the test or demo programs in GTK prior to
   'make install', because Pango relies on its config files being installed
 - the absolute path to srcdir issue

AM_PATH_GLIB_2_0 (and AM_PATH_GTK_2_0 in theory, not tested) now
support linking to uninstalled glib/gtk, so anytime you're building an
app/lib you can set PKG_CONFIG_PATH to include the uninstalled
glib/gtk+ builddir, and it should link against the uninstalled
glib/gtk.

Not much else.

If you thought 'make distcheck' was a pain to get working, give this a
try... ;-) Now we need a volunteer to fix all the gnome libraries ;-)

I appended the patch in case someone cares. Will commit as soon as
pkg-config is released with the new features, then you'll need to
upgrade pkg-config.

Havoc

Index: AUTHORS
===================================================================
RCS file: AUTHORS
diff -N AUTHORS
--- /dev/null	Tue May  5 16:32:27 1998
+++ AUTHORS	Thu May 17 19:02:23 2001
@@ -0,0 +1 @@
+See the AUTHORS files in individual subdirectories.
\ No newline at end of file
Index: COPYING
===================================================================
RCS file: COPYING
diff -N COPYING
--- /dev/null	Tue May  5 16:32:27 1998
+++ COPYING	Thu May 17 19:02:23 2001
@@ -0,0 +1 @@
+See the COPYING files in individual subdirectories.
\ No newline at end of file
Index: ChangeLog
===================================================================
RCS file: ChangeLog
diff -N ChangeLog
Index: Makefile.am
===================================================================
RCS file: Makefile.am
diff -N Makefile.am
--- /dev/null	Tue May  5 16:32:27 1998
+++ Makefile.am	Thu May 17 19:02:23 2001
@@ -0,0 +1,2 @@
+
+SUBDIRS= subdirs@
Index: NEWS
===================================================================
RCS file: NEWS
diff -N NEWS
--- /dev/null	Tue May  5 16:32:27 1998
+++ NEWS	Thu May 17 19:02:23 2001
@@ -0,0 +1 @@
+See the NEWS files in individual subdirectories.
\ No newline at end of file
Index: README
===================================================================
RCS file: README
diff -N README
--- /dev/null	Tue May  5 16:32:27 1998
+++ README	Thu May 17 19:02:23 2001
@@ -0,0 +1,3 @@
+This is glib, pango, atk, and gtk+ in one big package. It's purely for
+convenience; you can build the whole package with one './configure;
+make' command.
Index: acconfig.h
===================================================================
RCS file: acconfig.h
diff -N acconfig.h
--- /dev/null	Tue May  5 16:32:27 1998
+++ acconfig.h	Thu May 17 19:02:23 2001
@@ -0,0 +1,2 @@
+#undef PACKAGE
+#undef VERSION
Index: autogen.sh
===================================================================
RCS file: autogen.sh
diff -N autogen.sh
--- /dev/null	Tue May  5 16:32:27 1998
+++ autogen.sh	Thu May 17 19:02:23 2001
@@ -0,0 +1,132 @@
+#!/bin/sh
+# Run this to generate all the initial makefiles, etc.
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+## to cd to $srcdir, you must first be in $ORIGDIR
+ORIGDIR=`pwd`
+cd $srcdir
+PROJECT=gtk+-all
+TEST_TYPE=-d
+FILE=gtk+/gtk
+SUBDIRS="glib pango atk gtk+"
+SUBDIR_ACLOCAL_FLAGS="-I $srcdir/glib/m4macros"
+
+DIE=0
+
+(autoconf --version) < /dev/null > /dev/null 2>&1 || {
+	echo
+	echo "You must have autoconf installed to compile $PROJECT."
+	echo "Download the appropriate package for your distribution,"
+	echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/";
+	DIE=1
+}
+
+
+have_libtool=false
+if libtool --version < /dev/null > /dev/null 2>&1 ; then
+	libtool_version=`libtoolize --version |  libtoolize --version | sed 's/^[^0-9]*\([0-9.]\+\).*/\1/'`
+	case $libtool_version in
+	    1.4*)
+		have_libtool=true
+		;;
+	esac
+fi
+if $have_libtool ; then : ; else
+	echo
+	echo "You must have libtool 1.4 installed to compile $PROJECT."
+	echo "Install the appropriate package for your distribution,"
+	echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/";
+	DIE=1
+fi
+
+have_automake=false
+if automake --version < /dev/null > /dev/null 2>&1 ; then
+	automake_version=`automake --version | grep 'automake (GNU automake)' | sed 's/^[^0-9]*\(.*\)/\1/'`
+	case $automake_version in
+	   1.2*|1.3*|1.4) 
+		;;
+	   *)
+		have_automake=true
+		;;
+	esac
+fi
+if $have_automake ; then : ; else
+	echo
+	echo "You must have automake 1.4-p1 installed to compile $PROJECT."
+	echo "Get ftp://ftp.gnu.org/pub/gnu/automake/automake-1.4-p1.tar.gz";
+	echo "(or a newer version if it is available)"
+	DIE=1
+fi
+
+if test "$DIE" -eq 1; then
+	exit 1
+fi
+
+test $TEST_TYPE $FILE || {
+	echo "You must run this script in the top-level $PROJECT directory"
+	exit 1
+}
+
+if test -z "$*"; then
+	echo "I am going to run ./configure with no arguments - if you wish "
+        echo "to pass any to it, please specify them on the $0 command line."
+fi
+
+case $CC in
+*xlc | *xlc\ * | *lcc | *lcc\ *) am_opt=--include-deps;;
+esac
+
+if test -z "$ACLOCAL_FLAGS"; then
+
+	acdir=`aclocal --print-ac-dir`
+        m4list=""
+
+	for file in $m4list
+	do
+		if [ ! -f "$acdir/$file" ]; then
+			echo "WARNING: aclocal's directory is $acdir, but..."
+			echo "         no file $acdir/$file"
+			echo "         You may see fatal macro warnings below."
+			echo "         If these files are installed in /some/dir, set the ACLOCAL_FLAGS "
+			echo "         environment variable to \"-I /some/dir\", or install"
+			echo "         $acdir/$file."
+			echo ""
+		fi
+	done
+fi
+
+## autogen the subdirs
+cd $ORIGDIR
+for sd in $SUBDIRS; do
+        echo "Autogen recursing into $srcdir/$sd"
+        cd $srcdir/$sd
+        ## AUTOGEN_SUBDIR_MODE keeps subdir autogens from running configure
+        ## we therefore don't pass $* to this child autogen.sh
+        ACLOCAL_FLAGS=$SUBDIR_ACLOCAL_FLAGS AUTOGEN_SUBDIR_MODE=yes ./autogen.sh
+        echo "Autogen returning to $ORIGDIR"
+        cd $ORIGDIR
+done
+
+echo "Autogen in $srcdir"
+cd $srcdir
+
+aclocal $ACLOCAL_FLAGS
+
+# optionally feature autoheader
+(autoheader --version)  < /dev/null > /dev/null 2>&1 && autoheader
+
+automake -a $am_opt
+autoconf
+
+if test -z "$AUTOGEN_SUBDIR_MODE"; then
+    echo "Configuring in $ORIGDIR using $srcdir/configure"
+    cd $ORIGDIR
+    $srcdir/configure --enable-maintainer-mode "$@"
+
+    echo 
+    echo "Now type 'make' to compile $PROJECT."
+fi
+
+
Index: configure.in
===================================================================
RCS file: configure.in
diff -N configure.in
--- /dev/null	Tue May  5 16:32:27 1998
+++ configure.in	Thu May 17 19:02:23 2001
@@ -0,0 +1,14 @@
+AC_INIT(gtk+/gtk/gtk.h)
+
+AM_INIT_AUTOMAKE(gtk+-all, 1.3.5)
+
+AM_MAINTAINER_MODE
+
+export PKG_CONFIG_PATH='../glib':'../pango':'../atk':'../gtk+':$PKG_CONFIG_PATH
+AC_CONFIG_SUBDIRS(glib pango atk gtk+)
+
+AC_OUTPUT([
+Makefile
+])
+
+
Index: stamp.h.in
===================================================================
RCS file: stamp.h.in
diff -N stamp.h.in
Index: atk/Makefile.am
===================================================================
RCS file: /cvs/gnome/atk/Makefile.am,v
retrieving revision 1.2
diff -u -u -r1.2 Makefile.am
--- atk/Makefile.am	2001/05/09 13:12:11	1.2
+++ atk/Makefile.am	2001/05/17 23:02:23
@@ -2,7 +2,8 @@
 
 SUBDIRS=atk tests
 
-EXTRA_DIST = 		\
+EXTRA_DIST = 			\
+	atk-uninstalled.pc.in	\
 	atk.pc.in
 
 pkgconfigdir = $(libdir)/pkgconfig
Index: atk/atk-uninstalled.pc.in
===================================================================
RCS file: atk-uninstalled.pc.in
diff -N atk-uninstalled.pc.in
--- /dev/null	Tue May  5 16:32:27 1998
+++ atk-uninstalled.pc.in	Thu May 17 19:02:23 2001
@@ -0,0 +1,6 @@
+Name: Atk Uninstalled
+Description: Accessibility Toolkit, Not Installed
+Version: @VERSION@
+Requires: @GLIB_PACKAGES@ @PANGO_PACKAGES@
+Libs: ${pcbuilddir}/${pcfiledir}/atk/libatk.la
+Cflags: -I${pcbuilddir}/${pcfiledir}/@srcdir@
Index: atk/autogen.sh
===================================================================
RCS file: /cvs/gnome/atk/autogen.sh,v
retrieving revision 1.2
diff -u -u -r1.2 autogen.sh
--- atk/autogen.sh	2001/05/16 18:43:28	1.2
+++ atk/autogen.sh	2001/05/17 23:02:23
@@ -65,9 +65,11 @@
 	exit 1
 }
 
-if test -z "$*"; then
-	echo "I am going to run ./configure with no arguments - if you wish "
-        echo "to pass any to it, please specify them on the $0 command line."
+if test -z "$AUTOGEN_SUBDIR_MODE"; then
+        if test -z "$*"; then
+                echo "I am going to run ./configure with no arguments - if you wish "
+                echo "to pass any to it, please specify them on the $0 command line."
+        fi
 fi
 
 aclocal $ACLOCAL_FLAGS
@@ -79,7 +81,9 @@
 autoconf
 cd $ORIGDIR
 
-$srcdir/configure --enable-maintainer-mode "$@"
+if test -z "$AUTOGEN_SUBDIR_MODE"; then
+        $srcdir/configure --enable-maintainer-mode "$@"
 
-echo 
-echo "Now type 'make' to compile $PROJECT."
+        echo 
+        echo "Now type 'make' to compile $PROJECT."
+fi
\ No newline at end of file
Index: atk/configure.in
===================================================================
RCS file: /cvs/gnome/atk/configure.in,v
retrieving revision 1.3
diff -u -u -r1.3 configure.in
--- atk/configure.in	2001/05/11 17:01:47	1.3
+++ atk/configure.in	2001/05/17 23:02:23
@@ -69,14 +69,19 @@
 AC_SUBST(DEP_CFLAGS)
 AC_SUBST(DEP_LIBS)
 
-AC_CHECK_LIB(pango, pango_context_new, :, AC_MSG_ERROR([
-*** Can't link to Pango. Pango is required to build
-*** GTK+. For more information see http://www.pango.org]), $DEP_LIBS)
+if $PKG_CONFIG --uninstalled $GLIB_PACKAGES $PANGO_PACKAGES; then
+        :
+else
+        AC_CHECK_LIB(pango, pango_context_new, :, AC_MSG_ERROR([
+                *** Can't link to Pango. Pango is required to build
+                *** GTK+. For more information see http://www.pango.org]), $DEP_LIBS)
+fi
 
 
 AC_OUTPUT([
 Makefile
 atk.pc
+atk-uninstalled.pc
 atk/Makefile
 tests/Makefile
 docs/Makefile
Index: glib/Makefile.am
===================================================================
RCS file: /cvs/gnome/glib/Makefile.am,v
retrieving revision 1.83
diff -u -u -r1.83 Makefile.am
--- glib/Makefile.am	2001/05/17 15:15:00	1.83
+++ glib/Makefile.am	2001/05/17 23:02:23
@@ -26,6 +26,10 @@
 	gobject-2.0.pc.in 	\
 	gmodule-2.0.pc.in	\
 	gthread-2.0.pc.in	\
+	glib-2.0-uninstalled.pc.in 	\
+	gobject-2.0-uninstalled.pc.in 	\
+	gmodule-2.0-uninstalled.pc.in	\
+	gthread-2.0-uninstalled.pc.in	\
 	gen-unicode-tables.pl
 
 # These may be in the builddir too
Index: glib/autogen.sh
===================================================================
RCS file: /cvs/gnome/glib/autogen.sh,v
retrieving revision 1.13
diff -u -u -r1.13 autogen.sh
--- glib/autogen.sh	2001/05/16 18:35:36	1.13
+++ glib/autogen.sh	2001/05/17 23:02:23
@@ -65,9 +65,11 @@
 	exit 1
 }
 
-if test -z "$*"; then
-	echo "I am going to run ./configure with no arguments - if you wish "
-        echo "to pass any to it, please specify them on the $0 command line."
+if test -z "$AUTOGEN_SUBDIR_MODE"; then
+        if test -z "$*"; then
+                echo "I am going to run ./configure with no arguments - if you wish "
+                echo "to pass any to it, please specify them on the $0 command line."
+        fi
 fi
 
 case $CC in
@@ -83,7 +85,9 @@
 autoconf
 cd $ORIGDIR
 
-$srcdir/configure --enable-maintainer-mode "$@"
+if test -z "$AUTOGEN_SUBDIR_MODE"; then
+        $srcdir/configure --enable-maintainer-mode "$@"
 
-echo 
-echo "Now type 'make' to compile $PROJECT."
+        echo 
+        echo "Now type 'make' to compile $PROJECT."
+fi
\ No newline at end of file
Index: glib/configure.in
===================================================================
RCS file: /cvs/gnome/glib/configure.in,v
retrieving revision 1.196
diff -u -u -r1.196 configure.in
--- glib/configure.in	2001/05/15 22:07:20	1.196
+++ glib/configure.in	2001/05/17 23:02:23
@@ -766,6 +766,9 @@
 dnl *** done, have we got an implementation?
 if test -z "$G_MODULE_IMPL"; then
 	G_MODULE_IMPL=0
+        G_MODULE_SUPPORTED=false
+else
+        G_MODULE_SUPPORTED=true
 fi
 
 AC_MSG_CHECKING(for the suffix of shared libraries)
@@ -782,6 +785,7 @@
 esac
 AC_MSG_RESULT(.$glib_gmodule_suffix)
  
+AC_SUBST(G_MODULE_SUPPORTED)
 AC_SUBST(G_MODULE_IMPL)
 AC_SUBST(G_MODULE_LIBS)
 AC_SUBST(G_MODULE_LIBS_EXTRA)
@@ -1957,10 +1961,14 @@
 
 AC_OUTPUT([
 glib-2.0.pc
-glib-config-2.0
+glib-2.0-uninstalled.pc
 gmodule-2.0.pc
+gmodule-2.0-uninstalled.pc
 gthread-2.0.pc
+gthread-2.0-uninstalled.pc
 gobject-2.0.pc
+gobject-2.0-uninstalled.pc
+glib-config-2.0
 glib.spec
 Makefile
 build/Makefile
Index: glib/glib-2.0-uninstalled.pc.in
===================================================================
RCS file: glib-2.0-uninstalled.pc.in
diff -N glib-2.0-uninstalled.pc.in
--- /dev/null	Tue May  5 16:32:27 1998
+++ glib-2.0-uninstalled.pc.in	Thu May 17 19:02:23 2001
@@ -0,0 +1,9 @@
+glib_genmarshal=${pcbuilddir}/${pcfiledir}/gobject/glib-genmarshal
+gobject_query=${pcbuilddir}/${pcfiledir}/gobject/gobject-query
+glib_mkenums=${pcbuilddir}/${pcfiledir}/@srcdir@/gobject/glib-mkenums
+
+Name: GLib Uninstalled
+Description: C Utility Library, Not Installed
+Version: @VERSION@
+Libs: ${pcbuilddir}/${pcfiledir}/libglib-1.3.la @ICONV_LIBS@ @INTLLIBS@
+Cflags: -I${pcbuilddir}/${pcfiledir} -I${pcbuilddir}/${pcfiledir}/@srcdir@
Index: glib/glib-2.0.pc.in
===================================================================
RCS file: /cvs/gnome/glib/glib-2.0.pc.in,v
retrieving revision 1.6
diff -u -u -r1.6 glib-2.0.pc.in
--- glib/glib-2.0.pc.in	2001/01/16 02:52:13	1.6
+++ glib/glib-2.0.pc.in	2001/05/17 23:02:23
@@ -3,6 +3,10 @@
 libdir= libdir@
 includedir= includedir@
 
+glib_genmarshal=glib-genmarshal
+gobject_query=gobject-query
+glib_mkenums=glib-mkenums
+
 Name: GLib
 Description: C Utility Library
 Version: @VERSION@
Index: glib/gmodule-2.0-uninstalled.pc.in
===================================================================
RCS file: gmodule-2.0-uninstalled.pc.in
diff -N gmodule-2.0-uninstalled.pc.in
--- /dev/null	Tue May  5 16:32:27 1998
+++ gmodule-2.0-uninstalled.pc.in	Thu May 17 19:02:23 2001
@@ -0,0 +1,8 @@
+gmodule_supported= G_MODULE_SUPPORTED@
+
+Name: GModule Uninstalled
+Description: Dynamic module loader for GLib, Not Installed
+Requires: glib-2.0-uninstalled
+Version: @VERSION@
+Libs: @G_MODULE_LDFLAGS@ ${pcbuilddir}/${pcfiledir}/gmodule/libgmodule-1.3.la @G_MODULE_LIBS@
+Cflags: -I${pcbuilddir}/${pcfiledir}/@srcdir@/gmodule
Index: glib/gmodule-2.0.pc.in
===================================================================
RCS file: /cvs/gnome/glib/gmodule-2.0.pc.in,v
retrieving revision 1.5
diff -u -u -r1.5 gmodule-2.0.pc.in
--- glib/gmodule-2.0.pc.in	2000/09/30 02:14:03	1.5
+++ glib/gmodule-2.0.pc.in	2001/05/17 23:02:23
@@ -3,6 +3,8 @@
 libdir= libdir@
 includedir= includedir@
 
+gmodule_supported= G_MODULE_SUPPORTED@
+
 Name: GModule
 Description: Dynamic module loader for GLib
 Requires: glib-2.0
Index: glib/gobject-2.0-uninstalled.pc.in
===================================================================
RCS file: gobject-2.0-uninstalled.pc.in
diff -N gobject-2.0-uninstalled.pc.in
--- /dev/null	Tue May  5 16:32:27 1998
+++ gobject-2.0-uninstalled.pc.in	Thu May 17 19:02:23 2001
@@ -0,0 +1,7 @@
+Name: GObject Uninstalled
+Description: Object/type system for GLib, Not Installed
+Requires: glib-2.0-uninstalled
+Version: @VERSION@
+Libs: ${pcbuilddir}/${pcfiledir}/gobject/libgobject-1.3.la
+## cflags contains builddir in addition to srcdir because of gmarshal.h
+Cflags: -I${pcbuilddir}/${pcfiledir}/@srcdir@ -I${pcbuilddir}/${pcfiledir}
Index: glib/gthread-2.0-uninstalled.pc.in
===================================================================
RCS file: gthread-2.0-uninstalled.pc.in
diff -N gthread-2.0-uninstalled.pc.in
--- /dev/null	Tue May  5 16:32:27 1998
+++ gthread-2.0-uninstalled.pc.in	Thu May 17 19:02:23 2001
@@ -0,0 +1,6 @@
+Name: GThread Uninstalled
+Description: Thread support for GLib, Not Installed
+Requires: glib-2.0-uninstalled
+Version: @VERSION@
+Libs: ${pcbuilddir}/${pcfiledir}/gthread/libgthread-1.3.la @G_THREAD_LIBS@
+Cflags: -I${pcbuilddir}/${pcfiledir}/@srcdir@
Index: glib/docs/reference/glib/tmpl/macros_misc.sgml
===================================================================
RCS file: /cvs/gnome/glib/docs/reference/glib/tmpl/macros_misc.sgml,v
retrieving revision 1.22
diff -u -u -r1.22 macros_misc.sgml
--- glib/docs/reference/glib/tmpl/macros_misc.sgml	2001/05/08 13:50:38	1.22
+++ glib/docs/reference/glib/tmpl/macros_misc.sgml	2001/05/17 23:02:23
@@ -66,7 +66,6 @@
 Portable way to copy <type>va_list</type> variables.
 </para>
 
-<!-- # Unused Parameters # -->
 @ap1: the <type>va_list</type> variable to place a copy of @ap2 in.
 @ap2: a <type>va_list</type>.
 
Index: glib/gobject/Makefile.am
===================================================================
RCS file: /cvs/gnome/glib/gobject/Makefile.am,v
retrieving revision 1.30
diff -u -u -r1.30 Makefile.am
--- glib/gobject/Makefile.am	2001/05/16 18:35:38	1.30
+++ glib/gobject/Makefile.am	2001/05/17 23:02:23
@@ -180,6 +180,7 @@
 	gobject.def		\
 	gobject.rc.in		\
 	glib-genmarshal.1	\
+	glib-mkenums		\
 	glib-mkenums.1
 
 BUILT_EXTRA_DIST = \
Index: glib/m4macros/glib-2.0.m4
===================================================================
RCS file: /cvs/gnome/glib/m4macros/glib-2.0.m4,v
retrieving revision 1.5
diff -u -u -r1.5 glib-2.0.m4
--- glib/m4macros/glib-2.0.m4	2001/04/17 00:55:34	1.5
+++ glib/m4macros/glib-2.0.m4	2001/05/17 23:02:23
@@ -30,22 +30,38 @@
 
   AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
 
-  min_glib_version=ifelse([$1], ,1.3.3,$1)
-  AC_MSG_CHECKING(for GLIB - version >= $min_glib_version)
-
   no_glib=""
 
   if test x$PKG_CONFIG != xno ; then
-    if pkg-config --atleast-pkgconfig-version 0.5 ; then
+    if $PKG_CONFIG --atleast-pkgconfig-version 0.7 ; then
       :
     else
-      echo *** pkg-config too old; version 0.5 or better required.
+      echo *** pkg-config too old; version 0.7 or better required.
       no_glib=yes
       PKG_CONFIG=no
     fi
   fi
 
+  ## don't try to run the test against uninstalled libtool libs
+  if $PKG_CONFIG --uninstalled $pkg_config_args; then
+        echo "Will use uninstalled version of GLib found in PKG_CONFIG_PATH"
+        enable_glibtest=no
+  fi
+
+  min_glib_version=ifelse([$1], ,1.3.3,$1)
+  AC_MSG_CHECKING(for GLIB - version >= $min_glib_version)
+
+  if $PKG_CONFIG --atleast-version $min_glib_version $pkg_config_args; then
+        :
+  else
+        no_glib = yes
+  fi
+
   if test x"$no_glib" = x ; then
+    GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0`
+    GOBJECT_QUERY=`$PKG_CONFIG --variable=gobject_query glib-2.0`
+    GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0`
+
     GLIB_CFLAGS=`$PKG_CONFIG --cflags $pkg_config_args`
     GLIB_LIBS=`$PKG_CONFIG --libs $pkg_config_args`
     glib_config_major_version=`$PKG_CONFIG --modversion glib-2.0 | \
@@ -178,9 +194,15 @@
      fi
      GLIB_CFLAGS=""
      GLIB_LIBS=""
+     GLIB_GENMARSHAL=""
+     GOBJECT_QUERY=""
+     GLIB_MKENUMS=""
      ifelse([$3], , :, [$3])
   fi
   AC_SUBST(GLIB_CFLAGS)
   AC_SUBST(GLIB_LIBS)
+  AC_SUBST(GLIB_GENMARSHAL)
+  AC_SUBST(GOBJECT_QUERY)
+  AC_SUBST(GLIB_MKENUMS)
   rm -f conf.glibtest
 ])
Index: gtk+/INSTALL
===================================================================
RCS file: /cvs/gnome/gtk+/INSTALL,v
retrieving revision 1.34
diff -u -u -r1.34 INSTALL
--- gtk+/INSTALL	2001/05/05 14:07:42	1.34
+++ gtk+/INSTALL	2001/05/17 23:02:23
@@ -1,186 +0,0 @@
-Prerequisites
-=============
-
-GTK+ requires the following packages:
-
- - The GLIB, Pango, and Atk libraries, available at the same location as GTK+
-
- - The TIFF, PNG, and JPEG image loading libraries. You most
-   likely have these installed on your system already. If not
-   these libraries are available from:
-
-    http://www.libtiff.org/
-    ftp://swrinde.nde.swri.edu/pub/png/src/
-    ftp://ftp.uu.net/graphics/jpeg/
-
-   If these libraries are not available, the corresponding 
-   image loaders will simply not be built. However, this
-   may cause applications using GTK+ not to function properly.
-
-Simple install procedure
-========================
-
-  % gzip -cd gtk+-1.3.5.tar.gz | tar xvf - # unpack the sources
-  % cd gtk+-1.3.5			   # change to the toplevel directory
-  % ./configure				   # run the `configure' script
-  % make				   # build GTK
-  [ Become root if necessary ]
-  % make install			   # install GTK
-
-The Nitty-Gritty
-================
-
-The 'configure' script can be given a number of options to enable
-and disable various features. For a complete list, type:
-
-  ./configure --help
-
-A few of the more important ones:
-
-*  --prefix=PREFIX         install architecture-independent files in PREFIX
-                           [ Defaults to /usr/local ]
-
-*  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                           [ Defaults to the value given to --prefix ]
-
-*  --with-xinput=[no/gxi/xfree] support XInput [default=no]
-
-The --with-xinput flag specifies whether to compile with support
-for the XInput extension (mainly used for graphics tablets), and
-which form of support to use:
-
-  no    : no support 
-  xfree : Use special features in the Wacom drivers in XFree86 3.3.1
-          and later.
-  gxi   : Use generic XInput support (not recommended)
-
-The XInput support is not known to work with any other XServer than
-XFree86. For more information about XInput, see:
-
- http://www.gtk.org/~otaylor/xinput/howto/index.html
- http://www.lepied.com/xfree86/
-
-*  --disable-nls           do not use Native Language Support
-
-If this flag is not specified, GTK+ will try to find
-and use the gettext() set of functions to provide translations
-of the strings in the standard dialogs into the
-user's native language.
-
-*  --enable-xim            support XIM [default=yes]
-
-Specifying --disable-xim will disable support for entering
-internationalized text using X Input Methods. This will give some
-slight savings in speed and memory use and might be necessary
-with older versions of X.
-
-*  --with-locale=LOCALE    locale name you want to use
-
-The --with-locale options is used to determine if your operating
-system has support for the locale you will be using. If not, X's
-built in locale support will be used.
-
-Because of bugs in autoconf, it is necessary to specify this
-option even if your LANG environment variable is correctly set.
-
-This option does not determine which locale GTK will use at
-runtime. That will be determined from the usual environment
-variables.  If you will be using multiple locales with GTK,
-specify the one for which your operating system has the worst
-support for the --with-locale option.
-
-
-Options can be given to the compiler and linker by setting
-environment variables before running configure. A few of the more
-important ones:
-
- CC       : The C compiler to use
- CPPFLAGS : Flags for the C preprocesser such as -I and -D
- CFLAGS   : C compiler flags
-
-The most important use of this is to set the
-optimization/debugging flags. For instance, to compile with no
-debugging information at all, run configure as:
-
- CFLAGS=-O2 ./configure           # Bourne compatible shells (sh/bash/zsh)
-
-or,
-
- setenv CFLAGS -O2 ; ./configure  # csh and variants
-
-Native-Language Support and gettext()
-=====================================
-
-To provide native-language support (NLS) GTK+ uses the
-gettext() set of functions. These functions are found
-in the C library on many systems, such as the Solaris
-C library and the GNU C Library, version 2.
-
-If your C library does not provide the necessary functionality,
-you may wish to install the GNU gettext package. You'll
-need version 0.10.35 or better. Version 0.10.35 is
-available from ftp://alpha.gnu.org/pub/gnu
-
-Generally, GTK+ will properly detect what is installed
-on your system and enable or disable NLS as appropriate.
-However, in rare cases, it may be necessary to disable
-NLS manually to get GTK+ to compile. You can do this
-by specifying the --disable-nls flag when configuring
-GTK+.
-
-Installation directories
-========================
-
-The location of the installed files is determined by the --prefix
-and --exec-prefix options given to configure. There are also more
-detailed flags to control individual directories. However, the
-use of these flags is not tested.
-
-One particular detail to note, is that the architecture-dependent
-include file glibconfig.h is installed in:
-
-  $exec_pref/lib/glib/include/
-
-if you have a version in $prefix/include, this is out of date
-and should be deleted.
-
-A shell script gtk-config is created during the configure
-process, and installed in the bin/ directory
-($exec_prefix/bin). This is used to determine the location of GTK
-when building applications.  If you move GTK after installation,
-it will be necessary to edit this file.
-
-For complete details, see the file docs/gtk-config.txt
-
-
-Notes for using XIM support for Japanese input
-==============================================
-
-* There is a bug in older versions of kinput2 that will cause GTK+
-to hang when destroying a text entry. The latest versions of
-kinput is available from:
-
-  ftp://ftp.sra.co.jp/pub/x11/kinput2
-
-* The locale information file for the ja_JP EUC locale
-distributed with some recent versions of X11 specifies to use the
-C library multibyte functions. Unless your C library has support
-for Japanese locales, this is incorrect, and will cause problems
-for GTK's internationalization.
-
-(In particular, this occurs with GNU libc 2.0 in which
-the multibyte functions always translate to and from UTF-8; but
-the problem may occur for other C libraries, and other operating
-systems as well.)
-
-To fix this, change the line:
-
-use_stdc_env		True
-
-to 
-
-use_stdc_env		False
-
-in the file /usr/X11R6/lib/X11/locale/ja_JP/XLC_LOCALE.
-
-
Index: gtk+/Makefile.am
===================================================================
RCS file: /cvs/gnome/gtk+/Makefile.am,v
retrieving revision 1.49
diff -u -u -r1.49 Makefile.am
--- gtk+/Makefile.am	2001/04/27 01:38:54	1.49
+++ gtk+/Makefile.am	2001/05/17 23:02:23
@@ -9,7 +9,6 @@
 EXTRA_DIST =			\
 	HACKING			\
 	gtk+.spec.in		\
-        gtk-2.0.m4          	\
 	makecopyright		\
 	TODO			\
 	TODO.xml		\
@@ -127,6 +126,14 @@
 	rm -f gdk-$(GDKTARGET)-2.0.pc && \
 	cp gdk-2.0.pc gdk-$(GDKTARGET)-2.0.pc
 
+gtk+-$(GDKTARGET)-2.0-uninstalled.pc: gtk+-2.0-uninstalled.pc
+	rm -f gtk+-$(GDKTARGET)-2.0-uninstalled.pc && \
+	cp gtk+-2.0-uninstalled.pc gtk+-$(GDKTARGET)-2.0-uninstalled.pc
+
+gdk-$(GDKTARGET)-2.0-uninstalled.pc: gdk-2.0-uninstalled.pc
+	rm -f gdk-$(GDKTARGET)-2.0-uninstalled.pc && \
+	cp gdk-2.0-uninstalled.pc gdk-$(GDKTARGET)-2.0-uninstalled.pc
+
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA= gdk-pixbuf-2.0.pc gdk-$(GDKTARGET)-2.0.pc gtk+-$(GDKTARGET)-2.0.pc
 
@@ -150,9 +157,6 @@
 	     && cp INSTALL README $(distdir) ; \
 	fi \
 	&& cp gtk+.spec $(distdir)
-
-m4datadir = $(datadir)/aclocal
-m4data_DATA = gtk-2.0.m4
 
 .PHONY: files release sanity snapshot
 
Index: gtk+/README
===================================================================
RCS file: /cvs/gnome/gtk+/README,v
retrieving revision 1.42
diff -u -u -r1.42 README
--- gtk+/README	2001/05/05 14:07:43	1.42
+++ gtk+/README	2001/05/17 23:02:23
@@ -1,72 +0,0 @@
-General Information
-===================
-
-This is GTK+ version 1.3.5. GTK+, which stands for the Gimp ToolKit, 
-is a library for creating graphical user interfaces for the X Window 
-System. It is designed to be small, efficient, and flexible. GTK+ is 
-written in C with a very object-oriented approach.
-
-The official ftp site is:
-  ftp://ftp.gtk.org/pub/gtk
-
-The official web site is:
-  http://www.gtk.org/
-
-Information about mailing lists can be found at
-  http://www.gtk.org/mailinglists.html
-
-Installation
-============
-
-See the file 'INSTALL'
-
-How to report bugs
-==================
-
-Bugs should be reported to the GNOME bug tracking system. 
-(http://bugzilla.gnome.org, product gtk+.) You will need
-to create an account for yourself.
-  
-In the bug report please include:
-  
-* Information about your system. For instance:
-
-   - What operating system and version
-   - What version of X
-   - For Linux, what version of the C library
-
-  And anything else you think is relevant.
-
-* How to reproduce the bug. 
-
-  If you can reproduce it with the testgtk program that is built 
-  in the gtk/ subdirectory, that will be most convenient.  Otherwise, 
-  please include a short test program that exhibits the behavior. 
-  As a last resort, you can also provide a pointer to a larger piece 
-  of software that can be downloaded.
-
-* If the bug was a crash, the exact text that was printed out
-  when the crash occured.
-
-* Further information such as stack traces may be useful, but
-  is not necessary. If you do send a stack trace, and the error
-  is an X error, it will be more useful if the stacktrace
-  is produced running the test program with the --sync command
-  line option.
-
-Patches
-=======
-
-Patches should also be submitted to bugzilla.gnome.org. If the
-patch fixes an existing bug, add the patch as an attachment
-to that bug report.
-
-Otherwise, enter a new bug report that describes the patch,
-and attach the patch to that bug report.
-
-Bug reports containing patches should include the PATCH keyword
-in their keyword fields. If the patch adds to or changes the GTK
-programming interface, the API keyword should also be included.
-  
-Patches should be in unified diff form. (The -u option to GNU
-diff.)
Index: gtk+/autogen.sh
===================================================================
RCS file: /cvs/gnome/gtk+/autogen.sh,v
retrieving revision 1.23
diff -u -u -r1.23 autogen.sh
--- gtk+/autogen.sh	2001/05/16 18:51:04	1.23
+++ gtk+/autogen.sh	2001/05/17 23:02:23
@@ -65,9 +65,11 @@
 	exit 1
 }
 
-if test -z "$*"; then
-	echo "I am going to run ./configure with no arguments - if you wish "
-        echo "to pass any to it, please specify them on the $0 command line."
+if test -z "$AUTOGEN_SUBDIR_MODE"; then
+        if test -z "$*"; then
+                echo "I am going to run ./configure with no arguments - if you wish "
+                echo "to pass any to it, please specify them on the $0 command line."
+        fi
 fi
 
 case $CC in
@@ -114,7 +116,9 @@
 autoconf
 cd $ORIGDIR
 
-$srcdir/configure --enable-maintainer-mode "$@"
+if test -z "$AUTOGEN_SUBDIR_MODE"; then
+        $srcdir/configure --enable-maintainer-mode "$@"
 
-echo 
-echo "Now type 'make' to compile $PROJECT."
+        echo 
+        echo "Now type 'make' to compile $PROJECT."
+fi
\ No newline at end of file
Index: gtk+/configure.in
===================================================================
RCS file: /cvs/gnome/gtk+/configure.in,v
retrieving revision 1.209
diff -u -u -r1.209 configure.in
--- gtk+/configure.in	2001/05/07 15:58:24	1.209
+++ gtk+/configure.in	2001/05/17 23:02:23
@@ -404,23 +404,11 @@
 else
     AC_MSG_RESULT(yes)
     AC_MSG_CHECKING(whether dynamic modules work)
-    oLIBS="$LIBS"
-    oCFLAGS="$CFLAGS"
-    CFLAGS="$GLIB_CFLAGS"
-    LIBS="$GLIB_LIBS"
-    AC_TRY_RUN([
-    #include <glib.h>
-    #include <gmodule.h>
-    main ()
-    {
-    	if (g_module_supported ())
-    	    exit (0);
-    	else
-    	    exit (1);
-    }
-    ], dynworks=true)
-    LIBS="$oLIBS"
-    CFLAGS="$oCFLAGS"
+    ## for loop is to strip newline 
+    tmp=`pkg-config --variable=gmodule_supported gmodule-2.0`
+    for I in $tmp; do
+        dynworks=$I
+    done
 fi
 
 dnl Now we check to see if our libtool supports shared lib deps
@@ -525,6 +513,15 @@
 
 AC_ARG_WITH(included_loaders, [  --with-included-loaders=LOADER1,LOADER2,... Build the specified loaders into gdk-pixbuf (only used if module loading disabled)])
 
+if $dynworks; then 
+        :
+else
+   ## if the option was specified, leave it; otherwise disable included loaders
+   if test x$with_included_loaders = xno; then
+           with_included_loaders=yes
+   fi
+fi
+
 all_loaders="png,bmp,wbmp,gif,ico,jpeg,pnm,ras,tiff,xpm"
 included_loaders=""
 # If no loaders specified, include all
@@ -915,9 +912,13 @@
 
 CFLAGS="$CFLAGS $PANGO_CFLAGS"
 
-AC_CHECK_LIB(pango, pango_context_new, :, AC_MSG_ERROR([
-*** Can't link to Pango. Pango is required to build
-*** GTK+. For more information see http://www.pango.org]), $PANGO_LIBS $x_ldflags $x_libs)
+if $PKG_CONFIG --uninstalled $PANGO_PACKAGES; then
+        :
+else
+        AC_CHECK_LIB(pango, pango_context_new, :, AC_MSG_ERROR([
+                *** Can't link to Pango. Pango is required to build
+                *** GTK+. For more information see http://www.pango.org]), $PANGO_LIBS $x_ldflags $x_libs)
+fi
 
 CFLAGS="$saved_cflags"
 LDFLAGS="$saved_ldflags"
@@ -950,11 +951,14 @@
 *** to build GTK+.
 ])
 fi
-
-AC_CHECK_LIB(atk, atk_object_get_type, : , AC_MSG_ERROR([
-*** Cannot link to Accessibility Toolkit. Accessibility Toolkit is required
-*** to build GTK+]), $ATK_LIBS $GLIB_LIBS)
 
+if $PKG_CONFIG --uninstalled $ATK_PACKAGES; then
+        :
+else
+        AC_CHECK_LIB(atk, atk_object_get_type, : , AC_MSG_ERROR([
+                *** Cannot link to Accessibility Toolkit. Accessibility Toolkit is required
+                *** to build GTK+]), $ATK_LIBS $GLIB_LIBS)
+fi
 
 GTK_PACKAGES=atk
 GTK_EXTRA_LIBS=
@@ -1123,6 +1127,9 @@
 gdk-pixbuf-2.0.pc
 gdk-2.0.pc
 gtk+-2.0.pc
+gdk-pixbuf-2.0-uninstalled.pc
+gdk-2.0-uninstalled.pc
+gtk+-2.0-uninstalled.pc
 po/Makefile.in
 build/Makefile
 build/win32/Makefile
Index: gtk+/gdk-2.0-uninstalled.pc.in
===================================================================
RCS file: gdk-2.0-uninstalled.pc.in
diff -N gdk-2.0-uninstalled.pc.in
--- /dev/null	Tue May  5 16:32:27 1998
+++ gdk-2.0-uninstalled.pc.in	Thu May 17 19:02:23 2001
@@ -0,0 +1,8 @@
+target= gdktarget@
+
+Name: GDK Uninstalled
+Description: GIMP Drawing Kit (${target} target), Not Installed
+Version: @VERSION@
+Requires: gdk-pixbuf-2.0-uninstalled @GDK_PACKAGES@
+Libs: ${pcbuilddir}/${pcfiledir}/gdk/libgdk-${target}-1.3.la @GDK_EXTRA_LIBS@
+Cflags: -I${pcbuilddir}/${pcfiledir}/@srcdir@ -I${pcbuilddir}/${pcfiledir} @GDK_EXTRA_CFLAGS@
Index: gtk+/gdk-pixbuf-2.0-uninstalled.pc.in
===================================================================
RCS file: gdk-pixbuf-2.0-uninstalled.pc.in
diff -N gdk-pixbuf-2.0-uninstalled.pc.in
--- /dev/null	Tue May  5 16:32:27 1998
+++ gdk-pixbuf-2.0-uninstalled.pc.in	Thu May 17 19:02:23 2001
@@ -0,0 +1,9 @@
+Name: GdkPixbuf Uninstalled
+Description: Image loading and scaling, Not Installed
+Version: @VERSION@
+Requires: gobject-2.0,gmodule-2.0
+Libs: ${pcbuilddir}/${pcfiledir}/gdk-pixbuf/libgdk_pixbuf-1.3.la @GDK_PIXBUF_EXTRA_LIBS@
+Cflags: -I${pcbuilddir}/${pcfiledir}/@srcdir@ -I${pcbuilddir}/${pcfiledir} @GDK_PIXBUF_EXTRA_CFLAGS@
+
+
+
Index: gtk+/gtk+-2.0-uninstalled.pc.in
===================================================================
RCS file: gtk+-2.0-uninstalled.pc.in
diff -N gtk+-2.0-uninstalled.pc.in
--- /dev/null	Tue May  5 16:32:27 1998
+++ gtk+-2.0-uninstalled.pc.in	Thu May 17 19:02:23 2001
@@ -0,0 +1,8 @@
+target= gdktarget@
+
+Name: GTK+ Uninstalled
+Description: GIMP Tool Kit (${target} target), Not Installed
+Version: @VERSION@
+Requires: gdk-${target}-2.0-uninstalled @GTK_PACKAGES@
+Libs: ${pcbuilddir}/${pcfiledir}/libgtk-${target}-1.3.la @GTK_EXTRA_LIBS@
+Cflags: -I${pcbuilddir}/${pcfiledir}/@srcdir@ -I${pcbuilddir}/${pcfiledir} @GTK_EXTRA_CFLAGS@
Index: gtk+/gtk-2.0.m4
===================================================================
RCS file: gtk-2.0.m4
diff -N gtk-2.0.m4
--- /tmp/cvsYVXo8x	Thu May 17 19:02:26 2001
+++ /dev/null	Tue May  5 16:32:27 1998
@@ -1,180 +0,0 @@
-# Configure paths for GTK+
-# Owen Taylor     1997-2001
-
-dnl AM_PATH_GTK_2_0([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
-dnl Test for GTK+, and define GTK_CFLAGS and GTK_LIBS, if gthread is specified in MODULES, 
-dnl pass to pkg-config
-dnl
-AC_DEFUN(AM_PATH_GTK_2_0,
-[dnl 
-dnl Get the cflags and libraries from pkg-config
-dnl
-AC_ARG_ENABLE(gtktest, [  --disable-gtktest       Do not try to compile and run a test GTK+ program],
-		    , enable_gtktest=yes)
-
-  pkg_config_args=gtk+-2.0
-  for module in . $4
-  do
-      case "$module" in
-         gthread) 
-             pkg_config_args="$pkg_config_args gthread-2.0"
-         ;;
-      esac
-  done
-
-  min_gtk_version=ifelse([$1], ,1.3.3,$1)
-  AC_MSG_CHECKING(for GTK+ - version >= $min_gtk_version)
-
-  no_gtk=""
-
-  AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
-
-  if test x$PKG_CONFIG != xno ; then
-    if pkg-config --atleast-pkgconfig-version 0.5 ; then
-      :
-    else
-      echo *** pkg-config too old; version 0.5 or better required.
-      no_gtk=yes
-      PKG_CONFIG=no
-    fi
-  fi
-
-  if test x"$no_gtk" = x ; then
-    GTK_CFLAGS=`$PKG_CONFIG $pkg_config_args --cflags`
-    GTK_LIBS=`$PKG_CONFIG $pkg_config_args --libs`
-    gtk_config_major_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
-           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
-    gtk_config_minor_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
-           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
-    gtk_config_micro_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
-           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
-    if test "x$enable_gtktest" = "xyes" ; then
-      ac_save_CFLAGS="$CFLAGS"
-      ac_save_LIBS="$LIBS"
-      CFLAGS="$CFLAGS $GTK_CFLAGS"
-      LIBS="$GTK_LIBS $LIBS"
-dnl
-dnl Now check if the installed GTK+ is sufficiently new. (Also sanity
-dnl checks the results of pkg-config to some extent)
-dnl
-      rm -f conf.gtktest
-      AC_TRY_RUN([
-#include <gtk/gtk.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-int 
-main ()
-{
-  int major, minor, micro;
-  char *tmp_version;
-
-  system ("touch conf.gtktest");
-
-  /* HP/UX 9 (% #!) writes to sscanf strings */
-  tmp_version = g_strdup("$min_gtk_version");
-  if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
-     printf("%s, bad version string\n", "$min_gtk_version");
-     exit(1);
-   }
-
-  if ((gtk_major_version != $gtk_config_major_version) ||
-      (gtk_minor_version != $gtk_config_minor_version) ||
-      (gtk_micro_version != $gtk_config_micro_version))
-    {
-      printf("\n*** 'pkg-config --modversion gtk+-2.0' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n", 
-             $gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version,
-             gtk_major_version, gtk_minor_version, gtk_micro_version);
-      printf ("*** was found! If pkg-config was correct, then it is best\n");
-      printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n");
-      printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
-      printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
-      printf("*** required on your system.\n");
-      printf("*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH\n");
-      printf("*** to point to the correct configuration files\n");
-    } 
-  else if ((gtk_major_version != GTK_MAJOR_VERSION) ||
-	   (gtk_minor_version != GTK_MINOR_VERSION) ||
-           (gtk_micro_version != GTK_MICRO_VERSION))
-    {
-      printf("*** GTK+ header files (version %d.%d.%d) do not match\n",
-	     GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION);
-      printf("*** library (version %d.%d.%d)\n",
-	     gtk_major_version, gtk_minor_version, gtk_micro_version);
-    }
-  else
-    {
-      if ((gtk_major_version > major) ||
-        ((gtk_major_version == major) && (gtk_minor_version > minor)) ||
-        ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)))
-      {
-        return 0;
-       }
-     else
-      {
-        printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n",
-               gtk_major_version, gtk_minor_version, gtk_micro_version);
-        printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n",
-	       major, minor, micro);
-        printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n";);
-        printf("***\n");
-        printf("*** If you have already installed a sufficiently new version, this error\n");
-        printf("*** probably means that the wrong copy of the pkg-config shell script is\n");
-        printf("*** being found. The easiest way to fix this is to remove the old version\n");
-        printf("*** of GTK+, but you can also set the PKG_CONFIG environment to point to the\n");
-        printf("*** correct copy of pkg-config. (In this case, you will have to\n");
-        printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
-        printf("*** so that the correct libraries are found at run-time))\n");
-      }
-    }
-  return 1;
-}
-],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
-       CFLAGS="$ac_save_CFLAGS"
-       LIBS="$ac_save_LIBS"
-     fi
-  fi
-  if test "x$no_gtk" = x ; then
-     AC_MSG_RESULT(yes (version $gtk_config_major_version.$gtk_config_minor_version.$gtk_config_micro_version))
-     ifelse([$2], , :, [$2])     
-  else
-     AC_MSG_RESULT(no)
-     if test "$PKG_CONFIG" = "no" ; then
-       echo "*** A new enough version of pkg-config was not found."
-       echo "*** See http://pkgconfig.sourceforge.net";
-     else
-       if test -f conf.gtktest ; then
-        :
-       else
-          echo "*** Could not run GTK+ test program, checking why..."
-          CFLAGS="$CFLAGS $GTK_CFLAGS"
-          LIBS="$LIBS $GTK_LIBS"
-          AC_TRY_LINK([
-#include <gtk/gtk.h>
-#include <stdio.h>
-],      [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ],
-        [ echo "*** The test program compiled, but did not run. This usually means"
-          echo "*** that the run-time linker is not finding GTK+ or finding the wrong"
-          echo "*** version of GTK+. If it is not finding GTK+, you'll need to set your"
-          echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
-          echo "*** to the installed location  Also, make sure you have run ldconfig if that"
-          echo "*** is required on your system"
-	  echo "***"
-          echo "*** If you have an old version installed, it is best to remove it, although"
-          echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ],
-        [ echo "*** The test program failed to compile or link. See the file config.log for the"
-          echo "*** exact error that occured. This usually means GTK+ was incorrectly installed"
-          echo "*** or that you have moved GTK+ since it was installed. In the latter case, you"
-          echo "*** may want to edit the pkg-config script: $PKG_CONFIG" ])
-          CFLAGS="$ac_save_CFLAGS"
-          LIBS="$ac_save_LIBS"
-       fi
-     fi
-     GTK_CFLAGS=""
-     GTK_LIBS=""
-     ifelse([$3], , :, [$3])
-  fi
-  AC_SUBST(GTK_CFLAGS)
-  AC_SUBST(GTK_LIBS)
-  rm -f conf.gtktest
-])
Index: gtk+/docs/tutorial/Makefile.am
===================================================================
RCS file: /cvs/gnome/gtk+/docs/tutorial/Makefile.am,v
retrieving revision 1.4
diff -u -u -r1.4 Makefile.am
--- gtk+/docs/tutorial/Makefile.am	2000/11/18 01:49:48	1.4
+++ gtk+/docs/tutorial/Makefile.am	2001/05/17 23:02:23
@@ -85,7 +85,7 @@
 	html/gtk_tut_it-24.html		\
 	text/gtk_tut_it.txt
 
-GTKDOCS_FIX=$(top_srcdir)/docs/gtkdocs_fix
+GTKDOCS_FIX=$(srcdir)/../gtkdocs_fix
 
 .PHONY: htmldir textdir tutorial tutorial_it tutorial_fr
 
Index: gtk+/gdk-pixbuf/Makefile.am
===================================================================
RCS file: /cvs/gnome/gtk+/gdk-pixbuf/Makefile.am,v
retrieving revision 1.89
diff -u -u -r1.89 Makefile.am
--- gtk+/gdk-pixbuf/Makefile.am	2001/05/16 18:51:06	1.89
+++ gtk+/gdk-pixbuf/Makefile.am	2001/05/17 23:02:23
@@ -237,13 +237,15 @@
 
 
 gdk-pixbuf-marshal.h: @REBUILD@ $(srcdir)/gdk-pixbuf-marshal.list
-	cd $(srcdir) \
-	&& glib-genmarshal --prefix=gdk_pixbuf_marshal gdk-pixbuf-marshal.list --header >> xgen-gmh \
+	cwd=`pwd` \
+	&& cd $(srcdir) \
+	&& $$cwd/@GLIB_GENMARSHAL@ --prefix=gdk_pixbuf_marshal gdk-pixbuf-marshal.list --header >> xgen-gmh \
 	&& (cmp -s xgen-gmh gdk-pixbuf-marshal.h || cp xgen-gmh gdk-pixbuf-marshal.h) \
 	&& rm -f xgen-gmh xgen-gmh~
 
 gdk-pixbuf-marshal.c: @REBUILD@ $(srcdir)/gdk-pixbuf-marshal.list
-	cd $(srcdir) \
-	&& glib-genmarshal --prefix=gdk_pixbuf_marshal gdk-pixbuf-marshal.list --body >> xgen-gmc \
+	cwd=`pwd` \
+	&& cd $(srcdir) \
+	&& $$cwd/@GLIB_GENMARSHAL@ --prefix=gdk_pixbuf_marshal gdk-pixbuf-marshal.list --body >> xgen-gmc \
 	&& (cmp -s xgen-gmc gdk-pixbuf-marshal.c || cp xgen-gmc gdk-pixbuf-marshal.c) \
 	&& rm -f xgen-gmc xgen-gmc~
Index: gtk+/gtk/Makefile.am
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/Makefile.am,v
retrieving revision 1.170
diff -u -u -r1.170 Makefile.am
--- gtk+/gtk/Makefile.am	2001/05/16 18:51:07	1.170
+++ gtk+/gtk/Makefile.am	2001/05/17 23:02:23
@@ -427,8 +427,9 @@
 # srcdir to be writable, passing --disable-rebuilds to
 # ../configure will supress all autogeneration rules.
 $(srcdir)/stamp-gtk.defs: @REBUILD@ gtk.defs gtk-boxed.defs $(gtk_public_h_sources)
-	cd $(srcdir) \
-	&& glib-mkenums --comments ";; @comment@" \
+	cwd=`pwd` \
+	&& cd $(srcdir) \
+	&& $$cwd/@GLIB_MKENUMS@ --comments ";; @comment@" \
 			--fprod "; enumerations from \"@filename \"\n " \
 	                --vhead "(define- type@ @EnumName@" \
 	                --vprod "   (@valuenick@ @VALUENAME@)" \
@@ -439,14 +440,16 @@
 	&& rm -f xgen-gdef \
 	&& echo timestamp > $(@F)
 $(srcdir)/stamp-gtkmarshal.h: @REBUILD@ gtkmarshal.list gtkmarshal.h
-	cd $(srcdir) \
-	&& glib-genmarshal --prefix=gtk_marshal gtkmarshal.list --header >> xgen-gmh \
+	cwd=`pwd` \
+	&& cd $(srcdir) \
+	&& $$cwd/@GLIB_GENMARSHAL@ --prefix=gtk_marshal gtkmarshal.list --header >> xgen-gmh \
 	&& (cmp -s xgen-gmh gtkmarshal.h || cp xgen-gmh gtkmarshal.h) \
 	&& rm -f xgen-gmh xgen-gmh~ \
 	&& echo timestamp > $(@F)
 $(srcdir)/gtkmarshal.c: @REBUILD@ $(srcdir)/stamp-gtkmarshal.h
-	cd $(srcdir) \
-	&& glib-genmarshal --prefix=gtk_marshal gtkmarshal.list --body >> xgen-gmc \
+	cwd=`pwd` \
+	&& cd $(srcdir) \
+	&& $$cwd/@GLIB_GENMARSHAL@ --prefix=gtk_marshal gtkmarshal.list --body >> xgen-gmc \
 	&& cp xgen-gmc gtkmarshal.c \
 	&& rm -f xgen-gmc xgen-gmc~
 $(srcdir)/stamp-gtktypebuiltins.h: @REBUILD@ maketypes.awk stamp-gtk.defs gtktypebuiltins.h
@@ -466,8 +469,9 @@
 	&& cp xgen-gtbic $(@F) \
 	&& rm -f xgen-gtbic
 $(srcdir)/gtktypebuiltins_evals.c: @REBUILD@ $(gtk_public_h_sources)
-	cd $(srcdir) \
-	&& glib-mkenums \
+	cwd=`pwd` \
+	&& cd $(srcdir) \
+	&& $$cwd/@GLIB_MKENUMS@ \
 			--fprod "\n/* enumerations from \"@filename \" */" \
 			--vhead "static const GtkEnumValue _ enum_name@_values[] = {" \
 			--vprod "  { @VALUENAME@, \"@VALUENAME \", \"@valuenick \" }," \
Index: gtk+/m4macros/Makefile.am
===================================================================
RCS file: Makefile.am
diff -N Makefile.am
--- /dev/null	Tue May  5 16:32:27 1998
+++ Makefile.am	Thu May 17 19:02:23 2001
@@ -0,0 +1,7 @@
+
+installed_m4= gtk-2.0.m4
+
+EXTRA_DIST=$(installed_m4)
+
+m4datadir = $(datadir)/aclocal
+m4data_DATA = $(installed_m4)
Index: gtk+/m4macros/gtk-2.0.m4
===================================================================
RCS file: /cvs/gnome/gtk+/m4macros/gtk-2.0.m4,v
retrieving revision 1.5
diff -u -u -r1.5 gtk-2.0.m4
--- gtk+/m4macros/gtk-2.0.m4	2001/04/13 18:00:02	1.5
+++ gtk+/m4macros/gtk-2.0.m4	2001/05/17 23:02:23
@@ -22,21 +22,34 @@
       esac
   done
 
-  min_gtk_version=ifelse([$1], ,1.3.3,$1)
-  AC_MSG_CHECKING(for GTK+ - version >= $min_gtk_version)
-
   no_gtk=""
 
   AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
 
   if test x$PKG_CONFIG != xno ; then
-    if pkg-config --atleast-pkgconfig-version 0.5 ; then
+    if pkg-config --atleast-pkgconfig-version 0.7 ; then
       :
     else
-      echo *** pkg-config too old; version 0.5 or better required.
+      echo *** pkg-config too old; version 0.7 or better required.
       no_gtk=yes
       PKG_CONFIG=no
     fi
+  fi
+
+  ## don't try to run the test against uninstalled libtool libs
+  if $PKG_CONFIG --uninstalled $pkg_config_args; then
+        echo "Will use uninstalled version of GTK+ found in PKG_CONFIG_PATH"
+        enable_gtktest=no
+  fi
+
+  min_gtk_version=ifelse([$1], ,1.3.3,$1)
+  AC_MSG_CHECKING(for GTK+ - version >= $min_gtk_version)
+
+
+  if $PKG_CONFIG --atleast-version $min_gtk_version $pkg_config_args; then
+        :
+  else
+        no_gtk = yes
   fi
 
   if test x"$no_gtk" = x ; then
Index: gtk+/tests/Makefile.am
===================================================================
RCS file: /cvs/gnome/gtk+/tests/Makefile.am,v
retrieving revision 1.10
diff -u -u -r1.10 Makefile.am
--- gtk+/tests/Makefile.am	2001/05/03 20:11:14	1.10
+++ gtk+/tests/Makefile.am	2001/05/17 23:02:23
@@ -3,6 +3,7 @@
 INCLUDES = @STRIP_BEGIN@ \
 	-I$(top_srcdir) 				\
 	-I$(top_builddir)/gdk				\
+	-I$(top_srcdir)/gdk				\
 	-DGTK_DISABLE_COMPAT_H				\
 	@GTK_DEBUG_FLAGS@				\
 	@GTK_DEP_CFLAGS@				\
Index: pango/Makefile.am
===================================================================
RCS file: /cvs/gnome/pango/Makefile.am,v
retrieving revision 1.17
diff -u -u -r1.17 Makefile.am
--- pango/Makefile.am	2001/05/16 18:38:26	1.17
+++ pango/Makefile.am	2001/05/17 23:02:23
@@ -8,6 +8,10 @@
 	pangox.pc.in	\
 	pangoxft.pc.in	\
 	pangoft2.pc.in	\
+	pango-uninstalled.pc.in		\
+	pangox-uninstalled.pc.in	\
+	pangoxft-uninstalled.pc.in	\
+	pangoft2-uninstalled.pc.in	\
 	TODO.xml	\
 	README.win32
 
Index: pango/autogen.sh
===================================================================
RCS file: /cvs/gnome/pango/autogen.sh,v
retrieving revision 1.4
diff -u -u -r1.4 autogen.sh
--- pango/autogen.sh	2001/05/16 18:38:26	1.4
+++ pango/autogen.sh	2001/05/17 23:02:23
@@ -65,9 +65,11 @@
 	exit 1
 }
 
-if test -z "$*"; then
-	echo "I am going to run ./configure with no arguments - if you wish "
-        echo "to pass any to it, please specify them on the $0 command line."
+if test -z "$AUTOGEN_SUBDIR_MODE"; then
+        if test -z "$*"; then
+                echo "I am going to run ./configure with no arguments - if you wish "
+                echo "to pass any to it, please specify them on the $0 command line."
+        fi
 fi
 
 aclocal $ACLOCAL_FLAGS
@@ -79,7 +81,9 @@
 autoconf
 cd $ORIGDIR
 
-$srcdir/configure --enable-maintainer-mode "$@"
+if test -z "$AUTOGEN_SUBDIR_MODE"; then
+        $srcdir/configure --enable-maintainer-mode "$@"
 
-echo 
-echo "Now type 'make' to compile $PROJECT."
+        echo 
+        echo "Now type 'make' to compile $PROJECT."
+fi
\ No newline at end of file
Index: pango/configure.in
===================================================================
RCS file: /cvs/gnome/pango/configure.in,v
retrieving revision 1.65
diff -u -u -r1.65 configure.in
--- pango/configure.in	2001/05/16 18:38:26	1.65
+++ pango/configure.in	2001/05/17 23:02:23
@@ -132,22 +132,8 @@
 #
 # Checks for GLib
 #
-GLIB_PACKAGES="gobject-2.0 gmodule-2.0"
-GLIB_REQUIRED_VERSION=1.3.2
+AM_PATH_GLIB_2_0(1.3.5,,,gobject gmodule)
 
-AC_MSG_CHECKING(GLib flags)
-if $PKG_CONFIG --atleast-version $GLIB_REQUIRED_VERSION glib-2.0 ; then
-      GLIB_CFLAGS=`$PKG_CONFIG --cflags $GLIB_PACKAGES`
-      GLIB_LIBS=`$PKG_CONFIG --libs $GLIB_PACKAGES`
-
-      AC_MSG_RESULT($GLIB_CFLAGS $GLIB_LIBS)
-else
-      AC_MSG_ERROR([
-*** GLIB $GLIB_REQUIRED_VERSION or newer is required. The latest version of GLIB
-*** is always available from ftp://ftp.gtk.org/.
-  ])
-fi
-
 CFLAGS="$CFLAGS $GLIB_CFLAGS"
 
 AC_SUBST(GLIB_LIBS)
@@ -494,6 +480,10 @@
 pangox.pc
 pangoft2.pc
 pangoxft.pc
+pango-uninstalled.pc
+pangox-uninstalled.pc
+pangoft2-uninstalled.pc
+pangoxft-uninstalled.pc
 ],[case "$CONFIG_FILES" in
 *pango-config*)chmod +x pango-config;;
 esac])
Index: pango/pango-uninstalled.pc.in
===================================================================
RCS file: pango-uninstalled.pc.in
diff -N pango-uninstalled.pc.in
--- /dev/null	Tue May  5 16:32:27 1998
+++ pango-uninstalled.pc.in	Thu May 17 19:02:23 2001
@@ -0,0 +1,7 @@
+Name: Pango Uninstalled
+Description: Internationalized text handling, Not Installed
+Version: @VERSION@
+Requires: @FRIBIDI_PC glib-2 0,gobject-2.0,gmodule-2.0
+Libs: ${pcbuilddir}/${pcfiledir}/pango/libpango.la
+Cflags: -I${pcbuilddir}/${pcfiledir}/@srcdir@
+
Index: pango/pangoft2-uninstalled.pc.in
===================================================================
RCS file: pangoft2-uninstalled.pc.in
diff -N pangoft2-uninstalled.pc.in
--- /dev/null	Tue May  5 16:32:27 1998
+++ pangoft2-uninstalled.pc.in	Thu May 17 19:02:23 2001
@@ -0,0 +1,7 @@
+Name: Pango FT2 Uninstalled
+Description: Freetype 2.0 font support for Pango, Not Installed
+Version: @VERSION@
+Requires: pango
+Libs: ${pcbuilddir}/${pcfiledir}/pango/libpangoft2.la @FREETYPE_LIBS@
+Cflags: -I${pcbuilddir}/${pcfiledir}/@srcdir@ @FREETYPE_CFLAGS@
+
Index: pango/pangox-uninstalled.pc.in
===================================================================
RCS file: pangox-uninstalled.pc.in
diff -N pangox-uninstalled.pc.in
--- /dev/null	Tue May  5 16:32:27 1998
+++ pangox-uninstalled.pc.in	Thu May 17 19:02:23 2001
@@ -0,0 +1,6 @@
+Name: Pango X Uninstalled
+Description: X Window System font support for Pango, Not Installed
+Version: @VERSION@
+Requires: pango
+Libs: ${pcbuilddir}/${pcfiledir}/pango/libpangox.la @X_LIBS@
+Cflags: -I${pcbuilddir}/${pcfiledir}/@srcdir@
Index: pango/pangoxft-uninstalled.pc.in
===================================================================
RCS file: pangoxft-uninstalled.pc.in
diff -N pangoxft-uninstalled.pc.in
--- /dev/null	Tue May  5 16:32:27 1998
+++ pangoxft-uninstalled.pc.in	Thu May 17 19:02:23 2001
@@ -0,0 +1,7 @@
+Name: Pango X Uninstalled
+Description: X Window System font support for Pango, Not Installed
+Version: @VERSION@
+Requires: pango
+Libs: ${pcbuilddir}/${pcfiledir}/pango/libpangoxft.la @XFT_LIBS@
+Cflags: -I${pcbuilddir}/${pcfiledir}/@srcdir@ @X_CFLAGS@ @FREETYPE_CFLAGS@
+

_______________________________________________
gnome-hackers mailing list
gnome-hackers gnome org
http://mail.gnome.org/mailman/listinfo/gnome-hackers




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]