[viewport] Remove units-based API
[clutter-gtk] / configure.ac
1 # clutter package version number, (as distinct from shared library version)
2 # An odd micro number indicates in-progress development, (eg. from CVS)
3 # An even micro number indicates a released version.
4 m4_define([clutter_major_version], [0])
5 m4_define([clutter_minor_version], [9])
6 m4_define([clutter_micro_version], [0])
7
8 m4_define([clutter_version],
9           [clutter_major_version.clutter_minor_version.clutter_micro_version])
10
11 m4_define([clutter_api_version],
12           [clutter_major_version.clutter_minor_version])
13
14 # increase the interface age for each release; if the API changes, set to 0
15 m4_define([clutter_interface_age], [0])
16 m4_define([clutter_binary_age],
17           [m4_eval(100 * clutter_minor_version + clutter_micro_version)])
18
19 AC_PREREQ(2.53)
20
21 AC_INIT([clutter-gtk],
22         [clutter_version],
23         [http://bugzilla.o-hand.com/enter_bug.cgi?product=Clutter])
24 AC_CONFIG_SRCDIR([clutter-gtk/gtk-clutter-embed.h])
25 AM_CONFIG_HEADER([config.h])
26
27 AM_INIT_AUTOMAKE([1.9])
28
29 CLUTTER_GTK_MAJOR_VERSION=clutter_major_version
30 CLUTTER_GTK_MINOR_VERSION=clutter_minor_version
31 CLUTTER_GTK_MICRO_VERSION=clutter_micro_version
32 CLUTTER_GTK_VERSION=clutter_version
33 AC_SUBST(CLUTTER_GTK_MAJOR_VERSION)
34 AC_SUBST(CLUTTER_GTK_MINOR_VERSION)
35 AC_SUBST(CLUTTER_GTK_MICRO_VERSION)
36 AC_SUBST(CLUTTER_GTK_VERSION)
37
38 m4_define([lt_current],
39           [m4_eval(100 * clutter_minor_version + clutter_micro_version - clutter_interface_age)])
40 m4_define([lt_revision], [clutter_interface_age])
41 m4_define([lt_age], [m4_eval(clutter_binary_age - clutter_interface_age)])
42 CLUTTER_LT_CURRENT=lt_current
43 CLUTTER_LT_REV=lt_revision
44 CLUTTER_LT_AGE=lt_age
45 CLUTTER_LT_VERSION="$CLUTTER_LT_CURRENT:$CLUTTER_LT_REV:$CLUTTER_LT_AGE"
46 CLUTTER_LT_LDFLAGS="-version-info $CLUTTER_LT_VERSION"
47
48 AC_SUBST(CLUTTER_LT_VERSION)
49 AC_SUBST(CLUTTER_LT_LDFLAGS)
50
51 dnl ========================================================================
52
53 # Checks for programs.
54 AC_PROG_CC
55 AC_DISABLE_STATIC
56 AC_PROG_LIBTOOL
57
58 # Checks for header files.
59 AC_HEADER_STDC
60 AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h])
61
62 # Checks for typedefs, structures, and compiler characteristics.
63 AC_C_CONST
64
65 # Checks for library functions.
66 AC_FUNC_MALLOC
67 AC_FUNC_MMAP
68 AC_CHECK_FUNCS([memset munmap strcasecmp strdup])
69
70 CLUTTER_REQUIRED=0.9.0
71
72 cluttergtkflavour=x11
73 AC_ARG_WITH([flavour],
74             AC_HELP_STRING([--with-flavour=@<:@x11/win32@:>@],
75                            [Select the Clutter backend]),
76             cluttergtkflavour=$with_flavour)
77
78 case $cluttergtkflavour in
79
80   x11)
81     AC_DEFINE([HAVE_CLUTTER_GTK_X11], 1, [Using the X11 flavour])
82     PKG_CHECK_MODULES(CLUTTER, clutter-x11-0.9 >= $CLUTTER_REQUIRED)
83     ;;
84     
85   win32)
86     AC_DEFINE([HAVE_CLUTTER_GTK_WIN32], 1, [Using the Win32 flavour])
87     PKG_CHECK_MODULES(CLUTTER, clutter-win32-0.9 >= $CLUTTER_REQUIRED)
88     ;;
89     
90   *)
91     AC_MSG_ERROR([Invalid flavour for Clutter-GTK: use x11 or win32])
92     ;;
93
94 esac
95
96 AC_SUBST(CLUTTER_CFLAGS)
97 AC_SUBST(CLUTTER_LIBS)
98
99 PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.12)
100 AC_SUBST(GTK_CFLAGS)
101 AC_SUBST(GTK_LIBS)
102
103 dnl ========================================================================
104
105 if test "x$GCC" = "xyes"; then
106         GCC_FLAGS="-g -Wall"
107 fi
108
109 dnl = Enable debug level ===================================================
110
111 m4_define([debug_default],
112           m4_if(m4_eval(clutter_minor_version % 2), [1], [yes], [minimum]))
113
114 AC_ARG_ENABLE(debug,
115               AC_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@],
116                              [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@:>@]),
117 ,
118               enable_debug=debug_default)
119
120 if test "x$enable_debug" = "xyes"; then
121   test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
122   CLUTTER_DEBUG_CFLAGS="-DCLUTTER_ENABLE_DEBUG"
123 else
124   if test "x$enable_debug" = "xno"; then
125     CLUTTER_DEBUG_CFLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"
126   else # minimum
127     CLUTTER_DEBUG_CFLAGS="-DCLUTTER_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS"
128   fi
129 fi
130
131 AC_SUBST(CLUTTER_DEBUG_CFLAGS)
132
133 dnl = GTK Doc check ========================================================
134
135 GTK_DOC_CHECK([1.8])
136
137 dnl ========================================================================
138
139 AC_SUBST(GCC_FLAGS)
140
141 AC_CONFIG_FILES([
142         Makefile
143         clutter-gtk/Makefile
144         doc/Makefile
145         doc/reference/Makefile
146         doc/reference/version.xml
147         examples/Makefile
148         clutter-gtk.pc
149 ])
150
151 AC_OUTPUT
152
153 dnl ========================================================================
154
155 echo ""
156 echo "                 ClutterGTK $VERSION"
157 echo "                 ==================="
158 echo ""
159 echo "                   prefix:   ${prefix}"
160 echo ""
161 echo "                  Flavour:   ${cluttergtkflavour}"
162 echo "              Debug level:   ${enable_debug}"
163 echo "            Documentation:   ${enable_gtk_doc}"
164 echo ""