[clutter-box2dmm] Port to mm-common



commit 5ce9af6c752ce88ad67edb990e52ee174bfde776
Author: Murray Cumming <murrayc murrayc com>
Date:   Thu Jan 7 18:19:22 2010 +0100

    Port to mm-common

 ChangeLog                                          |    6 +
 INSTALL                                            |  240 +++++++++++++++-----
 Makefile.am                                        |   59 ++++--
 NEWS                                               |   12 +
 autogen.sh                                         |   64 +-----
 clutter-box2d/clutter-box2dmm-uninstalled.pc.in    |   11 +
 clutter-box2d/clutter-box2dmm/Makefile.am          |   44 ++--
 clutter-box2d/clutter-box2dmm/filelist.am          |    9 +
 clutter-box2d/clutter-box2dmm/private/Makefile.am  |   12 -
 clutter-box2d/src/Makefile.am                      |   36 ++--
 clutter-box2d/src/Makefile_list_of_hg.am_fragment  |    5 -
 clutter-box2d/src/filelist.am                      |   11 +
 codegen/Makefile.am                                |   37 +++
 .../Makefile_list_of_sources.am_fragment           |    0
 .../extradefs}/Makefile.am                         |    0
 .../extradefs/generate_extra_defs_clutter_box2d.cc |    0
 {tools => codegen}/m4/README                       |    0
 {tools => codegen}/m4/convert.m4                   |    0
 {tools => codegen}/m4/convert_clutter-box2dmm.m4   |    0
 codegen/m4/filelist.am                             |    7 +
 configure.ac                                       |   71 ++++++
 configure.in                                       |  128 -----------
 doc/Makefile.am                                    |   26 ++
 {docs => doc}/reference/Doxyfile.in                |  194 ++++++++++------
 {docs => doc}/reference/README                     |    0
 docs/Makefile.am                                   |    4 -
 docs/reference/Makefile.am                         |   27 ---
 examples/Makefile.am                               |   42 ++++-
 examples/Makefile.am_fragment                      |   11 -
 examples/bridge/Makefile.am                        |    7 -
 examples/chain/Makefile.am                         |    7 -
 examples/distance_joint/Makefile.am                |    7 -
 examples/pyramid/Makefile.am                       |    9 -
 examples/slides/Makefile.am                        |   10 -
 examples/table/Makefile.am                         |    9 -
 scripts/Makefile.am                                |    3 -
 scripts/depcomp                                    |    1 -
 scripts/install-sh                                 |    1 -
 scripts/macros.m4                                  |   65 ------
 scripts/missing                                    |    1 -
 tools/Makefile.am                                  |    7 -
 tools/m4/Makefile.am                               |    9 -
 tools/m4/Makefile_list_of_sources.am_fragment      |    1 -
 43 files changed, 624 insertions(+), 569 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index dd04e6a..6f4a67d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+0.9.1:
+
+2010-01-07  Murray Cumming  <murrayc murrayc com>
+
+	Changed build to use mm-common, like cluttermm.
+
 2009-11-17  Murray Cumming  <murrayc murrayc com>
  
 	* configure.in: Use cluttermm-1.0 (not API/ABI stable though).
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 b823a7f..39f41dd 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,24 +1,45 @@
-SUBDIRS		= tools clutter-box2d examples docs
-DIST_SUBDIRS	= $(SUBDIRS) scripts
+## Copyright (c) 2009  Openismus GmbH <http://www.openismus.com/>
+##
+## This file is part of clutter-box2dmm.
+##
+## clutter-box2dmm 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.
+##
+## clutter-box2dmm 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 = clutter-box2d/src
+else
+src_subdirs =
+endif
+if ENABLE_DOCUMENTATION
+doc_subdirs = doc
+else
+doc_subdirs =
+endif
+SUBDIRS = codegen $(src_subdirs) clutter-box2d/clutter-box2dmm examples $(doc_subdirs)
 
