From: Emmanuele Bassi Date: Tue, 14 Apr 2009 16:16:41 +0000 (+0100) Subject: [build] Improve build environment X-Git-Url: http://vcs.maemo.org/git/?a=commitdiff_plain;h=42da1d2aeb955eebba382f1a142e15d7273021c8;hp=87ff77386cc502a0beed6bd1e1398c449e607e9f;p=clutter-gtk [build] Improve build environment * De-crustify the configure.ac file by using AS_IF(), AS_CASE() and other useful macros * Update all the variables * Fix the pkg-config file Requires:, and expose the flavour and API version as variables * Fix the autogen.sh script * Use Shave to clean up the libtool and gcc incantations and make the output useful again --- diff --git a/Makefile.am b/Makefile.am index 5211eca..57c2fd7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,7 +1,13 @@ +ACLOCAL_AMFLAGS = -I build/autotools + +V = @ +Q = $(V:1=) +QUIET_GEN = $(Q:@=@echo ' GEN '$@;) + SUBDIRS = clutter-gtk doc examples clutter-gtk-0.9.pc: clutter-gtk.pc - @cp -f clutter-gtk.pc clutter-gtk-0.9.pc + $(QUIET_GEN)cp -f clutter-gtk.pc clutter-gtk-0.9.pc pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = clutter-gtk-0.9.pc @@ -12,4 +18,4 @@ DISTCLEANFILES = clutter-gtk.pc EXTRA_DIST = clutter-gtk.pc.in -DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc +DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --enable-maintainer-flags diff --git a/autogen.sh b/autogen.sh index aecfb84..f5feee2 100755 --- a/autogen.sh +++ b/autogen.sh @@ -1,4 +1,28 @@ #! /bin/sh -gtkdocize || exit 1 -autoreconf -v --install || exit 1 -./configure --enable-maintainer-mode "$@" + +PKG_NAME=Clutter-Gtk +TEST_TYPE=-d +FILE=clutter-gtk + +srcdir=`dirname $0` +test -z "$srcdir" && srcdir=. + +test $TEST_TYPE $FILE || { + echo "You must run this script in the top-level $PROJECT directory" + exit 1 +} + +gtkdocize || exit $? + +# we need to patch gtk-doc.make to support pretty output with +# libtool 1.x. Should be fixed in the next version of gtk-doc. +# To be more resilient with the various versions of gtk-doc one +# can find, just sed gkt-doc.make rather than patch it. +sed -e 's#) --mode=compile#) --tag=CC --mode=compile#' gtk-doc.make > gtk-doc.temp \ + && mv gtk-doc.temp gtk-doc.make +sed -e 's#) --mode=link#) --tag=CC --mode=link#' gtk-doc.make > gtk-doc.temp \ + && mv gtk-doc.temp gtk-doc.make + +ACLOCAL="${ACLOCAL-aclocal} $ACLOCAL_FLAGS" autoreconf -v --install || exit $? + +./configure "$@" && echo Now type make to compile $PKG_NAME. diff --git a/build/Makefile.am b/build/Makefile.am new file mode 100644 index 0000000..8c90237 --- /dev/null +++ b/build/Makefile.am @@ -0,0 +1 @@ +SUBDIRS = autotools diff --git a/build/autotools/Makefile.am b/build/autotools/Makefile.am new file mode 100644 index 0000000..a17717f --- /dev/null +++ b/build/autotools/Makefile.am @@ -0,0 +1,3 @@ +EXTRA_DIST = shave-libtool.in shave.in shave.m4 + +DISTCLEANFILES = shave-libtool shave diff --git a/build/autotools/shave-libtool.in b/build/autotools/shave-libtool.in new file mode 100644 index 0000000..1f3a720 --- /dev/null +++ b/build/autotools/shave-libtool.in @@ -0,0 +1,69 @@ +#!/bin/sh + +# we need sed +SED=@SED@ +if test -z "$SED" ; then +SED=sed +fi + +lt_unmangle () +{ + last_result=`echo $1 | $SED -e 's#.libs/##' -e 's#[0-9a-zA-Z_\-\.]*_la-##'` +} + +# the real libtool to use +LIBTOOL="$1" +shift + +# if 1, don't print anything, the underlaying wrapper will do it +pass_though=0 + +# scan the arguments, keep the right ones for libtool, and discover the mode +preserved_args= +while test "$#" -gt 0; do + opt="$1" + shift + + case $opt in + --mode=*) + mode=`echo $opt | $SED -e 's/[-_a-zA-Z0-9]*=//'` + preserved_args="$preserved_args $opt" + ;; + -o) + lt_output="$1" + preserved_args="$preserved_args $opt" + ;; + *) + preserved_args="$preserved_args $opt" + ;; + esac +done + +case "$mode" in +compile) + # shave will be called and print the actual CC/CXX/LINK line + preserved_args="$preserved_args --shave-mode=$mode" + pass_though=1 + ;; +link) + preserved_args="$preserved_args --shave-mode=$mode" + Q=" LINK " + ;; +*) + # let's u + # echo "*** libtool: Unimplemented mode: $mode, fill a bug report" + ;; +esac + +lt_unmangle "$lt_output" +output=$last_result + +if test -z $V; then + if test $pass_though -eq 0; then + echo "$Q$output" + fi + $LIBTOOL --silent $preserved_args +else + echo $LIBTOOL $preserved_args + $LIBTOOL $preserved_args +fi diff --git a/build/autotools/shave.in b/build/autotools/shave.in new file mode 100644 index 0000000..5c16f27 --- /dev/null +++ b/build/autotools/shave.in @@ -0,0 +1,79 @@ +#!/bin/sh + +# we need sed +SED=@SED@ +if test -z "$SED" ; then +SED=sed +fi + +lt_unmangle () +{ + last_result=`echo $1 | $SED -e 's#.libs/##' -e 's#[0-9a-zA-Z_\-\.]*_la-##'` +} + +# the tool to wrap (cc, cxx, ar, ranlib, ..) +tool="$1" +shift + +# the reel tool (to call) +REEL_TOOL="$1" +shift + +pass_through=0 +preserved_args= +while test "$#" -gt 0; do + opt="$1" + shift + + case $opt in + --shave-mode=*) + mode=`echo $opt | $SED -e 's/[-_a-zA-Z0-9]*=//'` + ;; + -o) + lt_output="$1" + preserved_args="$preserved_args $opt" + ;; + *) + preserved_args="$preserved_args $opt" + ;; + esac +done + +# mode=link is handled in the libtool wrapper +case "$mode,$tool" in +link,*) + pass_through=1 + ;; +*,cxx) + Q=" CXX " + ;; +*,cc) + Q=" CC " + ;; +*,fc) + Q=" FC " + ;; +*,f77) + Q=" F77 " + ;; +*,objc) + Q=" OBJC " + ;; +*,*) + # should not happen + Q=" CC " + ;; +esac + +lt_unmangle "$lt_output" +output=$last_result + +if test -z $V; then + if test $pass_through -eq 0; then + echo "$Q$output" + fi + $REEL_TOOL $preserved_args +else + echo $REEL_TOOL $preserved_args + $REEL_TOOL $preserved_args +fi diff --git a/build/autotools/shave.m4 b/build/autotools/shave.m4 new file mode 100644 index 0000000..0a3509e --- /dev/null +++ b/build/autotools/shave.m4 @@ -0,0 +1,77 @@ +dnl Make automake/libtool output more friendly to humans +dnl Damien Lespiau +dnl +dnl SHAVE_INIT([shavedir],[default_mode]) +dnl +dnl shavedir: the directory where the shave scripts are, it defaults to +dnl $(top_builddir) +dnl default_mode: (enable|disable) default shave mode. This parameter +dnl controls shave's behaviour when no option has been +dnl given to configure. It defaults to disable. +dnl +dnl * SHAVE_INIT should be called late in your configure.(ac|in) file (just +dnl before AC_CONFIG_FILE/AC_OUTPUT is perfect. This macro rewrites CC and +dnl LIBTOOL, you don't want the configure tests to have these variables +dnl re-defined. +dnl * This macro requires GNU make's -s option. + +AC_DEFUN([_SHAVE_ARG_ENABLE], +[ + AC_ARG_ENABLE([shave], + AS_HELP_STRING( + [--enable-shave], + [use shave to make the build pretty [[default=$1]]]),, + [enable_shave=$1] + ) +]) + +AC_DEFUN([SHAVE_INIT], +[ + dnl you can tweak the default value of enable_shave + m4_if([$2], [enable], [_SHAVE_ARG_ENABLE(yes)], [_SHAVE_ARG_ENABLE(no)]) + + if test x"$enable_shave" = xyes; then + dnl where can we find the shave scripts? + m4_if([$1],, + [shavedir="$ac_pwd"], + [shavedir="$ac_pwd/$1"]) + AC_SUBST(shavedir) + + dnl make is now quiet + AC_SUBST([MAKEFLAGS], [-s]) + AC_SUBST([AM_MAKEFLAGS], ['`test -z $V && echo -s`']) + + dnl we need sed + AC_CHECK_PROG(SED,sed,sed,false) + + dnl substitute libtool + SHAVE_SAVED_LIBTOOL=$LIBTOOL + LIBTOOL="${SHELL} ${shavedir}/shave-libtool '${SHAVE_SAVED_LIBTOOL}'" + AC_SUBST(LIBTOOL) + + dnl substitute cc/cxx + SHAVE_SAVED_CC=$CC + SHAVE_SAVED_CXX=$CXX + SHAVE_SAVED_FC=$FC + SHAVE_SAVED_F77=$F77 + SHAVE_SAVED_OBJC=$OBJC + CC="${SHELL} ${shavedir}/shave cc ${SHAVE_SAVED_CC}" + CXX="${SHELL} ${shavedir}/shave cxx ${SHAVE_SAVED_CXX}" + FC="${SHELL} ${shavedir}/shave fc ${SHAVE_SAVED_FC}" + F77="${SHELL} ${shavedir}/shave f77 ${SHAVE_SAVED_F77}" + OBJC="${SHELL} ${shavedir}/shave objc ${SHAVE_SAVED_OBJC}" + AC_SUBST(CC) + AC_SUBST(CXX) + AC_SUBST(FC) + AC_SUBST(F77) + AC_SUBST(OBJC) + + V=@ + else + V=1 + fi + Q='$(V:1=)' + AC_SUBST(V) + AC_SUBST(Q) +]) + diff --git a/clutter-gtk.pc.in b/clutter-gtk.pc.in index d00ff68..16a88b1 100644 --- a/clutter-gtk.pc.in +++ b/clutter-gtk.pc.in @@ -1,11 +1,13 @@ prefix=@prefix@ -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ +flavour=@CLUTTER_GTK_FLAVOUR@ +apiversion=@CLUTTER_GTK_API_VERSION@ Name: clutter-gtk Description: GTK+ widget for Clutter Version: @VERSION@ Libs: -L${libdir} -lclutter-gtk-0.9 Cflags: -I${includedir}/clutter-0.9/clutter-gtk -Requires: clutter-x11-0.9 gtk+-2.0 +Requires: @CLUTTER_GTK_REQUIRES@ diff --git a/clutter-gtk/Makefile.am b/clutter-gtk/Makefile.am index 1f487e0..b4ade95 100644 --- a/clutter-gtk/Makefile.am +++ b/clutter-gtk/Makefile.am @@ -9,28 +9,33 @@ INCLUDES = \ -DGDK_PIXBUF_DISABLE_DEPRECATED \ -DGDK_DISABLE_DEPRECATED \ -DGTK_DISABLE_DEPRECATED \ - $(CLUTTER_DEBUG_FLAGS) \ - $(GCC_FLAGS) \ - $(CLUTTER_CFLAGS) \ + -DCLUTTER_DISABLE_DEPRECATED + +AM_CPPFLAGS = \ + $(CLUTTER_GTK_DEBUG_CFLAGS) \ + $(MAINTAINER_CFLAGS) \ + $(CLUTTER_CFLAGS) \ $(GTK_CFLAGS) lib_LTLIBRARIES = libclutter-gtk-0.9.la # please, keep the list sorted alphabetically -libclutter_gtk_0_9_la_SOURCES = \ - gtk-clutter-embed.c \ - gtk-clutter-scrollable.c \ - gtk-clutter-util.c \ +libclutter_gtk_0_9_la_SOURCES = \ + gtk-clutter-embed.c \ + gtk-clutter-scrollable.c \ + gtk-clutter-util.c \ gtk-clutter-viewport.c + libclutter_gtk_0_9_la_LIBADD = $(CLUTTER_LIBS) $(GTK_LIBS) + libclutter_gtk_0_9_la_LDFLAGS = $(CLUTTER_LT_LDFLAGS) cluttergtkheadersdir = $(includedir)/clutter-0.9/clutter-gtk # please, keep the list sorted alphabetically -cluttergtkheaders_HEADERS = \ - clutter-gtk.h \ - gtk-clutter-embed.h \ - gtk-clutter-scrollable.h \ - gtk-clutter-util.h \ +cluttergtkheaders_HEADERS = \ + clutter-gtk.h \ + gtk-clutter-embed.h \ + gtk-clutter-scrollable.h \ + gtk-clutter-util.h \ gtk-clutter-viewport.h diff --git a/configure.ac b/configure.ac index fe4de51..87597a4 100644 --- a/configure.ac +++ b/configure.ac @@ -1,52 +1,51 @@ # clutter package version number, (as distinct from shared library version) -# An odd micro number indicates in-progress development, (eg. from CVS) +# An odd micro number indicates in-progress development, (eg. from git) # An even micro number indicates a released version. -m4_define([clutter_major_version], [0]) -m4_define([clutter_minor_version], [9]) -m4_define([clutter_micro_version], [0]) +m4_define([clutter_gtk_major], [0]) +m4_define([clutter_gtk_minor], [9]) +m4_define([clutter_gtk_micro], [0]) -m4_define([clutter_version], - [clutter_major_version.clutter_minor_version.clutter_micro_version]) - -m4_define([clutter_api_version], - [clutter_major_version.clutter_minor_version]) +m4_define([clutter_gtk_api_version], [clutter_gtk_major.clutter_gtk_minor]) +m4_define([clutter_gtk_version], [clutter_gtk_major.clutter_gtk_minor.clutter_gtk_micro]) # increase the interface age for each release; if the API changes, set to 0 -m4_define([clutter_interface_age], [0]) -m4_define([clutter_binary_age], - [m4_eval(100 * clutter_minor_version + clutter_micro_version)]) +m4_define([clutter_gtk_interface_age], [0]) +m4_define([clutter_gtk_binary_age], [m4_eval(100 * clutter_gtk_minor + clutter_gtk_micro)]) -AC_PREREQ(2.53) +AC_PREREQ([2.59]) AC_INIT([clutter-gtk], - [clutter_version], + [clutter_gtk_version], [http://bugzilla.o-hand.com/enter_bug.cgi?product=Clutter]) -AC_CONFIG_SRCDIR([clutter-gtk/gtk-clutter-embed.h]) +AC_CONFIG_SRCDIR([clutter-gtk/clutter-gtk.h]) +AC_CONFIG_MACRO_DIR([build/autotools]) + AM_CONFIG_HEADER([config.h]) AM_INIT_AUTOMAKE([1.9]) -CLUTTER_GTK_MAJOR_VERSION=clutter_major_version -CLUTTER_GTK_MINOR_VERSION=clutter_minor_version -CLUTTER_GTK_MICRO_VERSION=clutter_micro_version -CLUTTER_GTK_VERSION=clutter_version +CLUTTER_GTK_MAJOR_VERSION=clutter_gtk_major +CLUTTER_GTK_MINOR_VERSION=clutter_gtk_minor +CLUTTER_GTK_MICRO_VERSION=clutter_gtk_micro +CLUTTER_GTK_API_VERSION=clutter_gtk_api_version +CLUTTER_GTK_VERSION=clutter_gtk_version AC_SUBST(CLUTTER_GTK_MAJOR_VERSION) AC_SUBST(CLUTTER_GTK_MINOR_VERSION) AC_SUBST(CLUTTER_GTK_MICRO_VERSION) +AC_SUBST(CLUTTER_GTK_API_VERSION) AC_SUBST(CLUTTER_GTK_VERSION) -m4_define([lt_current], - [m4_eval(100 * clutter_minor_version + clutter_micro_version - clutter_interface_age)]) -m4_define([lt_revision], [clutter_interface_age]) -m4_define([lt_age], [m4_eval(clutter_binary_age - clutter_interface_age)]) -CLUTTER_LT_CURRENT=lt_current -CLUTTER_LT_REV=lt_revision -CLUTTER_LT_AGE=lt_age -CLUTTER_LT_VERSION="$CLUTTER_LT_CURRENT:$CLUTTER_LT_REV:$CLUTTER_LT_AGE" -CLUTTER_LT_LDFLAGS="-version-info $CLUTTER_LT_VERSION" +m4_define([lt_current], [m4_eval(100 * clutter_gtk_minor + clutter_gtk_micro - clutter_gtk_interface_age)]) +m4_define([lt_revision], [clutter_gtk_interface_age]) +m4_define([lt_age], [m4_eval(clutter_gtk_binary_age - clutter_gtk_interface_age)]) +CLUTTER_GTK_LT_CURRENT=lt_current +CLUTTER_GTK_LT_REV=lt_revision +CLUTTER_GTK_LT_AGE=lt_age +CLUTTER_GTK_LT_VERSION="$CLUTTER_GTK_LT_CURRENT:$CLUTTER_GTK_LT_REV:$CLUTTER_GTK_LT_AGE" +CLUTTER_GTK_LT_LDFLAGS="-version-info $CLUTTER_GTK_LT_VERSION" -AC_SUBST(CLUTTER_LT_VERSION) -AC_SUBST(CLUTTER_LT_LDFLAGS) +AC_SUBST(CLUTTER_GTK_LT_VERSION) +AC_SUBST(CLUTTER_GTK_LT_LDFLAGS) dnl ======================================================================== @@ -55,91 +54,115 @@ AC_PROG_CC AC_DISABLE_STATIC AC_PROG_LIBTOOL -# Checks for header files. -AC_HEADER_STDC -AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h]) - -# Checks for typedefs, structures, and compiler characteristics. -AC_C_CONST - -# Checks for library functions. -AC_FUNC_MALLOC -AC_FUNC_MMAP -AC_CHECK_FUNCS([memset munmap strcasecmp strdup]) - -CLUTTER_REQUIRED=0.9.0 - -cluttergtkflavour=x11 +m4_define([clutter_req_version], [0.9.0]) +m4_define([gtk_req_version], [2.12.0]) +m4_define([flavour_default], [x11]) AC_ARG_WITH([flavour], - AC_HELP_STRING([--with-flavour=@<:@x11/win32@:>@], - [Select the Clutter backend]), - cluttergtkflavour=$with_flavour) - -case $cluttergtkflavour in - - x11) - AC_DEFINE([HAVE_CLUTTER_GTK_X11], 1, [Using the X11 flavour]) - PKG_CHECK_MODULES(CLUTTER, clutter-x11-0.9 >= $CLUTTER_REQUIRED) - ;; - - win32) - AC_DEFINE([HAVE_CLUTTER_GTK_WIN32], 1, [Using the Win32 flavour]) - PKG_CHECK_MODULES(CLUTTER, clutter-win32-0.9 >= $CLUTTER_REQUIRED) - ;; - - *) - AC_MSG_ERROR([Invalid flavour for Clutter-GTK: use x11 or win32]) - ;; - -esac + [AC_HELP_STRING([--with-flavour=@<:@x11/win32@:>@], + [Select the Clutter backend, default=flavour_default])], + [], + [with_flavour=flavour_default]) + +AS_CASE([$with_flavour], + [x11], [ + AC_DEFINE([HAVE_CLUTTER_GTK_X11], 1, [Using the X11 flavour]) + PKG_CHECK_MODULES(CLUTTER, clutter-x11-0.9 >= clutter_req_version) + PKG_CHECK_MODULES(GTK, gtk+-x11-2.0 >= gtk_req_version) + CLUTTER_GTK_REQUIRES="clutter-x11-0.9 gtk+-x11-2.0" + ], + + [win32], [ + AC_DEFINE([HAVE_CLUTTER_GTK_WIN32], 1, [Using the Win32 flavour]) + PKG_CHECK_MODULES(CLUTTER, clutter-win32-0.9 >= $CLUTTER_REQUIRED) + PKG_CHECK_MODULES(GTK, gtk+-win32-2.0 >= gtk_req_version) + CLUTTER_GTK_REQUIRES="clutter-win32-0.9 gtk+-win32-2.0" + ] + + [AC_MSG_ERROR([Invalid argument for --with-flavour])] +) + +CLUTTER_GTK_FLAVOUR=$with_flavour +AC_SUBST(CLUTTER_GTK_FLAVOUR) + +AC_SUBST(CLUTTER_GTK_REQUIRES) AC_SUBST(CLUTTER_CFLAGS) AC_SUBST(CLUTTER_LIBS) -PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.12) AC_SUBST(GTK_CFLAGS) AC_SUBST(GTK_LIBS) -dnl ======================================================================== +dnl = Enable debug level =================================================== -if test "x$GCC" = "xyes"; then - GCC_FLAGS="-g -Wall" -fi +m4_define([debug_default], [m4_if(m4_eval(clutter_gtk_minor % 2), [1], [yes], [minimum])]) +AC_ARG_ENABLE([debug], + [AC_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@], + [Turns on debugging. @<:@default=debug_default@:>@])], + [], + [enable_debug=debug_default]) -dnl = Enable debug level =================================================== +AS_CASE([$enable_debug], + + [yes], [ + test "$cflags_set" = set || CFLAGS="$CFLAGS -g" + CLUTTER_GTK_DEBUG_CFLAGS="-DCLUTTER_GTK_ENABLE_DEBUG" + ], + + [minimum], [ + CLUTTER_GTK_DEBUG_CFLAGS="-DCLUTTER_GTK_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS" + ], -m4_define([debug_default], - m4_if(m4_eval(clutter_minor_version % 2), [1], [yes], [minimum])) + [no], [ + CLUTTER_GTK_DEBUG_CFLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS" + ], -AC_ARG_ENABLE(debug, - AC_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@], - [turn on debugging. yes; All glib asserts, checks and runtime clutter verbose messages. minimum; Just glib cast checks and runtime clutter verbose messagaes. no; No glib asserts or checks and no runtime clutter verbose messages. @<:@default=debug_default@:>@]), -, - enable_debug=debug_default) + [AC_MSG_ERROR([Invalid argument for --enable-debug])] +) -if test "x$enable_debug" = "xyes"; then - test "$cflags_set" = set || CFLAGS="$CFLAGS -g" - CLUTTER_DEBUG_CFLAGS="-DCLUTTER_ENABLE_DEBUG" -else - if test "x$enable_debug" = "xno"; then - CLUTTER_DEBUG_CFLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS" - else # minimum - CLUTTER_DEBUG_CFLAGS="-DCLUTTER_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS" - fi -fi +AC_SUBST(CLUTTER_GTK_DEBUG_CFLAGS) -AC_SUBST(CLUTTER_DEBUG_CFLAGS) +# use strict compiler flags only on development releases +m4_define([maintainer_flags_default], [m4_if(m4_eval(clutter_gtk_minor % 2), [1], [yes], [no])]) +AC_ARG_ENABLE([maintainer-flags], + [AC_HELP_STRING([--enable-maintainer-flags=@<:@no/yes@:>@], + [Use strict compiler flags @<:@default=no@:>@])], + [], + [enable_maintainer_flags=maintainer_flags_default]) + +MAINTAINER_CFLAGS="" +AS_IF([test "x$enable_maintainer_flags" = "xyes" && test "x$GCC" = "xyes"], + [ + MAINTAINER_CFLAGS="-Werror -Wall -Wshadow -Wcast-align -Wno-uninitialized -Wempty-body -Wformat-security -Winit-self" + ] +) + +AC_SUBST(MAINTAINER_CFLAGS) dnl = GTK Doc check ======================================================== -GTK_DOC_CHECK([1.8]) +G_PREFIX=`$PKG_CONFIG --variable=prefix glib-2.0` +GDK_PREFIX=`$PKG_CONFIG --variable=prefix gdk-2.0` +GTK_PREFIX=`$PKG_CONFIG --variable=prefix gtk+-2.0` +GDK_PIXBUF_PREFIX=`$PKG_CONFIG --variable=prefix gdk-pixbuf-2.0` +CLUTTER_PREFIX=`$PKG_CONFIG --variable=prefix clutter-0.9` +AC_SUBST(G_PREFIX) +AC_SUBST(GDK_PREFIX) +AC_SUBST(GTK_PREFIX) +AC_SUBST(GDK_PIXBUF_PREFIX) +AC_SUBST(CLUTTER_PREFIX) + +GTK_DOC_CHECK([1.11]) dnl ======================================================================== -AC_SUBST(GCC_FLAGS) +SHAVE_INIT([build/autotools], [enable]) AC_CONFIG_FILES([ Makefile + build/Makefile + build/autotools/Makefile + build/autotools/shave-libtool + build/autotools/shave clutter-gtk/Makefile doc/Makefile doc/reference/Makefile @@ -158,7 +181,8 @@ echo " ===================" echo "" echo " prefix: ${prefix}" echo "" -echo " Flavour: ${cluttergtkflavour}" +echo " Flavour: ${CLUTTER_GTK_FLAVOUR}" echo " Debug level: ${enable_debug}" echo " Documentation: ${enable_gtk_doc}" +echo " Compiler flags: $MAINTAINER_CFLAGS" echo "" diff --git a/doc/reference/Makefile.am b/doc/reference/Makefile.am index 2a29971..9701c3c 100644 --- a/doc/reference/Makefile.am +++ b/doc/reference/Makefile.am @@ -1,8 +1,5 @@ ## Process this file with automake to produce Makefile.in -# We require automake 1.6 at least. -AUTOMAKE_OPTIONS = 1.6 - # This is a blank Makefile.am for using gtk-doc. # Copy this to your project's API docs directory and modify the variables to # suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples @@ -29,7 +26,7 @@ SCAN_OPTIONS= # Extra options to supply to gtkdoc-mkdb. # e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml -MKDB_OPTIONS=--sgml-mode --output-format=xml +MKDB_OPTIONS=--sgml-mode --output-format=xml --name-space=gtk_clutter # Extra options to supply to gtkdoc-mktmpl # e.g. MKTMPL_OPTIONS=--only-section-tmpl @@ -37,7 +34,13 @@ MKTMPL_OPTIONS= # Extra options to supply to gtkdoc-fixref. Not normally needed. # e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html -FIXXREF_OPTIONS= +FIXXREF_OPTIONS=\ + --extra-dir=$(G_PREFIX)/share/gtk-doc/html/glib \ + --extra-dir=$(G_PREFIX)/share/gtk-doc/html/gobject \ + --extra-dir=$(GDK_PREFIX)/share/gtk-doc/html/gdk \ + --extra-dir=$(GTK_PREFIX)/share/gtk-doc/html/gtk \ + --extra-dir=$(GDK_PIXBUF_PREFIX)/share/gtk-doc/html/gdk-pixbuf \ + --extra-dir=$(CLUTTER_PREFIX)/share/gtk-doc/html/clutter # Used for dependencies. The docs will be rebuilt if any of these change. # e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h @@ -55,7 +58,7 @@ HTML_IMAGES= # Extra SGML files that are included by $(DOC_MAIN_SGML_FILE). # e.g. content_files=running.sgml building.sgml changes-2.0.sgml -content_files= version.xml +content_files=version.xml # SGML files where gtk-doc abbrevations (#GtkWidget) are expanded # These files must be listed here *and* in content_files diff --git a/examples/Makefile.am b/examples/Makefile.am index 4abe2de..a59aca3 100644 --- a/examples/Makefile.am +++ b/examples/Makefile.am @@ -10,7 +10,7 @@ INCLUDES = \ -I$(srcdir) \ -I$(top_srcdir) -AM_CPPFLAGS = $(CLUTTER_CFLAGS) $(GTK_CFLAGS) +AM_CPPFLAGS = $(MAINTAINER_CFLAGS) $(CLUTTER_CFLAGS) $(GTK_CFLAGS) common_deps = \ $(top_builddir)/clutter-gtk/libclutter-gtk-0.9.la