[goocanvasmm] Converted to the new (simpler, better) mm-common build system, mostly



commit f9085988dc49f015a445d60f90b8ddaef5ec0ee2
Author: Murray Cumming <murrayc murrayc com>
Date:   Mon Sep 14 13:05:39 2009 +0200

    Converted to the new (simpler, better) mm-common build system, mostly
    to get API documentatino that is compatible with library.gnome.org.

 INSTALL                                            |  240 +++++++++++++++-----
 Makefile.am                                        |   57 +++--
 autogen.sh                                         |   64 +-----
 build/.gitignore                                   |   13 +
 build_shared/Makefile_build.am_fragment            |   49 ----
 build_shared/Makefile_build_gensrc.am_fragment     |   26 --
 build_shared/Makefile_gensrc.am_fragment           |   67 ------
 codegen/Makefile.am                                |   33 +++
 .../Makefile_list_of_sources.am_fragment           |    0
 .../extradefs/generate_extra_defs_goocanvas.cc     |    2 +-
 {tools => codegen}/m4/README                       |    0
 {tools => codegen}/m4/convert.m4                   |    0
 {tools => codegen}/m4/convert_libgoocanvasmm.m4    |    0
 codegen/m4/filelist.am                             |    3 +
 configure.in                                       |  188 ---------------
 doc/Makefile.am                                    |   26 ++
 {docs => doc}/reference/Doxyfile.in                |  231 ++++++++++++-------
 {docs => doc}/reference/README                     |    0
 docs/Makefile.am                                   |    9 -
 docs/reference/Makefile.am                         |   27 ---
 goocanvas/Makefile.am                              |   15 --
 goocanvas/goocanvasmm-1.0.pc.in                    |   11 -
 goocanvas/goocanvasmm-uninstalled.pc.in            |   11 +
 goocanvas/goocanvasmm.pc.in                        |   19 ++
 goocanvas/goocanvasmm/Makefile.am                  |   44 ++--
 goocanvas/goocanvasmm/filelist.am                  |    8 +
 goocanvas/goocanvasmm/private/Makefile.am          |   12 -
 goocanvas/src/Makefile.am                          |   31 ++-
 ...Makefile_list_of_hg.am_fragment => filelist.am} |   17 ++-
 scripts/Makefile.am                                |    3 -
 scripts/depcomp                                    |    1 -
 scripts/install-sh                                 |    1 -
 scripts/macros.m4                                  |   65 ------
 scripts/missing                                    |    1 -
 tools/Makefile.am                                  |    7 -
 tools/extra_defs_gen/Makefile.am                   |    8 -
 tools/m4/Makefile.am                               |    9 -
 tools/m4/Makefile_list_of_sources.am_fragment      |    1 -
 38 files changed, 547 insertions(+), 752 deletions(-)
---
diff --git a/INSTALL b/INSTALL
index b42a17a..2550dab 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,38 +1,54 @@
+Installation Instructions
+*************************
+
+Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
+2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+
+   This file is free documentation; the Free Software Foundation gives
+unlimited permission to copy, distribute and modify it.
+
 Basic Installation
 ==================
 
-   These are generic installation instructions.
+   Briefly, the shell commands `./configure; make; make install' should
+configure, build, and install this package.  The following
+more-detailed instructions are generic; see the `README' file for
+instructions specific to this package.
 
    The `configure' shell script attempts to guess correct values for
 various system-dependent variables used during compilation.  It uses
 those values to create a `Makefile' in each directory of the package.
 It may also create one or more `.h' files containing system-dependent
 definitions.  Finally, it creates a shell script `config.status' that