-all-local:
-	@echo "*** Everything completed ***"
+clutter_box2dmm_includedir = $(includedir)/$(CLUTTER_BOX2DMM_MODULE_NAME)
+clutter_box2dmm_include_HEADERS = clutter-box2d/clutter-box2dmm.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
+clutter_box2dmm_libincludedir = $(libdir)/$(CLUTTER_BOX2DMM_MODULE_NAME)/include
+nodist_clutter_box2dmm_libinclude_HEADERS = clutter-box2d/clutter-box2dmm-config.h
 
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = clutter-box2d/$(CLUTTER_BOX2DMM_MODULE_NAME).pc
+
+dist_noinst_SCRIPTS = autogen.sh
+
+# Optional: auto-generate the ChangeLog file from the git log on make dist
+#include $(top_srcdir)/build/dist-changelog.am
diff --git a/NEWS b/NEWS
index 63a7942..00ffc27 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,15 @@
+0.9.1:
+
+* Use cluttermm-1.0 and Use clutter-box2d-0.10.
+* Box2d:
+  - add_distance_joint(): Added default values.
+  -  Added explicit get/set_child_*() methods for all the ClutterBox2D 
+     child properties.
+  -  Used Clutter::Vertex instead of ClutterVertex for all parameters.
+* Examples:
+  Added examples/distance_joint/ as a simple example of a distance joint.
+  (Murray Cumming)
+
 0.7.3:
 
 Initial version, with examples.
