1 # clutter package version number, (as distinct from shared library version)
2 # An odd micro number indicates in-progress development, (eg. from git)
3 # An even micro number indicates a released version.
4 m4_define([clutter_gtk_major], [0])
5 m4_define([clutter_gtk_minor], [9])
6 m4_define([clutter_gtk_micro], [2])
8 m4_define([clutter_gtk_api_version], [clutter_gtk_major.clutter_gtk_minor])
9 m4_define([clutter_gtk_version], [clutter_gtk_major.clutter_gtk_minor.clutter_gtk_micro])
11 # increase the interface age for each release; if the API changes, set to 0
12 m4_define([clutter_gtk_interface_age], [0])
13 m4_define([clutter_gtk_binary_age], [m4_eval(100 * clutter_gtk_minor + clutter_gtk_micro)])
17 AC_INIT([clutter-gtk],
18 [clutter_gtk_version],
19 [http://bugzilla.o-hand.com/enter_bug.cgi?product=Clutter])
20 AC_CONFIG_SRCDIR([clutter-gtk/clutter-gtk.h])
21 AC_CONFIG_MACRO_DIR([build/autotools])
23 AM_CONFIG_HEADER([config.h])
25 AM_INIT_AUTOMAKE([1.9])
27 CLUTTER_GTK_MAJOR_VERSION=clutter_gtk_major
28 CLUTTER_GTK_MINOR_VERSION=clutter_gtk_minor
29 CLUTTER_GTK_MICRO_VERSION=clutter_gtk_micro
30 CLUTTER_GTK_API_VERSION=clutter_gtk_api_version
31 CLUTTER_GTK_VERSION=clutter_gtk_version
32 AC_SUBST(CLUTTER_GTK_MAJOR_VERSION)
33 AC_SUBST(CLUTTER_GTK_MINOR_VERSION)
34 AC_SUBST(CLUTTER_GTK_MICRO_VERSION)
35 AC_SUBST(CLUTTER_GTK_API_VERSION)
36 AC_SUBST(CLUTTER_GTK_VERSION)
38 m4_define([lt_current], [m4_eval(100 * clutter_gtk_minor + clutter_gtk_micro - clutter_gtk_interface_age)])
39 m4_define([lt_revision], [clutter_gtk_interface_age])
40 m4_define([lt_age], [m4_eval(clutter_gtk_binary_age - clutter_gtk_interface_age)])
41 CLUTTER_GTK_LT_CURRENT=lt_current
42 CLUTTER_GTK_LT_REV=lt_revision
43 CLUTTER_GTK_LT_AGE=lt_age
44 CLUTTER_GTK_LT_VERSION="$CLUTTER_GTK_LT_CURRENT:$CLUTTER_GTK_LT_REV:$CLUTTER_GTK_LT_AGE"
45 CLUTTER_GTK_LT_LDFLAGS="-version-info $CLUTTER_GTK_LT_VERSION"
47 AC_SUBST(CLUTTER_GTK_LT_VERSION)
48 AC_SUBST(CLUTTER_GTK_LT_LDFLAGS)
50 dnl ========================================================================
52 # Checks for programs.
57 m4_define([clutter_req_version], [0.9.4])
58 m4_define([gtk_req_version], [2.12.0])
59 m4_define([flavour_default], [x11])
60 AC_ARG_WITH([flavour],
61 [AC_HELP_STRING([--with-flavour=@<:@x11/win32@:>@],
62 [Select the Clutter backend, default=flavour_default])],
64 [with_flavour=flavour_default])
66 AS_CASE([$with_flavour],
68 AC_DEFINE([HAVE_CLUTTER_GTK_X11], 1, [Using the X11 flavour])
69 PKG_CHECK_MODULES(CLUTTER, clutter-x11-0.9 >= clutter_req_version)
70 PKG_CHECK_MODULES(GTK, gtk+-x11-2.0 >= gtk_req_version)
71 CLUTTER_GTK_REQUIRES="clutter-x11-0.9 gtk+-x11-2.0"
75 AC_DEFINE([HAVE_CLUTTER_GTK_WIN32], 1, [Using the Win32 flavour])
76 PKG_CHECK_MODULES(CLUTTER, clutter-win32-0.9 >= $CLUTTER_REQUIRED)
77 PKG_CHECK_MODULES(GTK, gtk+-win32-2.0 >= gtk_req_version)
78 CLUTTER_GTK_REQUIRES="clutter-win32-0.9 gtk+-win32-2.0"
81 [AC_MSG_ERROR([Invalid argument for --with-flavour])]
84 CLUTTER_GTK_FLAVOUR=$with_flavour
85 AC_SUBST(CLUTTER_GTK_FLAVOUR)
87 AC_SUBST(CLUTTER_GTK_REQUIRES)
89 AC_SUBST(CLUTTER_CFLAGS)
90 AC_SUBST(CLUTTER_LIBS)
95 dnl = Enable debug level ===================================================
97 m4_define([debug_default], [m4_if(m4_eval(clutter_gtk_minor % 2), [1], [yes], [minimum])])
98 AC_ARG_ENABLE([debug],
99 [AC_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@],
100 [Turns on debugging. @<:@default=debug_default@:>@])],
102 [enable_debug=debug_default])
104 AS_CASE([$enable_debug],
107 test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
108 CLUTTER_GTK_DEBUG_CFLAGS="-DCLUTTER_GTK_ENABLE_DEBUG"
112 CLUTTER_GTK_DEBUG_CFLAGS="-DCLUTTER_GTK_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS"
116 CLUTTER_GTK_DEBUG_CFLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"
119 [AC_MSG_ERROR([Invalid argument for --enable-debug])]
122 AC_SUBST(CLUTTER_GTK_DEBUG_CFLAGS)
124 # use strict compiler flags only on development releases
125 m4_define([maintainer_flags_default], [m4_if(m4_eval(clutter_gtk_minor % 2), [1], [yes], [no])])
126 AC_ARG_ENABLE([maintainer-flags],
127 [AC_HELP_STRING([--enable-maintainer-flags=@<:@no/yes@:>@],
128 [Use strict compiler flags @<:@default=no@:>@])],
130 [enable_maintainer_flags=maintainer_flags_default])
133 AS_IF([test "x$enable_maintainer_flags" = "xyes" && test "x$GCC" = "xyes"],
135 AS_COMPILER_FLAGS([MAINTAINER_CFLAGS],
136 ["-Werror -Wall -Wshadow -Wcast-align
137 -Wno-uninitialized -Wempty-body -Wformat-security
142 AC_SUBST(MAINTAINER_CFLAGS)
144 dnl = GTK Doc check ========================================================
146 G_PREFIX=`$PKG_CONFIG --variable=prefix glib-2.0`
147 GDK_PREFIX=`$PKG_CONFIG --variable=prefix gdk-2.0`
148 GTK_PREFIX=`$PKG_CONFIG --variable=prefix gtk+-2.0`
149 GDK_PIXBUF_PREFIX=`$PKG_CONFIG --variable=prefix gdk-pixbuf-2.0`
150 CLUTTER_PREFIX=`$PKG_CONFIG --variable=prefix clutter-0.9`
154 AC_SUBST(GDK_PIXBUF_PREFIX)
155 AC_SUBST(CLUTTER_PREFIX)
157 GTK_DOC_CHECK([1.11])
159 GOBJECT_INTROSPECTION_CHECK([0.6.3])
161 dnl ========================================================================
163 SHAVE_INIT([build/autotools], [enable])
168 build/autotools/Makefile
169 build/autotools/shave-libtool
170 build/autotools/shave
173 doc/reference/Makefile
174 doc/reference/version.xml
181 dnl ========================================================================
184 echo " ClutterGTK $VERSION"
185 echo " ==================="
187 echo " prefix: ${prefix}"
189 echo " Flavour: ${CLUTTER_GTK_FLAVOUR}"
190 echo " Debug level: ${enable_debug}"
191 echo " Documentation: ${enable_gtk_doc}"
192 echo " Compiler flags: $MAINTAINER_CFLAGS"
193 echo " Introspection data: ${enable_introspection}"