-you can run in the future to recreate the current configuration, a file
-`config.cache' that saves the results of its tests to speed up
-reconfiguring, and a file `config.log' containing compiler output
-(useful mainly for debugging `configure').
+you can run in the future to recreate the current configuration, and a
+file `config.log' containing compiler output (useful mainly for
+debugging `configure').
+
+   It can also use an optional file (typically called `config.cache'
+and enabled with `--cache-file=config.cache' or simply `-C') that saves
+the results of its tests to speed up reconfiguring.  Caching is
+disabled by default to prevent problems with accidental use of stale
+cache files.
 
    If you need to do unusual things to compile the package, please try
 to figure out how `configure' could check whether to do them, and mail
 diffs or instructions to the address given in the `README' so they can
-be considered for the next release.  If at some point `config.cache'
-contains results you don't want to keep, you may remove or edit it.
+be considered for the next release.  If you are using the cache, and at
+some point `config.cache' contains results you don't want to keep, you
+may remove or edit it.
 
-   The file `configure.in' is used to create `configure' by a program
-called `autoconf'.  You only need `configure.in' if you want to change
-it or regenerate `configure' using a newer version of `autoconf'.
+   The file `configure.ac' (or `configure.in') is used to create
+`configure' by a program called `autoconf'.  You need `configure.ac' if
+you want to change it or regenerate `configure' using a newer version
+of `autoconf'.
 
 The simplest way to compile this package is:
 
   1. `cd' to the directory containing the package's source code and type
-     `./configure' to configure the package for your system.  If you're
-     using `csh' on an old version of System V, you might need to type
-     `sh ./configure' instead to prevent `csh' from trying to execute
-     `configure' itself.
+     `./configure' to configure the package for your system.
 
-     Running `configure' takes awhile.  While running, it prints some
-     messages telling which features it is checking for.
+     Running `configure' might take a while.  While running, it prints
+     some messages telling which features it is checking for.
 
   2. Type `make' to compile the package.
 
@@ -51,52 +67,69 @@ The simplest way to compile this package is:
      all sorts of other programs in order to regenerate files that came
      with the distribution.
 
+  6. Often, you can also type `make uninstall' to remove the installed
+     files again.
+
 Compilers and Options
 =====================
 
    Some systems require unusual options for compilation or linking that
-the `configure' script does not know about.  You can give `configure'
-initial values for variables by setting them in the environment.  Using
-a Bourne-compatible shell, you can do that on the command line like
-this:
-     CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
+the `configure' script does not know about.  Run `./configure --help'
+for details on some of the pertinent environment variables.
 
-Or on systems that have the `env' program, you can do it like this:
-     env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
+   You can give `configure' initial values for configuration parameters
+by setting variables in the command line or in the environment.  Here
+is an example:
+
+     ./configure CC=c99 CFLAGS=-g LIBS=-lposix
+
+   *Note Defining Variables::, for more details.
 
 Compiling For Multiple Architectures
 ====================================
 
    You can compile the package for more than one kind of computer at the
 same time, by placing the object files for each architecture in their
-own directory.  To do this, you must use a version of `make' that
-supports the `VPATH' variable, such as GNU `make'.  `cd' to the
+own directory.  To do this, you can use GNU `make'.  `cd' to the
 directory where you want the object files and executables to go and run
 the `configure' script.  `configure' automatically checks for the
 source code in the directory that `configure' is in and in `..'.
 
-   If you have to use a `make' that does not supports the `VPATH'
-variable, you have to compile the package for one architecture at a time
-in the source code directory.  After you have installed the package for
-one architecture, use `make distclean' before reconfiguring for another
-architecture.
+   With a non-GNU `make', it is safer to compile the package for one
+architecture at a time in the source code directory.  After you have
+installed the package for one architecture, use `make distclean' before
+reconfiguring for another architecture.
+
+   On MacOS X 10.5 and later systems, you can create libraries and
+executables that work on multiple system types--known as "fat" or
+"universal" binaries--by specifying multiple `-arch' options to the
+compiler but only a single `-arch' option to the preprocessor.  Like
+this:
+
+     ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+                 CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+                 CPP="gcc -E" CXXCPP="g++ -E"
+
+   This is not guaranteed to produce working output in all cases, you
+may have to build one architecture at a time and combine the results
+using the `lipo' tool if you have problems.
 
 Installation Names
 ==================
 
-   By default, `make install' will install the package's files in
-`/usr/local/bin', `/usr/local/man', etc.  You can specify an
-installation prefix other than `/usr/local' by giving `configure' the
-option `--prefix=PATH'.
+   By default, `make install' installs the package's commands under
+`/usr/local/bin', include files under `/usr/local/include', etc.  You
+can specify an installation prefix other than `/usr/local' by giving
+`configure' the option `--prefix=PREFIX'.
 
    You can specify separate installation prefixes for
 architecture-specific files and architecture-independent files.  If you
-give `configure' the option `--exec-prefix=PATH', the package will use
-PATH as the prefix for installing programs and libraries.
-Documentation and other data files will still use the regular prefix.
+pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+PREFIX as the prefix for installing programs and libraries.
+Documentation and other data files still use the regular prefix.
 
    In addition, if you use an unusual directory layout you can give
-options like `--bindir=PATH' to specify different values for particular
+options like `--bindir=DIR' to specify different values for particular
 kinds of files.  Run `configure --help' for a list of the directories
 you can set and what kinds of files go in them.
 
@@ -119,25 +152,68 @@ find the X include and library files automatically, but if it doesn't,
 you can use the `configure' options `--x-includes=DIR' and
 `--x-libraries=DIR' to specify their locations.
 
+Particular systems
+==================
+
+   On HP-UX, the default C compiler is not ANSI C compatible.  If GNU
+CC is not installed, it is recommended to use the following options in
+order to use an ANSI C compiler:
+
+     ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
+
+and if that doesn't work, install pre-built binaries of GCC for HP-UX.
+
+   On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
+parse its `<wchar.h>' header file.  The option `-nodtk' can be used as
+a workaround.  If GNU CC is not installed, it is therefore recommended
+to try
+
+     ./configure CC="cc"
+
+and if that doesn't work, try
+
+     ./configure CC="cc -nodtk"
+
+   On Solaris, don't put `/usr/ucb' early in your `PATH'.  This
+directory contains several dysfunctional programs; working variants of
+these programs are available in `/usr/bin'.  So, if you need `/usr/ucb'
+in your `PATH', put it _after_ `/usr/bin'.
+
+   On Haiku, software installed for all users goes in `/boot/common',
+not `/usr/local'.  It is recommended to use the following options:
+
+     ./configure --prefix=/boot/common
+
 Specifying the System Type
 ==========================
 
-   There may be some features `configure' can not figure out
-automatically, but needs to determine by the type of host the package
-will run on.  Usually `configure' can figure that out, but if it prints
-a message saying it can not guess the host type, give it the
-`--host=TYPE' option.  TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name with three fields:
+   There may be some features `configure' cannot figure out
+automatically, but needs to determine by the type of machine the package
+will run on.  Usually, assuming the package is built to be run on the
+_same_ architectures, `configure' can figure that out, but if it prints
+a message saying it cannot guess the machine type, give it the
+`--build=TYPE' option.  TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name which has the form:
+
      CPU-COMPANY-SYSTEM
 
-See the file `config.sub' for the possible values of each field.  If
+where SYSTEM can have one of these forms:
+
+     OS
+     KERNEL-OS
+
+   See the file `config.sub' for the possible values of each field.  If
 `config.sub' isn't included in this package, then this package doesn't
-need to know the host type.
+need to know the machine type.
 
-   If you are building compiler tools for cross-compiling, you can also
-use the `--target=TYPE' option to select the type of system they will
-produce code for and the `--build=TYPE' option to select the type of
-system on which you are compiling the package.
+   If you are _building_ compiler tools for cross-compiling, you should
+use the option `--target=TYPE' to select the type of system they will
+produce code for.
+
+   If you want to _use_ a cross compiler, that generates code for a
+platform different from the build platform, you should specify the
+"host" platform (i.e., that on which the generated programs will
+eventually be run) with `--host=TYPE'.
 
 Sharing Defaults
 ================
@@ -150,19 +226,55 @@ default values for variables like `CC', `cache_file', and `prefix'.
 `CONFIG_SITE' environment variable to the location of the site script.
 A warning: not all `configure' scripts look for a site script.
 
-Operation Controls
+Defining Variables
 ==================
 
+   Variables not defined in a site shell script can be set in the
+environment passed to `configure'.  However, some packages may run
+configure again during the build, and the customized values of these
+variables may be lost.  In order to avoid this problem, you should set
+them in the `configure' command line, using `VAR=value'.  For example:
+
+     ./configure CC=/usr/local2/bin/gcc
+
+causes the specified `gcc' to be used as the C compiler (unless it is
+overridden in the site shell script).
+
+Unfortunately, this technique does not work for `CONFIG_SHELL' due to
+an Autoconf bug.  Until the bug is fixed you can use this workaround:
+
+     CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
+
+`configure' Invocation
+======================
+
    `configure' recognizes the following options to control how it
 operates.
 
+`--help'
+`-h'
+     Print a summary of all of the options to `configure', and exit.
+
+`--help=short'
+`--help=recursive'
+     Print a summary of the options unique to this package's
+     `configure', and exit.  The `short' variant lists options used
+     only in the top level, while the `recursive' variant lists options
+     also present in any nested packages.
+
+`--version'
+`-V'
+     Print the version of Autoconf used to generate the `configure'
+     script, and exit.
+
 `--cache-file=FILE'
-     Use and save the results of the tests in FILE instead of
-     `./config.cache'.  Set FILE to `/dev/null' to disable caching, for
-     debugging `configure'.
+     Enable the cache: use and save the results of the tests in FILE,
+     traditionally `config.cache'.  FILE defaults to `/dev/null' to
+     disable caching.
 
-`--help'
-     Print a summary of the options to `configure', and exit.
+`--config-cache'
+`-C'
+     Alias for `--cache-file=config.cache'.
 
 `--quiet'
 `--silent'
@@ -175,8 +287,16 @@ operates.
      Look for the package's source code in directory DIR.  Usually
      `configure' can determine that directory automatically.
 
-`--version'
-     Print the version of Autoconf used to generate the `configure'
-     script, and exit.
+`--prefix=DIR'
+     Use DIR as the installation prefix.  *Note Installation Names::
+     for more details, including other options available for fine-tuning
+     the installation locations.
+
+`--no-create'
+`-n'
+     Run the configure checks, but stop before creating any output
+     files.
+
+`configure' also accepts some other, not widely useful, options.  Run
+`configure --help' for more details.
 
-`configure' also accepts some other, not widely useful, options.
diff --git a/Makefile.am b/Makefile.am
index 7e58693..e7d2097 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,24 +1,43 @@
-SUBDIRS		= tools goocanvas docs tests examples
-DIST_SUBDIRS	= $(SUBDIRS) scripts
+## Copyright (c) 2009  Joe Hacker <joe example com>
+##
+## This file is part of goocanvasmm.
+##
+## goocanvasmm is free software: you can redistribute it and/or modify it
+## under the terms of the GNU Lesser General Public License as published
+## by the Free Software Foundation, either version 2.1 of the License,
+## or (at your option) any later version.
+##
+## goocanvasmm 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 Lesser General Public License for more details.
+##
+## You should have received a copy of the GNU Lesser General Public License
+## along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-EXTRA_DIST	=  \
-		  build_shared/Makefile_build.am_fragment \
-		  build_shared/Makefile_build_gensrc.am_fragment \
-		  build_shared/Makefile_gensrc.am_fragment
+ACLOCAL_AMFLAGS = -I build ${ACLOCAL_FLAGS}
+DISTCHECK_CONFIGURE_FLAGS = --enable-warnings=fatal
 
+if MAINTAINER_MODE
+src_subdirs = codegen goocanvas/src
+else
+src_subdirs =
+endif
+if ENABLE_DOCUMENTATION
+doc_subdirs = doc
+else
+doc_subdirs =
+endif
+SUBDIRS = $(src_subdirs) goocanvas/goocanvasmm $(doc_subdirs)
 
-all-local:
-	@echo "*** Everything completed ***"
+goocanvasmm_includedir = $(includedir)/$(GOOCANVASMM_MODULE_NAME)
+goocanvasmm_include_HEADERS = goocanvas/goocanvasmm.h
+goocanvasmm_libincludedir = $(libdir)/$(GOOCANVASMM_MODULE_NAME)/include
+nodist_goocanvasmm_libinclude_HEADERS = goocanvas/goocanvasmmconfig.h
 
-dist-hook:
-	@echo; echo; \
-	echo "**********************************************************"; \
-	echo "* IMPORTANT NOTICE:                                      *"; \
-	echo "*                                                        *"; \
-	echo "* Be sure you have done a complete build before running  *"; \
-	echo "* 'make dist' or 'make distcheck', because otherwise     *"; \
-	echo "* the tarball will _not_ contain the dependency rules    *"; \
-	echo "* generated by the compiler.                             *"; \
-	echo "**********************************************************"; \
-	echo; echo
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = goocanvas/$(GOOCANVASMM_MODULE_NAME).pc
 
+dist_noinst_SCRIPTS = autogen.sh
+
+include $(top_srcdir)/build/dist-changelog.am
diff --git a/autogen.sh b/autogen.sh
index c77ffce..6686611 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -1,59 +1,7 @@
-#!/bin/sh
-MAKE=`which gnumake`
-if test ! -x "$MAKE" ; then MAKE=`which gmake` ; fi
-if test ! -x "$MAKE" ; then MAKE=`which make` ; fi
-HAVE_GNU_MAKE=`$MAKE --version|grep -c "Free Software Foundation"`
-
-if test "$HAVE_GNU_MAKE" != "1"; then 
-echo !!!! ERROR: You need GNU make to build from cvs!; 
-echo !!!! $MAKE is not GNU make;
-exit 1; 
-fi
-
-echo Found GNU Make at $MAKE ... good.
-
-srcdir=`dirname $0`
-test -z "$srcdir" && srcdir=.
-
-PKG_NAME="libgoocanvasmm"
-
-(test -f $srcdir/configure.in \
-  && test -d $srcdir/goocanvas/src \
-  && test -d $srcdir/goocanvas/goocanvasmm) || {
-    echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
-    echo " top-level $PKG_NAME directory"
-    exit 1
-}
-
-
-
-echo "Adding libtools."
-libtoolize --automake
-
-echo "Building macros."
-aclocal -I scripts $ACLOCAL_FLAGS
-
-#echo "Building config header."
-#autoheader
-
-echo "Building makefiles."
-automake   --add-missing
-
-echo "Building configure."
-autoconf
-
-rm -f config.cache
-
-if test -z "$AUTOGEN_SUBDIR_MODE"; then
-
-    echo "Running configure."
-    ./configure --enable-maintainer-mode "$@"
-    echo
-    echo 'run "make"'
-    echo
-else
-    echo
-    echo 'run "./configure ; make"'
-    echo
-fi
+#! /bin/sh -e
+test -n "$srcdir" || srcdir=`dirname "$0"`
+test -n "$srcdir" || srcdir=.
 
+mm-common-prepare --copy --force "$srcdir"
+autoreconf --force --install --verbose "$srcdir"
+test -n "$NOCONFIGURE" || "$srcdir/configure" --enable-maintainer-mode "$@"
diff --git a/build/.gitignore b/build/.gitignore
new file mode 100644
index 0000000..0590391
--- /dev/null
+++ b/build/.gitignore
@@ -0,0 +1,13 @@
+/compile
+/compile-binding.am
+/config.*
+/depcomp
+/dist-changelog.am
+/doc-reference.am
+/generate-binding.am
+/install-sh
+/libtool.m4
+/lt*.m4
+/ltmain.sh
+/missing
+/stamp-h?
diff --git a/codegen/Makefile.am b/codegen/Makefile.am
new file mode 100644
index 0000000..19cd2a0
--- /dev/null
+++ b/codegen/Makefile.am
@@ -0,0 +1,33 @@
+## Copyright (c) 2009  Joe Hacker <joe example com>
+##
+## This file is part of goocanvasmm.
+##
+## goocanvasmm is free software: you can redistribute it and/or modify it
+## under the terms of the GNU Lesser General Public License as published
+## by the Free Software Foundation, either version 2.1 of the License,
+## or (at your option) any later version.
+##
+## goocanvasmm 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 Lesser General Public License for more details.
+##
+## You should have received a copy of the GNU Lesser General Public License
+## along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+AUTOMAKE_OPTIONS = subdir-objects
+
+include $(srcdir)/m4/filelist.am
+
+dist_noinst_DATA = $(addprefix m4/,$(files_codegen_m4))
+noinst_PROGRAMS  = extradefs/generate_extra_defs
+
+extradefs_generate_extra_defs_SOURCES = extradefs/generate_extra_defs_goocanvas.cc
+extradefs_generate_extra_defs_LDADD   = $(GOOCANVASMM_LIBS) -lglibmm_generate_extra_defs-2.4
+
+AM_CPPFLAGS = -I$(top_builddir) $(GTHREAD_CFLAGS) $(GOOCANVASMM_CFLAGS)
+AM_CXXFLAGS = $(GOOCANVASMM_WXXFLAGS)
+
+# Instruct GNU make to delete the targets of a rule after it failed, in
+# order to avoid the complication of handling that situation manually.
+.DELETE_ON_ERROR:
diff --git a/tools/Makefile_list_of_sources.am_fragment b/codegen/Makefile_list_of_sources.am_fragment
similarity index 100%
rename from tools/Makefile_list_of_sources.am_fragment
rename to codegen/Makefile_list_of_sources.am_fragment
diff --git a/tools/extra_defs_gen/generate_defs_goocanvas.cc b/codegen/extradefs/generate_extra_defs_goocanvas.cc
similarity index 97%
rename from tools/extra_defs_gen/generate_defs_goocanvas.cc
rename to codegen/extradefs/generate_extra_defs_goocanvas.cc
index c2403a6..e8966e1 100644
--- a/tools/extra_defs_gen/generate_defs_goocanvas.cc
+++ b/codegen/extradefs/generate_extra_defs_goocanvas.cc
@@ -17,7 +17,7 @@
 
 #include <iostream>
 
-#include "glibmm_generate_extra_defs/generate_extra_defs.h"
+#include <glibmm_generate_extra_defs/generate_extra_defs.h>
 #include <gdk/gdk.h>
 #include <gtk/gtk.h>
 #include <goocanvas.h>
diff --git a/tools/m4/README b/codegen/m4/README
similarity index 100%
rename from tools/m4/README
rename to codegen/m4/README
diff --git a/tools/m4/convert.m4 b/codegen/m4/convert.m4
similarity index 100%
rename from tools/m4/convert.m4
rename to codegen/m4/convert.m4
diff --git a/tools/m4/convert_libgoocanvasmm.m4 b/codegen/m4/convert_libgoocanvasmm.m4
similarity index 100%
rename from tools/m4/convert_libgoocanvasmm.m4
rename to codegen/m4/convert_libgoocanvasmm.m4
diff --git a/codegen/m4/filelist.am b/codegen/m4/filelist.am
new file mode 100644
index 0000000..86800e2
--- /dev/null
+++ b/codegen/m4/filelist.am
@@ -0,0 +1,3 @@
+## This file is part of goocanvasmm.
+
+files_codegen_m4 = convert.m4 convert_libgoocanvasmm.m4
diff --git a/doc/Makefile.am b/doc/Makefile.am
new file mode 100644
index 0000000..b9109d1
--- /dev/null
+++ b/doc/Makefile.am
@@ -0,0 +1,26 @@
+## Copyright (c) 2009  Joe Hacker <joe example com>
+##
+## This file is part of goocanvasmm.
+##
+## goocanvasmm is free software: you can redistribute it and/or modify it
+## under the terms of the GNU Lesser General Public License as published
+## by the Free Software Foundation, either version 2.1 of the License,
+## or (at your option) any later version.
+##
+## goocanvasmm 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 Lesser General Public License for more details.
+##
+## You should have received a copy of the GNU Lesser General Public License
+## along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+include $(top_srcdir)/goocanvas/src/filelist.am
+include $(top_srcdir)/goocanvas/goocanvasmm/filelist.am
+
+goocanvasmm_files_h = $(files_built_h) $(filter-out wrap_init.h,$(files_extra_h))
+
+book_name = $(GOOCANVASMM_MODULE_NAME)
+doc_input = $(addprefix $(top_srcdir)/goocanvas/goocanvasmm/,$(goocanvasmm_files_h))
+
+include $(top_srcdir)/build/doc-reference.am
diff --git a/docs/reference/Doxyfile.in b/doc/reference/Doxyfile.in
similarity index 54%
rename from docs/reference/Doxyfile.in
rename to doc/reference/Doxyfile.in
index 9fec4fe..46e3f9e 100644
--- a/docs/reference/Doxyfile.in
+++ b/doc/reference/Doxyfile.in
@@ -1,62 +1,84 @@
-# Doxyfile 1.4.0
+# Doxyfile 1.5.8
+# @configure_input@
 
 #---------------------------------------------------------------------------
 # Project related configuration options
 #---------------------------------------------------------------------------
-PROJECT_NAME           = goocanvasmm
-PROJECT_NUMBER         = @LIBGOOCANVASMM_VERSION@
-OUTPUT_DIRECTORY       = 
+DOXYFILE_ENCODING      = UTF-8
+PROJECT_NAME           = @PACKAGE_NAME@
+PROJECT_NUMBER         = @PACKAGE_VERSION@
+OUTPUT_DIRECTORY       = reference
 CREATE_SUBDIRS         = NO
 OUTPUT_LANGUAGE        = English
-USE_WINDOWS_ENCODING   = NO
 BRIEF_MEMBER_DESC      = YES
 REPEAT_BRIEF           = YES
-ABBREVIATE_BRIEF       = 
+ABBREVIATE_BRIEF       =
 ALWAYS_DETAILED_SEC    = NO
 INLINE_INHERITED_MEMB  = NO
-FULL_PATH_NAMES        = NO
-STRIP_FROM_PATH        = 
-STRIP_FROM_INC_PATH    = 
+FULL_PATH_NAMES        = YES
+STRIP_FROM_PATH        = "@abs_top_builddir@/goocanvas/" \
+                         "@abs_top_srcdir@/goocanvas/" \
+                         "@abs_top_builddir@/" \
+                         "@abs_top_srcdir@/"
+STRIP_FROM_INC_PATH    = "@abs_top_builddir@/goocanvas/" \
+                         "@abs_top_srcdir@/goocanvas/" \
+                         "@abs_top_builddir@/" \
+                         "@abs_top_srcdir@/"
 SHORT_NAMES            = NO
 JAVADOC_AUTOBRIEF      = YES
+QT_AUTOBRIEF           = NO
 MULTILINE_CPP_IS_BRIEF = NO
-DETAILS_AT_TOP         = NO
 INHERIT_DOCS           = YES
-DISTRIBUTE_GROUP_DOC   = NO
+SEPARATE_MEMBER_PAGES  = NO
 TAB_SIZE               = 8
-ALIASES                = 
+ALIASES                = "newin{2}=\xrefitem since_\1_\2 \"Since @PACKAGE_NAME@ \1.\2\" \"New API in @PACKAGE_NAME@ \1.\2\""
 OPTIMIZE_OUTPUT_FOR_C  = NO
 OPTIMIZE_OUTPUT_JAVA   = NO
+OPTIMIZE_FOR_FORTRAN   = NO
+OPTIMIZE_OUTPUT_VHDL   = NO
+EXTENSION_MAPPING      =
+BUILTIN_STL_SUPPORT    = NO
+CPP_CLI_SUPPORT        = NO
+SIP_SUPPORT            = NO
+IDL_PROPERTY_SUPPORT   = YES
+DISTRIBUTE_GROUP_DOC   = NO
 SUBGROUPING            = YES
+TYPEDEF_HIDES_STRUCT   = NO
+SYMBOL_CACHE_SIZE      = 0
 #---------------------------------------------------------------------------
 # Build related configuration options
 #---------------------------------------------------------------------------
 EXTRACT_ALL            = YES
 EXTRACT_PRIVATE        = NO
-EXTRACT_STATIC         = YES
-EXTRACT_LOCAL_CLASSES  = YES
+EXTRACT_STATIC         = NO
+EXTRACT_LOCAL_CLASSES  = NO
 EXTRACT_LOCAL_METHODS  = NO
-HIDE_UNDOC_MEMBERS     = NO
-HIDE_UNDOC_CLASSES     = NO
-HIDE_FRIEND_COMPOUNDS  = NO
-HIDE_IN_BODY_DOCS      = NO
+EXTRACT_ANON_NSPACES   = NO
+HIDE_UNDOC_MEMBERS     = YES
+HIDE_UNDOC_CLASSES     = YES
+HIDE_FRIEND_COMPOUNDS  = YES
+HIDE_IN_BODY_DOCS      = YES
 INTERNAL_DOCS          = NO
 CASE_SENSE_NAMES       = YES
 HIDE_SCOPE_NAMES       = NO
-SHOW_INCLUDE_FILES     = YES
+SHOW_INCLUDE_FILES     = NO
 INLINE_INFO            = YES
 SORT_MEMBER_DOCS       = YES
 SORT_BRIEF_DOCS        = NO
-SORT_BY_SCOPE_NAME     = NO
-GENERATE_TODOLIST      = YES
-GENERATE_TESTLIST      = YES
-GENERATE_BUGLIST       = YES
+SORT_GROUP_NAMES       = YES
+SORT_BY_SCOPE_NAME     = YES
+GENERATE_TODOLIST      = NO
+GENERATE_TESTLIST      = NO
+GENERATE_BUGLIST       = NO
 GENERATE_DEPRECATEDLIST= YES
-ENABLED_SECTIONS       = 
-MAX_INITIALIZER_LINES  = 30
+ENABLED_SECTIONS       =
+MAX_INITIALIZER_LINES  = 2
 SHOW_USED_FILES        = YES
-SHOW_DIRECTORIES       = YES
-FILE_VERSION_FILTER    = 
+SHOW_DIRECTORIES       = NO
+SHOW_FILES             = NO
+SHOW_NAMESPACES        = YES
+FILE_VERSION_FILTER    =
+LAYOUT_FILE            =
 #---------------------------------------------------------------------------
 # configuration options related to warning and progress messages
 #---------------------------------------------------------------------------
@@ -66,22 +88,35 @@ WARN_IF_UNDOCUMENTED   = YES
 WARN_IF_DOC_ERROR      = YES
 WARN_NO_PARAMDOC       = NO
 WARN_FORMAT            = "$file:$line: $text"
-WARN_LOGFILE           = 
+WARN_LOGFILE           = reference/doxygen.log
 #---------------------------------------------------------------------------
 # configuration options related to the input files
 #---------------------------------------------------------------------------
-INPUT                  = @LIBGOOCANVASMM_DOXYGEN_INPUT@
-FILE_PATTERNS          = *.h
+INPUT                  =
+INPUT_ENCODING         = UTF-8
+FILE_PATTERNS          =
 RECURSIVE              = NO
-EXCLUDE                = 
+EXCLUDE                =
 EXCLUDE_SYMLINKS       = NO
-EXCLUDE_PATTERNS       = 
-EXAMPLE_PATH           = 
-EXAMPLE_PATTERNS       = 
-EXAMPLE_RECURSIVE      = NO
-IMAGE_PATH             = 
-INPUT_FILTER           = 
-FILTER_PATTERNS        = 
+EXCLUDE_PATTERNS       =
+EXCLUDE_SYMBOLS        = _* \
+                         SkeletonDimensionData \
+                         SkeletonPositionData \
+                         adaptor_trait \
+                         basic_filebuf \
+                         basic_streambuf \
+                         binary_function \
+                         char_traits \
+                         internal \
+                         pair \
+                         unary_function
+SKELETON_PATH           =
+SKELETON_PATTERNS       = *.cc \
+                         *.h
+SKELETON_RECURSIVE      = NO
+IMAGE_PATH             =
+INPUT_FILTER           =
+FILTER_PATTERNS        =
 FILTER_SOURCE_FILES    = NO
 #---------------------------------------------------------------------------
 # configuration options related to source browsing
@@ -89,35 +124,51 @@ FILTER_SOURCE_FILES    = NO
 SOURCE_BROWSER         = NO
 INLINE_SOURCES         = NO
 STRIP_CODE_COMMENTS    = YES
-REFERENCED_BY_RELATION = YES
-REFERENCES_RELATION    = YES
-VERBATIM_HEADERS       = YES
+REFERENCED_BY_RELATION = NO
+REFERENCES_RELATION    = NO
+REFERENCES_LINK_SOURCE = YES
+USE_HTAGS              = NO
+VERBATIM_HEADERS       = NO
 #---------------------------------------------------------------------------
 # configuration options related to the alphabetical class index
 #---------------------------------------------------------------------------
-ALPHABETICAL_INDEX     = YES
+ALPHABETICAL_INDEX     = NO
 COLS_IN_ALPHA_INDEX    = 5
-IGNORE_PREFIX          = 
+IGNORE_PREFIX          =
 #---------------------------------------------------------------------------
 # configuration options related to the HTML output
 #---------------------------------------------------------------------------
 GENERATE_HTML          = YES
 HTML_OUTPUT            = html
 HTML_FILE_EXTENSION    = .html
-HTML_HEADER            = 
-HTML_FOOTER            = 
-HTML_STYLESHEET        = 
+HTML_HEADER            =
+HTML_FOOTER            =
+HTML_STYLESHEET        = "@MMDOCTOOLDIR@/doxygen.css"
 HTML_ALIGN_MEMBERS     = YES
+HTML_DYNAMIC_SECTIONS  = NO
+GENERATE_DOCSET        = NO
+DOCSET_FEEDNAME        = "Doxygen generated docs"
+DOCSET_BUNDLE_ID       = org.doxygen.Project
 GENERATE_HTMLHELP      = NO
-CHM_FILE               = 
-HHC_LOCATION           = 
+CHM_FILE               =
+HHC_LOCATION           =
 GENERATE_CHI           = NO
+CHM_INDEX_ENCODING     =
 BINARY_TOC             = NO
 TOC_EXPAND             = NO
+GENERATE_QHP           = NO
+QCH_FILE               =
+QHP_NAMESPACE          =
+QHP_VIRTUAL_FOLDER     = doc
+QHP_CUST_FILTER_NAME   =
+QHP_CUST_FILTER_ATTRS  =
+QHP_SECT_FILTER_ATTRS  =
+QHG_LOCATION           =
 DISABLE_INDEX          = NO
-ENUM_VALUES_PER_LINE   = 4
-GENERATE_TREEVIEW      = NO
+ENUM_VALUES_PER_LINE   = 1
+GENERATE_TREEVIEW      = NONE
 TREEVIEW_WIDTH         = 250
+FORMULA_FONTSIZE       = 10
 #---------------------------------------------------------------------------
 # configuration options related to the LaTeX output
 #---------------------------------------------------------------------------
@@ -127,10 +178,10 @@ LATEX_CMD_NAME         = latex
 MAKEINDEX_CMD_NAME     = makeindex
 COMPACT_LATEX          = NO
 PAPER_TYPE             = a4wide
-EXTRA_PACKAGES         = 
-LATEX_HEADER           = 
-PDF_HYPERLINKS         = NO
-USE_PDFLATEX           = NO
+EXTRA_PACKAGES         =
+LATEX_HEADER           =
+PDF_HYPERLINKS         = YES
+USE_PDFLATEX           = YES
 LATEX_BATCHMODE        = NO
 LATEX_HIDE_INDICES     = NO
 #---------------------------------------------------------------------------
@@ -140,8 +191,8 @@ GENERATE_RTF           = NO
 RTF_OUTPUT             = rtf
 COMPACT_RTF            = NO
 RTF_HYPERLINKS         = NO
-RTF_STYLESHEET_FILE    = 
-RTF_EXTENSIONS_FILE    = 
+RTF_STYLESHEET_FILE    =
+RTF_EXTENSIONS_FILE    =
 #---------------------------------------------------------------------------
 # configuration options related to the man page output
 #---------------------------------------------------------------------------
@@ -154,9 +205,9 @@ MAN_LINKS              = NO
 #---------------------------------------------------------------------------
 GENERATE_XML           = NO
 XML_OUTPUT             = xml
-XML_SCHEMA             = 
-XML_DTD                = 
-XML_PROGRAMLISTING     = YES
+XML_SCHEMA             =
+XML_DTD                =
+XML_PROGRAMLISTING     = NO
 #---------------------------------------------------------------------------
 # configuration options for the AutoGen Definitions output
 #---------------------------------------------------------------------------
@@ -167,54 +218,68 @@ GENERATE_AUTOGEN_DEF   = NO
 GENERATE_PERLMOD       = NO
 PERLMOD_LATEX          = NO
 PERLMOD_PRETTY         = YES
-PERLMOD_MAKEVAR_PREFIX = 
+PERLMOD_MAKEVAR_PREFIX =
 #---------------------------------------------------------------------------
-# Configuration options related to the preprocessor   
+# Configuration options related to the preprocessor
 #---------------------------------------------------------------------------
 ENABLE_PREPROCESSING   = YES
-MACRO_EXPANSION        = NO
-EXPAND_ONLY_PREDEF     = NO
+MACRO_EXPANSION        = YES
+EXPAND_ONLY_PREDEF     = YES
 SEARCH_INCLUDES        = YES
-INCLUDE_PATH           = 
-INCLUDE_FILE_PATTERNS  = 
-PREDEFINED             = DOXYGEN_SHOULD_SKIP_THIS GLIBMM_EXCEPTIONS_ENABLED GLIBMM_PROPERTIES_ENABLED GLIBMM_VFUNCS_ENABLED GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
-EXPAND_AS_DEFINED      = 
+INCLUDE_PATH           = "@abs_top_builddir@/goocanvas" \
+                         "@abs_top_srcdir@/goocanvas"
+INCLUDE_FILE_PATTERNS  = *.h
+PREDEFINED             = __cplusplus \
+                         DOXYGEN_SHOULD_SKIP_THIS \
+                         "G_GNUC_CONST=" \
+                         "GOOCANVASMM_API=" \
+                         GLIBMM_VFUNCS_ENABLED \
+                         GLIBMM_PROPERTIES_ENABLED \
+                         GLIBMM_EXCEPTIONS_ENABLED \
+                         GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+EXPAND_AS_DEFINED      = GOOCANVASMM_MAJOR_VERSION \
+                         GOOCANVASMM_MINOR_VERSION \
+                         GOOCANVASMM_MICRO_VERSION
 SKIP_FUNCTION_MACROS   = YES
 #---------------------------------------------------------------------------
-# Configuration::additions related to external references   
+# Configuration::additions related to external references
 #---------------------------------------------------------------------------
-TAGFILES               = 
-GENERATE_TAGFILE       = 
+TAGFILES               = @DOXYGEN_TAGFILES@
+GENERATE_TAGFILE       = "reference/@GOOCANVASMM_MODULE_NAME  tag"
 ALLEXTERNALS           = NO
-EXTERNAL_GROUPS        = YES
-PERL_PATH              = @PERL_PATH@
+EXTERNAL_GROUPS        = NO
+PERL_PATH              = @PERL@
 #---------------------------------------------------------------------------
-# Configuration options related to the dot tool   
+# Configuration options related to the dot tool
 #---------------------------------------------------------------------------
-CLASS_DIAGRAMS         = YES
+CLASS_DIAGRAMS         = NO
+MSCGEN_PATH            =
 HIDE_UNDOC_RELATIONS   = NO
 HAVE_DOT               = YES
+DOT_FONTNAME           = FreeSans
+DOT_FONTSIZE           = 10
+DOT_FONTPATH           =
 CLASS_GRAPH            = YES
-COLLABORATION_GRAPH    = NO
+COLLABORATION_GRAPH    = YES
 GROUP_GRAPHS           = YES
 UML_LOOK               = NO
-TEMPLATE_RELATIONS     = NO
+TEMPLATE_RELATIONS     = YES
 INCLUDE_GRAPH          = NO
 INCLUDED_BY_GRAPH      = NO
 CALL_GRAPH             = NO
+CALLER_GRAPH           = NO
 GRAPHICAL_HIERARCHY    = YES
-DIRECTORY_GRAPH        = YES
+DIRECTORY_GRAPH        = NO
 DOT_IMAGE_FORMAT       = png
-DOT_PATH               = 
-DOTFILE_DIRS           = 
-MAX_DOT_GRAPH_WIDTH    = 1024
-MAX_DOT_GRAPH_HEIGHT   = 1024
+DOT_PATH               =
+DOTFILE_DIRS           =
+DOT_GRAPH_MAX_NODES    = 50
 MAX_DOT_GRAPH_DEPTH    = 0
 DOT_TRANSPARENT        = NO
-DOT_MULTI_TARGETS      = NO
+DOT_MULTI_TARGETS      = YES
 GENERATE_LEGEND        = YES
 DOT_CLEANUP            = YES
 #---------------------------------------------------------------------------
-# Configuration::additions related to the search engine   
+# Options related to the search engine
 #---------------------------------------------------------------------------
 SEARCHENGINE           = NO
diff --git a/docs/reference/README b/doc/reference/README
similarity index 100%
rename from docs/reference/README
rename to doc/reference/README
diff --git a/goocanvas/goocanvasmm-uninstalled.pc.in b/goocanvas/goocanvasmm-uninstalled.pc.in
new file mode 100644
index 0000000..c7fe1bc
--- /dev/null
+++ b/goocanvas/goocanvasmm-uninstalled.pc.in
@@ -0,0 +1,11 @@
+doxytagfile=${pc_top_builddir}/doc/reference/@GOOCANVAS_MODULE_NAME  tag
+htmlrefpub=http://library.gnome.org/@PACKAGE_TARNAME@/unstable/
+
+Name: goocanvasmm
+Description: C++ binding for goocanvas, not installed
+Version: @GOOCANVAS_VERSION@
+URL: http://www.gtkmm.org/
+Requires: @GOOCANVAS_MODULES@
+Libs: ${pc_top_builddir}/${pcfiledir}/goocanvasmm/libgoocanvasmm- GOOCANVAS_API_VERSION@.la
+Cflags: -I${pc_top_builddir}/${pcfiledir} -I${pc_top_builddir}/${pcfiledir}/@srcdir@
+
diff --git a/goocanvas/goocanvasmm.pc.in b/goocanvas/goocanvasmm.pc.in
new file mode 100644
index 0000000..b7984a7
--- /dev/null
+++ b/goocanvas/goocanvasmm.pc.in
@@ -0,0 +1,19 @@
+prefix= prefix@
+exec_prefix= exec_prefix@
+libdir= libdir@
+datarootdir= datarootdir@
+datadir= datadir@
+includedir= includedir@
+
+docdir=${datarootdir}/doc/@GOOCANVASMM_MODULE_NAME@
+doxytagfile=${docdir}/reference/@GOOCANVASMM_MODULE_NAME  tag
+htmlrefdir=${docdir}/reference/html
+htmlrefpub=http://library.gnome.org/@PACKAGE_TARNAME@/unstable/
+
+Name: goocanvasmm
+Description: C++ binding for goocanvas
+Version: @GOOCANVASMM_VERSION@
+URL: http://www.gtkmm.org/
+Requires: @GOOCANVASMM_MODULES@
+Libs: -L${libdir} -lgoocanvasmm- GOOCANVASMM_API_VERSION@
+Cflags: -I${includedir}/@GOOCANVASMM_MODULE_NAME@ -I${libdir}/@GOOCANVASMM_MODULE_NAME@/include
diff --git a/goocanvas/goocanvasmm/Makefile.am b/goocanvas/goocanvasmm/Makefile.am
index aa80fad..379f5cb 100644
--- a/goocanvas/goocanvasmm/Makefile.am
+++ b/goocanvas/goocanvasmm/Makefile.am
@@ -1,23 +1,31 @@
-## Copyright (c) 2001
-## The goocanvasmm development team.
+## Copyright (c) 2009  Joe Hacker <joe example com>
+##
+## This file is part of goocanvasmm.
+##
+## goocanvasmm is free software: you can redistribute it and/or modify it
+## under the terms of the GNU Lesser General Public License as published
+## by the Free Software Foundation, either version 2.1 of the License,
+## or (at your option) any later version.
+##
+## goocanvasmm 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 Lesser General Public License for more details.
+##
+## You should have received a copy of the GNU Lesser General Public License
+## along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-SUBDIRS			= private
+lib_LTLIBRARIES = libgoocanvasmm- GOOCANVASMM_API_VERSION@.la
 
-sublib_name		= goocanvasmm
-sublib_libname = goocanvasmm-0.1
-sublib_libversion = $(LIBGOOCANVASMM_SO_VERSION)
-sublib_namespace	= Goocanvas
-sublib_cflags		= $(LIBGOOCANVASMM_CFLAGS)
-sublib_topdir = goocanvas
+include $(srcdir)/../src/filelist.am
+include $(srcdir)/filelist.am
+include $(top_srcdir)/build/compile-binding.am
 
+local_cppflags = $(binding_includes) $(binding_cppflags) -DGOOCANVASMM_BUILD=1
 
-files_extra_h	= init.h types.h 
-files_extra_cc	= init.cc
-
-include $(top_srcdir)/build_shared/Makefile_build_gensrc.am_fragment
-
-lib_LTLIBRARIES			= libgoocanvasmm-0.1.la
-libgoocanvasmm_0_1_la_SOURCES	= $(files_all_cc)
-libgoocanvasmm_0_1_la_LDFLAGS	= $(common_ldflags)
-libgoocanvasmm_0_1_la_LIBADD	= $(LIBGOOCANVASMM_LIBS)
+AM_CPPFLAGS = $(local_cppflags) $(GTHREAD_CFLAGS) $(GOOCANVASMM_CFLAGS)
+AM_CXXFLAGS = $(GOOCANVASMM_WXXFLAGS)
 
+libgoocanvasmm_ GOOCANVASMM_API_VERSION@_la_SOURCES = $(binding_sources)
+libgoocanvasmm_ GOOCANVASMM_API_VERSION@_la_LDFLAGS = -no-undefined -version-info $(GOOCANVASMM_SO_VERSION)
+libgoocanvasmm_ GOOCANVASMM_API_VERSION@_la_LIBADD  = $(GOOCANVASMM_LIBS)
diff --git a/goocanvas/goocanvasmm/filelist.am b/goocanvas/goocanvasmm/filelist.am
new file mode 100644
index 0000000..044e734
--- /dev/null
+++ b/goocanvas/goocanvasmm/filelist.am
@@ -0,0 +1,8 @@
+## This file is part of goocanvasmm.
+
+files_built_cc = $(files_hg:.hg=.cc) wrap_init.cc
+files_built_h  = $(files_hg:.hg=.h)
+files_built_ph = $(patsubst %.hg,private/%_p.h,$(files_hg))
+files_extra_cc = init.cc
+files_extra_h  = wrap_init.h init.h types.h
+files_extra_ph =
diff --git a/goocanvas/src/Makefile.am b/goocanvas/src/Makefile.am
index f3858de..830ee14 100644
--- a/goocanvas/src/Makefile.am
+++ b/goocanvas/src/Makefile.am
@@ -1,12 +1,23 @@
-## Copyright (c) 2001
-## The goocanvasmm development team.
+## Copyright (c) 2009  Joe Hacker <joe example com>
+##
+## This file is part of goocanvasmm.
+##
+## goocanvasmm is free software: you can redistribute it and/or modify it
+## under the terms of the GNU Lesser General Public License as published
+## by the Free Software Foundation, either version 2.1 of the License,
+## or (at your option) any later version.
+##
+## goocanvasmm 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 Lesser General Public License for more details.
+##
+## You should have received a copy of the GNU Lesser General Public License
+## along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-sublib_name	= goocanvasmm
-sublib_namespace = Goocanvas
-sublib_parentdir = goocanvasmm
-files_defs	= libgoocanvas.defs libgoocanvas_methods.defs libgoocanvas_signals.defs \
-                  libgoocanvas_enums.defs libgoocanvas_vfuncs.defs libgoocanvas_others.defs libgoocanvas_fake_properties.defs \
-                  libgoocanvas_docs.xml libgoocanvas_docs_override.xml
-
-include $(top_srcdir)/build_shared/Makefile_gensrc.am_fragment
+binding_name    = goocanvasmm
+wrap_init_flags = --namespace=Goocanvas --parent_dir=goocanvasmm
 
+include $(srcdir)/filelist.am
+include $(top_srcdir)/codegen/m4/filelist.am
+include $(top_srcdir)/build/generate-binding.am
diff --git a/goocanvas/src/Makefile_list_of_hg.am_fragment b/goocanvas/src/filelist.am
similarity index 53%
rename from goocanvas/src/Makefile_list_of_hg.am_fragment
rename to goocanvas/src/filelist.am
index 8b1371a..64dfc1a 100644
--- a/goocanvas/src/Makefile_list_of_hg.am_fragment
+++ b/goocanvas/src/filelist.am
@@ -1,6 +1,16 @@
-# This file is include by other Makefile.am files, using the new automake include feature.
-# The include happens in Makefile.am, not Makefile.in or Makefile,
-# so it's like copy-and-pasting this into each of those Makefile.am files.
+# This file is part of goocanvasmm.
+
+files_defs =			\
+	libgoocanvas.defs		\
+	libgoocanvas_enums.defs	\
+	libgoocanvas_vfuncs.defs	\
+	libgoocanvas_methods.defs	\
+	libgoocanvas_signals.defs	\
+	libgoocanvas_others.defs	\
+	libgoocanvas_fake_properties.defs \
+	libgoocanvas_docs.xml	\
+	libgoocanvas_docs_override.xml
+
 
 files_hg = \
 canvas.hg \
@@ -33,3 +43,4 @@ textmodel.hg \
 widget.hg \
 enums.hg
 
+files_ccg = $(files_hg:.hg=.ccg)



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