diff --git a/autogen.sh b/autogen.sh
index b28f15d..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="clutter-box2dmm"
-
-(test -f $srcdir/configure.in \
-  && test -d $srcdir/clutter-box2d/src \
-  && test -d $srcdir/clutter-box2d/clutter-box2dmm) || {
-    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 || exit 1
-
-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/clutter-box2d/clutter-box2dmm-uninstalled.pc.in b/clutter-box2d/clutter-box2dmm-uninstalled.pc.in
new file mode 100644
index 0000000..451e2a7
--- /dev/null
+++ b/clutter-box2d/clutter-box2dmm-uninstalled.pc.in
@@ -0,0 +1,11 @@
+prefix= prefix@
+exec_prefix= exec_prefix@
+libdir= libdir@
+includedir= includedir@
+
+Name: clutter-box2dmm
+Description: C++ wrapper for clutter
+Requires: clutter-box2d-0.10 cluttermm- API_VER@
+Version: @VERSION@
+Libs: -L${libdir} -lclutter-box2dmm- API_VER@
+Cflags: -I${includedir}/clutter-box2dmm- API_VER@
diff --git a/clutter-box2d/clutter-box2dmm/Makefile.am b/clutter-box2d/clutter-box2dmm/Makefile.am
index 8f09fc8..e54ac20 100644
--- a/clutter-box2d/clutter-box2dmm/Makefile.am
+++ b/clutter-box2d/clutter-box2dmm/Makefile.am
@@ -1,23 +1,31 @@
-## Copyright (c) 2001
-## The cluttermm development team.
+## Copyright (c) 2009  Openismus GmbH <http://www.openismus.com/>
+##
+## This file is part of clutter-box2dmm.
+##
+## clutter-box2dmm 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.
+##
+## clutter-box2dmm 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 = libclutter-box2dmm- CLUTTER_BOX2DMM_API_VERSION@.la
 
-sublib_name = clutter-box2dmm
-sublib_libname = clutter-box2dmm-$(API_VER)
-sublib_libversion = $(CLUTTER_BOX2DMM_SO_VERSION)
-sublib_namespace = Clutter Box2D
-sublib_cflags = $(CLUTTER_BOX2DMM_CFLAGS) -I$(top_srcdir)/clutter
-sublib_topdir = clutter-box2d
+include $(srcdir)/../src/filelist.am
+include $(srcdir)/filelist.am
+include $(top_srcdir)/build/compile-binding.am
 
+local_cppflags = $(binding_includes) $(binding_cppflags) -DCLUTTER_BOX2DMM_BUILD=1
 
-files_extra_h	= wrap_init.h init.h
-files_extra_cc	= init.cc
-
-include $(top_srcdir)/build_shared/Makefile_build_gensrc.am_fragment
-
-lib_LTLIBRARIES = libclutter-box2dmm- API_VER@.la
-libclutter_box2dmm_ API_VER@_la_SOURCES = $(files_all_cc)
-libclutter_box2dmm_ API_VER@_la_LDFLAGS = $(common_ldflags)
-libclutter_box2dmm_ API_VER@_la_LIBADD = $(CLUTTER_BOX2DMM_LIBS)
+AM_CPPFLAGS = $(local_cppflags) $(CLUTTER_BOX2DMM_CFLAGS)
+AM_CXXFLAGS = $(CLUTTER_BOX2DMM_WXXFLAGS)
 
+libclutter_box2dmm_ CLUTTER_BOX2DMM_API_VERSION@_la_SOURCES = $(binding_sources)
+libclutter_box2dmm_ CLUTTER_BOX2DMM_API_VERSION@_la_LDFLAGS = -no-undefined -version-info $(CLUTTER_BOX2DMM_SO_VERSION)
+libclutter_box2dmm_ CLUTTER_BOX2DMM_API_VERSION@_la_LIBADD  = $(CLUTTER_BOX2DMM_LIBS)
diff --git a/clutter-box2d/clutter-box2dmm/filelist.am b/clutter-box2d/clutter-box2dmm/filelist.am
new file mode 100644
index 0000000..6102f4a
--- /dev/null
+++ b/clutter-box2d/clutter-box2dmm/filelist.am
@@ -0,0 +1,9 @@
+## This file is part of clutter-box2dmm.
+
+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  = init.h wrap_init.h
+files_extra_ph =
diff --git a/clutter-box2d/src/Makefile.am b/clutter-box2d/src/Makefile.am
index 7ce58c6..8000866 100644
--- a/clutter-box2d/src/Makefile.am
+++ b/clutter-box2d/src/Makefile.am
@@ -1,17 +1,23 @@
-## Copyright (c) 2001
-## The cluttermm development team.
+## Copyright (c) 2009  Openismus GmbH <http://www.openismus.com/>
+##
+## This file is part of clutter-box2dmm.
+##
+## cluttermm 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.
+##
+## cluttermm 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	= clutter-box2dmm
-#nested namespaces separated with spaces
-sublib_namespace = Clutter Box2D
-sublib_parentdir = clutter-box2dmm
-files_defs	= clutter-box2d.defs \
-			  clutter-box2d_methods.defs \
-			  clutter-box2d_signals.defs \
-			  clutter-box2d_enums.defs \
-			  clutter-box2d_vfuncs.defs \
-			  clutter-box2d_docs.xml \
-			  clutter-box2d_docs_override.xml
-
-include $(top_srcdir)/build_shared/Makefile_gensrc.am_fragment
+binding_name    = clutter-box2dmm
+wrap_init_flags = --namespace=Clutter --namespace=Box2D --parent_dir=clutter-box2dmm
 
+include $(srcdir)/filelist.am
+include $(top_srcdir)/codegen/m4/filelist.am
+include $(top_srcdir)/build/generate-binding.am
diff --git a/clutter-box2d/src/filelist.am b/clutter-box2d/src/filelist.am
new file mode 100644
index 0000000..60165d8
--- /dev/null
+++ b/clutter-box2d/src/filelist.am
@@ -0,0 +1,11 @@
+files_defs = clutter-box2d.defs \
+			  clutter-box2d_methods.defs \
+			  clutter-box2d_signals.defs \
+			  clutter-box2d_enums.defs \
+			  clutter-box2d_vfuncs.defs \
+			  clutter-box2d_docs.xml \
+			  clutter-box2d_docs_override.xml
+files_hg = box2d.hg
+
+
+files_ccg = $(files_hg:.hg=.ccg)
diff --git a/codegen/Makefile.am b/codegen/Makefile.am
new file mode 100644
index 0000000..a1af63a
--- /dev/null
+++ b/codegen/Makefile.am
@@ -0,0 +1,37 @@
+## Copyright (c) 2009  Openismus GmbH <http://www.openismus.com/>
+##
+## This file is part of clutter-box2dmm.
+##
+## clutter-box2dmm 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.
+##
+## clutter-box2dmm 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_private))
+
+codegen_m4dir = $(datadir)/$(CLUTTER_BOX2DMM_MODULE_NAME)/proc/m4
+dist_codegen_m4_DATA = $(addprefix m4/,$(files_codegen_m4_public))
+
+noinst_PROGRAMS = extradefs/generate_extra_defs
+
+extradefs_generate_extra_defs_SOURCES = extradefs/generate_extra_defs_clutter_box2d.cc
+extradefs_generate_extra_defs_LDADD   = $(CLUTTER_BOX2DMM_LIBS) -lglibmm_generate_extra_defs-2.4
+
+AM_CPPFLAGS = -I$(top_builddir) $(CLUTTER_BOX2DMM_CFLAGS)
+AM_CXXFLAGS = $(CLUTTER_BOX2DMM_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/Makefile.am b/codegen/extradefs/Makefile.am
similarity index 100%
rename from tools/extra_defs_gen/Makefile.am
rename to codegen/extradefs/Makefile.am
diff --git a/tools/extra_defs_gen/generate_defs_clutter_box2d.cc b/codegen/extradefs/generate_extra_defs_clutter_box2d.cc
similarity index 100%
rename from tools/extra_defs_gen/generate_defs_clutter_box2d.cc
rename to codegen/extradefs/generate_extra_defs_clutter_box2d.cc
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_clutter-box2dmm.m4 b/codegen/m4/convert_clutter-box2dmm.m4
similarity index 100%
rename from tools/m4/convert_clutter-box2dmm.m4
rename to codegen/m4/convert_clutter-box2dmm.m4
diff --git a/codegen/m4/filelist.am b/codegen/m4/filelist.am
new file mode 100644
index 0000000..98f59b7
--- /dev/null
+++ b/codegen/m4/filelist.am
@@ -0,0 +1,7 @@
+## This file is part of clutter-box2dmm.
+
+files_codegen_m4_private = convert.m4
+files_codegen_m4_public  = convert_clutter-box2dmm.m4
+
+files_codegen_m4 = $(files_codegen_m4_private) $(files_codegen_m4_public)
+
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 0000000..35d921d
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,71 @@
+## Copyright (c) 2009  Openismus GmbH <http://www.openismus.com/>
+##
+## This file is part of clutter-box2dmm.
+##
+## clutter-box2dmm 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.
+##
+## clutter-box2dmm 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/>.
+
+AC_INIT([clutter-box2dmm], [0.9.1],
+        [http://bugzilla.gnome.org/enter_bug.cgi?product=clutter-box2dmm],
+        [clutter-box2dmm], [http://www.gtkmm.org/])
+AC_PREREQ([2.59])
+
+AC_CONFIG_SRCDIR([clutter-box2d/clutter-box2dmm.h])
+AC_CONFIG_AUX_DIR([build])
+AC_CONFIG_MACRO_DIR([build])
+AC_CONFIG_HEADERS([build/config.h clutter-box2d/clutter-box2dmm-config.h])
+
+AM_INIT_AUTOMAKE([1.9 -Wno-portability check-news dist-bzip2 no-define nostdinc tar-pax])
+m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
+AM_MAINTAINER_MODE
+AC_ARG_VAR([ACLOCAL_FLAGS], [aclocal flags, e.g. -I <macro dir>])
+
+MM_PREREQ([0.8])
+MM_INIT_MODULE([clutter-box2dmm-0.10])
+
+# http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
+AC_SUBST([CLUTTER_BOX2DMM_SO_VERSION], [0:0:0])
+
+AC_PROG_CXX
+AC_DISABLE_STATIC
+AC_LIBTOOL_WIN32_DLL
+AC_PROG_LIBTOOL
+
+AC_SUBST([CLUTTER_BOX2DMM_MODULES], ['clutter-box2d-0.10 >= 0.10.0 cluttermm-1.0 >= 0.9.5'])
+PKG_CHECK_MODULES([CLUTTER_BOX2DMM], [$CLUTTER_BOX2DMM_MODULES])
+MM_PKG_CONFIG_SUBST([GMMPROC_DIR], [--variable=gmmprocdir glibmm-2.4])
+
+MM_ARG_ENABLE_DOCUMENTATION
+MM_ARG_WITH_TAGFILE_DOC([libstdc++.tag], [mm-common-libstdc++])
+MM_ARG_WITH_TAGFILE_DOC([libsigc++-2.0.tag], [sigc++-2.0])
+MM_ARG_WITH_TAGFILE_DOC([glibmm-2.4.tag], [glibmm-2.4])
+MM_ARG_WITH_TAGFILE_DOC([cairomm-1.0.tag], [cairomm-1.0])
+MM_ARG_WITH_TAGFILE_DOC([pangomm-1.4.tag], [pangomm-1.4])
+MM_ARG_WITH_TAGFILE_DOC([cluttermm-1.0.tag], [cluttermm-1.0])
+
+AC_LANG([C++])
+MM_ARG_ENABLE_WARNINGS([CLUTTER_BOX2DMM_WXXFLAGS],
+                       [-Wall],
+                       [-Wall -Wextra],
+                       [G PANGO])
+
+AC_CONFIG_FILES([Makefile
+                 codegen/Makefile
+                 clutter-box2d/${CLUTTER_BOX2DMM_MODULE_NAME}.pc:clutter-box2d/clutter-box2dmm.pc.in
+                 clutter-box2d/${CLUTTER_BOX2DMM_MODULE_NAME}-uninstalled.pc:clutter-box2d/clutter-box2dmm-uninstalled.pc.in
+                 clutter-box2d/src/Makefile
+                 clutter-box2d/clutter-box2dmm/Makefile
+                 examples/Makefile
+                 doc/Makefile
+                 doc/reference/Doxyfile])
+AC_OUTPUT
diff --git a/doc/Makefile.am b/doc/Makefile.am
new file mode 100644
index 0000000..ffd682c
--- /dev/null
+++ b/doc/Makefile.am
@@ -0,0 +1,26 @@
+## Copyright (c) 2009  Openismus GmbH <http://www.openismus.com/>
+##
+## This file is part of cluttermm.
+##
+## cluttermm 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.
+##
+## cluttermm 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)/clutter-box2d/src/filelist.am
+include $(top_srcdir)/clutter-box2d/clutter-box2dmm/filelist.am
+
+clutter_box2dmm_files_h = $(files_built_h) $(filter-out wrap_init.h,$(files_extra_h))
+
+book_name = $(CLUTTER_BOX2DMM_MODULE_NAME)
+doc_input = $(addprefix $(top_srcdir)/clutter-box2d/clutter-box2dmm/,$(clutter_box2dmm_files_h))
+
+include $(top_srcdir)/build/doc-reference.am
diff --git a/docs/reference/Doxyfile.in b/doc/reference/Doxyfile.in
similarity index 62%
rename from docs/reference/Doxyfile.in
rename to doc/reference/Doxyfile.in
index 2b2211c..cb3abab 100644
--- a/docs/reference/Doxyfile.in
+++ b/doc/reference/Doxyfile.in
@@ -1,67 +1,84 @@
-# Doxyfile 1.5.3
+# Doxyfile 1.6.1
 
 #---------------------------------------------------------------------------
 # Project related configuration options
 #---------------------------------------------------------------------------
 DOXYFILE_ENCODING      = UTF-8
-PROJECT_NAME           = clutter-cairomm
-PROJECT_NUMBER         = @CLUTTER_BOX2DMM_VERSION@
-OUTPUT_DIRECTORY       = 
+PROJECT_NAME           = @PACKAGE_NAME@
+PROJECT_NUMBER         = @PACKAGE_VERSION@
+OUTPUT_DIRECTORY       = reference
 CREATE_SUBDIRS         = NO
 OUTPUT_LANGUAGE        = English
 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@/clutter-box2d/" \
+                         "@abs_top_srcdir@/clutter-box2d/" \
+                         "@abs_top_builddir@/" \
+                         "@abs_top_srcdir@/"
+STRIP_FROM_INC_PATH    = "@abs_top_builddir@/clutter-box2d/" \
+                         "@abs_top_srcdir@/clutter-box2d/" \
+                         "@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
 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
-BUILTIN_STL_SUPPORT    = YES
+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
 EXTRACT_ANON_NSPACES   = NO
-HIDE_UNDOC_MEMBERS     = NO
-HIDE_UNDOC_CLASSES     = NO
-HIDE_FRIEND_COMPOUNDS  = NO
-HIDE_IN_BODY_DOCS      = 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_MEMBERS_CTORS_1ST = 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
 #---------------------------------------------------------------------------
@@ -70,25 +87,34 @@ WARNINGS               = YES
 WARN_IF_UNDOCUMENTED   = YES
 WARN_IF_DOC_ERROR      = YES
 WARN_NO_PARAMDOC       = NO
-WARN_FORMAT            = "$file:$line: $text "
-WARN_LOGFILE           = 
+WARN_FORMAT            = "$file:$line: $text"
+WARN_LOGFILE           = reference/doxygen.log
 #---------------------------------------------------------------------------
 # configuration options related to the input files
 #---------------------------------------------------------------------------
-INPUT                  = @top_builddir@/clutter-cairo/clutter-cairomm
+INPUT                  =
 INPUT_ENCODING         = UTF-8
-FILE_PATTERNS          = *.h
+FILE_PATTERNS          =
 RECURSIVE              = NO
-EXCLUDE                = 
+EXCLUDE                =
 EXCLUDE_SYMLINKS       = NO
-EXCLUDE_PATTERNS       = 
-EXCLUDE_SYMBOLS        = 
-EXAMPLE_PATH           = 
-EXAMPLE_PATTERNS       = 
+EXCLUDE_PATTERNS       =
+EXCLUDE_SYMBOLS        = _* \
+                         adaptor_trait \
+                         basic_filebuf \
+                         basic_streambuf \
+                         binary_function \
+                         char_traits \
+                         internal \
+                         pair \
+                         unary_function
+EXAMPLE_PATH           = "@abs_top_srcdir@/examples"
+EXAMPLE_PATTERNS       = *.cc \
+                         *.h
 EXAMPLE_RECURSIVE      = NO
-IMAGE_PATH             = 
-INPUT_FILTER           = 
-FILTER_PATTERNS        = 
+IMAGE_PATH             =
+INPUT_FILTER           =
+FILTER_PATTERNS        =
 FILTER_SOURCE_FILES    = NO
 #---------------------------------------------------------------------------
 # configuration options related to source browsing
@@ -96,15 +122,15 @@ FILTER_SOURCE_FILES    = NO
 SOURCE_BROWSER         = NO
 INLINE_SOURCES         = NO
 STRIP_CODE_COMMENTS    = YES
-REFERENCED_BY_RELATION = YES
-REFERENCES_RELATION    = YES
+REFERENCED_BY_RELATION = NO
+REFERENCES_RELATION    = NO
 REFERENCES_LINK_SOURCE = YES
 USE_HTAGS              = NO
-VERBATIM_HEADERS       = YES
+VERBATIM_HEADERS       = NO
 #---------------------------------------------------------------------------
 # configuration options related to the alphabetical class index
 #---------------------------------------------------------------------------
-ALPHABETICAL_INDEX     = YES
+ALPHABETICAL_INDEX     = NO
 COLS_IN_ALPHA_INDEX    = 5
 IGNORE_PREFIX          = 
 #---------------------------------------------------------------------------
@@ -113,21 +139,36 @@ IGNORE_PREFIX          =
 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
-GENERATE_HTMLHELP      = NO
 HTML_DYNAMIC_SECTIONS  = NO
-CHM_FILE               = 
-HHC_LOCATION           = 
+GENERATE_DOCSET        = NO
+DOCSET_FEEDNAME        = "Doxygen generated docs"
+DOCSET_BUNDLE_ID       = org.doxygen.Project
+GENERATE_HTMLHELP      = NO
+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
+USE_INLINE_TREES       = NO
 TREEVIEW_WIDTH         = 250
+FORMULA_FONTSIZE       = 10
+SEARCHENGINE           = NO
 #---------------------------------------------------------------------------
 # configuration options related to the LaTeX output
 #---------------------------------------------------------------------------
@@ -182,54 +223,59 @@ PERLMOD_MAKEVAR_PREFIX =
 # 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 \
+INCLUDE_PATH           = "@abs_top_builddir@/clutter-box2d" \
+                         "@abs_top_srcdir@/clutter-box2d"
+INCLUDE_FILE_PATTERNS  =
+PREDEFINED             = __cplusplus \
+                         DOXYGEN_SHOULD_SKIP_THIS \
+                         "G_GNUC_CONST=" \
+                         "CLUTTERMM_API=" \
                          GLIBMM_VFUNCS_ENABLED \
+                         GLIBMM_PROPERTIES_ENABLED \
+                         GLIBMM_EXCEPTIONS_ENABLED \
                          GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
-EXPAND_AS_DEFINED      = 
+EXPAND_AS_DEFINED      = CLUTTER_BOX2DMM_MAJOR_VERSION \
+                         CLUTTER_BOX2DMM_MINOR_VERSION \
+                         CLUTTER_BOX2DMM_MICRO_VERSION
 SKIP_FUNCTION_MACROS   = YES
 #---------------------------------------------------------------------------
 # Configuration::additions related to external references   
 #---------------------------------------------------------------------------
 TAGFILES               = 
-GENERATE_TAGFILE       = 
+GENERATE_TAGFILE       = "reference/@CLUTTER_BOX2DMM_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
-MSCGEN_PATH            = 
+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           = 
+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   
-#---------------------------------------------------------------------------
-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/examples/Makefile.am b/examples/Makefile.am
index be010ef..a860317 100644
--- a/examples/Makefile.am
+++ b/examples/Makefile.am
@@ -1,3 +1,43 @@
-SUBDIRS = bridge chain pyramid slides table distance_joint
+## Copyright (c) 2009  Openismus GmbH  <http://www.openismus.com/>
+##
+## This file is part of clutter-box2dmm.
+##
+## clutter-box2dmm 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.
+##
+## clutter-box2dmm 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 library.  If not, see <http://www.gnu.org/licenses/>.
+
+AUTOMAKE_OPTIONS = subdir-objects
+
+EXTRA_DIST = pyramid/gnome_logo.png slides/gnome_logo.png table/gnome_logo.png
+
+
+check_PROGRAMS = bridge/example chain/example pyramid/example slides/example table/example distance_joint/example
+
+clutter_box2dmm_includes = -I$(top_builddir)/clutter-box2d $(if $(srcdir:.=),-I$(top_srcdir)/clutter-box2d)
+
+AM_CPPFLAGS = -I$(top_builddir) $(clutter_box2dmm_includes) $(CLUTTER_BOX2DMM_CFLAGS)
+AM_CXXFLAGS = $(CLUTTER_BOX2DMM_WXXFLAGS)
+
+LDADD = $(CLUTTER_BOX2DMM_LIBS) $(top_builddir)/clutter-box2d/clutter-box2dmm/libclutter-box2dmm-$(CLUTTER_BOX2DMM_API_VERSION).la
+
+bridge_example_SOURCES = bridge/main.cc
+chain_example_SOURCES = chain/main.cc
+pyramid_example_SOURCES = pyramid/main.cc
+slides_example_SOURCES = slides/main.cc
+table_example_SOURCES = table/main.cc
+distance_joint_example_SOURCES = distance_joint/main.cc
+
+
+
+
 
 



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