configure: Clean up help and configuration summary
[profile/ivi/clutter.git] / configure.ac
1 # clutter package version number, (as distinct from shared library version)
2 # An odd micro number indicates in-progress development from Git
3 # An even micro number indicates a released version
4 #
5 # Making a point release:
6 # - increase clutter_micro_version to the next even number
7 # - increase clutter_interface_age to the next even number
8 # After the release:
9 # - increase clutter_micro_version to the next odd number
10 # - increase clutter_interface_version to the next odd number
11 m4_define([clutter_major_version], [1])
12 m4_define([clutter_minor_version], [9])
13 m4_define([clutter_micro_version], [3])
14
15 # • for stable releases: increase the interface age by 1 for each release;
16 #   if the API changes, set to 0. interface_age and binary_age are used to
17 #   create the soname of the shared object:
18 #
19 #  (<minor> * 100 + <micro>) - <interface_age>
20 #
21 # this allows using the same soname for different micro-releases in case
22 # no API was added or deprecated. for instance:
23 #
24 #   clutter 1.2.0  -> 100 * 2 + 0  = 200, interface age = 0 -> 200
25 #   clutter 1.2.2  -> 100 * 2 + 2  = 202, interface age = 2 -> 200
26 #   clutter 1.2.4  -> 100 * 2 + 4  = 204, interface age = 4 -> 200
27 #   [ API addition, deprecation ]
28 #   clutter 1.2.6  -> 100 * 2 + 6  = 206, interface age = 0 -> 206
29 #   clutter 1.2.8  -> 100 * 2 + 8  = 208, interface age = 2 -> 206
30 #   clutter 1.2.10 -> 100 * 2 + 10 = 210, interface age = 4 -> 206
31 #   ...
32 #
33 # • for development releases: keep clutter_interface_age to 0
34 m4_define([clutter_interface_age], [0])
35
36 m4_define([clutter_binary_age], [m4_eval(100 * clutter_minor_version + clutter_micro_version)])
37
38 m4_define([clutter_release_status],
39           [m4_if(m4_eval(clutter_micro_version % 2), [1], [git],
40                  [m4_if(m4_eval(clutter_minor_version % 2), [1], [snapshot],
41                                                                  [release])])])
42
43 m4_define([clutter_version], [clutter_major_version.clutter_minor_version.clutter_micro_version])
44
45 # change this only when breaking the API
46 m4_define([clutter_api_version], [1.0])
47
48 AC_PREREQ([2.63])
49
50 AC_INIT([clutter],
51         [clutter_version],
52         [http://bugzilla.gnome.org/enter_bug.cgi?product=clutter],
53         [clutter],
54         [http://www.clutter-project.org])
55
56 AC_CONFIG_SRCDIR([clutter/clutter.h])
57 AC_CONFIG_HEADERS([config.h])
58 AC_CONFIG_AUX_DIR([build])
59 AC_CONFIG_MACRO_DIR([build/autotools])
60
61 AM_INIT_AUTOMAKE([1.11 foreign -Wno-portability no-define no-dist-gzip dist-xz tar-ustar])
62 AM_SILENT_RULES([yes])
63
64 AC_SUBST([CLUTTER_MAJOR_VERSION],  [clutter_major_version])
65 AC_SUBST([CLUTTER_MINOR_VERSION],  [clutter_minor_version])
66 AC_SUBST([CLUTTER_MICRO_VERSION],  [clutter_micro_version])
67 AC_SUBST([CLUTTER_VERSION],        [clutter_version])
68 AC_SUBST([CLUTTER_API_VERSION],    [clutter_api_version])
69 AC_SUBST([CLUTTER_API_VERSION_AM], [$CLUTTER_MAJOR_VERSION\_0])
70 AC_SUBST([CLUTTER_RELEASE_STATUS], [clutter_release_status])
71
72 m4_define([lt_current],  [m4_eval(100 * clutter_minor_version + clutter_micro_version - clutter_interface_age)])
73 m4_define([lt_revision], [clutter_interface_age])
74 m4_define([lt_age],      [m4_eval(clutter_binary_age - clutter_interface_age)])
75 CLUTTER_LT_CURRENT=lt_current
76 CLUTTER_LT_REV=lt_revision
77 CLUTTER_LT_AGE=lt_age
78 CLUTTER_LT_VERSION="$CLUTTER_LT_CURRENT:$CLUTTER_LT_REV:$CLUTTER_LT_AGE"
79 CLUTTER_LT_LDFLAGS="-version-info $CLUTTER_LT_VERSION"
80 AC_SUBST([CLUTTER_LT_CURRENT],  [lt_current])
81 AC_SUBST([CLUTTER_LT_REVISION], [lt_revision])
82 AC_SUBST([CLUTTER_LT_VERSION],  [$CLUTTER_LT_VERSION])
83
84 AC_PROG_SED
85
86 dnl = Preliminary platform checks =============================================
87
88 AC_CANONICAL_HOST
89
90 platform_win32=no
91 platform_quartz=no
92 platform_linux=no
93
94 AC_MSG_CHECKING([if building for some Win32 platform])
95 AS_CASE([$host],
96         [*-*-mingw*|*-*-cygwin*],
97         [
98           CLUTTER_LT_LDFLAGS="$CLUTTER_LT_LDFLAGS -no-undefined"
99           platform_win32=yes
100         ],
101
102         []
103 )
104 AC_MSG_RESULT([$platform_win32])
105
106 AM_CONDITIONAL(OS_WIN32, [test "$platform_win32" = "yes"])
107
108 AC_CHECK_HEADER([OpenGL/gl.h], [platform_quartz=yes], [platform_quartz=no])
109 AM_CONDITIONAL(OS_QUARTZ, [test "$platform_quartz" = "yes"])
110
111 AC_CHECK_HEADER([GL/glx.h], [platform_glx=yes], [platform_glx=no])
112 AC_CHECK_LIB([GL], [glXCreateContext], [platform_glx=yes], [platform_glx=no])
113 AM_CONDITIONAL(OS_GLX, [test "$platform_glx" = "yes"])
114
115 AC_SUBST(CLUTTER_LT_LDFLAGS)
116
117 AC_CACHE_SAVE
118
119 dnl = Dependencies =========================================================
120
121 # Checks for programs.
122 AM_PROG_CC_C_O
123
124 # require libtool >= 2.2
125 LT_PREREQ([2.2.6])
126 LT_INIT([disable-static])
127
128 # Checks for header files.
129 AC_HEADER_STDC
130
131 # required versions for dependencies
132 m4_define([glib_req_version],           [2.31.0])
133 m4_define([cogl_req_version],           [1.9.1])
134 m4_define([json_glib_req_version],      [0.12.0])
135 m4_define([atk_req_version],            [2.1.5])
136 m4_define([cairo_req_version],          [1.10])
137 m4_define([pango_req_version],          [1.20])
138 m4_define([gi_req_version],             [0.9.5])
139 m4_define([uprof_req_version],          [0.3])
140 m4_define([gtk_doc_req_version],        [1.15])
141 m4_define([xfixes_req_version],         [3])
142 m4_define([xcomposite_req_version],     [0.4])
143 m4_define([gdk_req_version],            [3.0.0])
144
145 AC_SUBST([GLIB_REQ_VERSION],       [glib_req_version])
146 AC_SUBST([COGL_REQ_VERSION],       [cogl_req_version])
147 AC_SUBST([JSON_GLIB_REQ_VERSION],  [json_glib_req_version])
148 AC_SUBST([ATK_REQ_VERSION],        [atk_req_version])
149 AC_SUBST([CAIRO_REQ_VERSION],      [cairo_req_version])
150 AC_SUBST([PANGO_REQ_VERSION],      [pango_req_version])
151 AC_SUBST([GI_REQ_VERSION],         [gi_req_version])
152 AC_SUBST([UPROF_REQ_VERSION],      [uprof_req_version])
153 AC_SUBST([GTK_DOC_REQ_VERSION],    [gtk_doc_req_version])
154 AC_SUBST([XFIXES_REQ_VERSION],     [xfixes_req_version])
155 AC_SUBST([XCOMPOSITE_REQ_VERSION], [xcomposite_req_version])
156 AC_SUBST([GDK_REQ_VERSION],        [gdk_req_version])
157
158 # Checks for typedefs, structures, and compiler characteristics.
159 AM_PATH_GLIB_2_0([glib_req_version],
160                  [],
161                  [AC_MSG_ERROR([glib-2.0 is required])],
162                  [gobject gthread gmodule-no-export])
163
164 # Check for -Bsymbolic-functions to avoid intra-library PLT jumps
165 AC_ARG_ENABLE([Bsymbolic],
166               [AS_HELP_STRING([--disable-Bsymbolic],
167                               [Avoid linking with -Bsymbolic])],
168               [],
169               [
170                 saved_LDFLAGS="${LDFLAGS}"
171                 AC_MSG_CHECKING([for -Bsymbolic-functions linker flag])
172                 LDFLAGS=-Wl,-Bsymbolic-functions
173                 AC_TRY_LINK([], [int main (void) { return 0; }],
174                             [
175                               AC_MSG_RESULT([yes])
176                               enable_Bsymbolic=yes
177                             ],
178                             [
179                               AC_MSG_RESULT([no])
180                               enable_Bsymbolic=no
181                             ])
182                 LDFLAGS="${saved_LDFLAGS}"
183               ])
184
185 AS_IF([test "x$enable_Bsymbolic" = "xyes"], [CLUTTER_LINK_FLAGS=-Wl[,]-Bsymbolic-functions])
186 AC_SUBST(CLUTTER_LINK_FLAGS)
187
188 AC_CACHE_SAVE
189
190 dnl ========================================================================
191
192 FLAVOUR_LIBS=""
193 FLAVOUR_CFLAGS=""
194 CLUTTER_BACKENDS=""
195 CLUTTER_INPUT_BACKENDS=""
196 CLUTTER_CONFIG_DEFINES=
197
198 experimental_backend=no
199 experimental_input_backend=no
200
201 # base dependencies for core
202 CLUTTER_BASE_PC_FILES="cogl-1.0 >= $COGL_REQ_VERSION cairo-gobject >= $CAIRO_REQ_VERSION atk >= $ATK_REQ_VERSION pangocairo >= $PANGO_REQ_VERSION cogl-pango-1.0 json-glib-1.0 >= $JSON_GLIB_REQ_VERSION"
203
204 # backend specific pkg-config files
205 BACKEND_PC_FILES=""
206
207 dnl === Clutter windowing system backend ======================================
208
209 AC_ARG_ENABLE([x11-backend],
210               [AS_HELP_STRING([--enable-x11-backend=@<:@yes/no@:>@], [Enable the X11 backend (default=check)])],
211               [enable_x11=$enableval],
212               [enable_x11=check])
213 AC_ARG_ENABLE([win32-backend],
214               [AS_HELP_STRING([--enable-win32-backend=@<:@yes/no@:>@], [Enable the Windows backend (default=check)])],
215               [enable_win32=$enableval],
216               [enable_win32=check])
217 AC_ARG_ENABLE([quartz-backend],
218               [AS_HELP_STRING([--enable-quartz-backend=@<:@yes/no@:>@], [Enable the OS X backend (default=check)])],
219               [enable_osx=$enableval],
220               [enable_osx=check])
221 AC_ARG_ENABLE([gdk-backend],
222               [AS_HELP_STRING([--enable-gdk-backend=@<:@yes/no@:>@], [Enable the GDK backend (default=check)])],
223               [enable_gdk=$enableval],
224               [enable_gdk=check])
225 AC_ARG_ENABLE([wayland-backend],
226               [AS_HELP_STRING([--enable-wayland-backend=@<:@yes/no@:>@], [Enable the Wayland client backend (default=no)])],
227               [enable_wayland=$enableval],
228               [enable_wayland=no])
229 AC_ARG_ENABLE([egl-backend],
230               [AS_HELP_STRING([--enable-egl-backend=@<:@yes/no@:>@], [Enable the EGL framebuffer backend (default=no)])],
231               [enable_egl=$enableval],
232               [enable_egl=no])
233 AC_ARG_ENABLE([cex100-backend],
234               [AS_HELP_STRING([--enable-cex100-backend=@<:@yes/no@:>@], [Enable the CEx100 backend (default=no)])],
235               [enable_cex100=$enableval],
236               [enable_cex100=no])
237
238 dnl Define default values
239 AS_IF([test "x$enable_x11" = "xcheck"],
240       [
241         AS_IF([test "x$platform_glx" = "xyes"], [enable_x11=yes], [enable_x11=no])
242       ])
243
244 AS_IF([test "x$enable_win32" = "xcheck"],
245       [
246         AS_IF([test "x$platform_win32" = "xyes"], [enable_win32=yes], [enable_win32=no])
247       ])
248
249 AS_IF([test "x$enable_osx" = "xcheck"],
250       [
251         AS_IF([test "x$platform_quartz" = "xyes"], [enable_osx=yes], [enable_osx=no])
252       ])
253
254 AS_IF([test "x$enable_gdk" = "xcheck"],
255       [
256         PKG_CHECK_EXISTS([gdk-3.0 >= gdk_req_version], [enable_gdk=yes], [enable_gdk=no])
257       ])
258
259 dnl Per-backend rules
260 AS_IF([test "x$enable_x11" = "xyes"],
261       [
262         CLUTTER_BACKENDS="$CLUTTER_BACKENDS x11"
263         CLUTTER_INPUT_BACKENDS="$CLUTTER_INPUT_BACKENDS x11"
264
265         SUPPORT_X11=1
266         SUPPORT_GLX=1
267         SUPPORT_COGL=1
268
269         # Mesa 7.3 added a GL pkg-config file, finally, but if a pkg-config
270         # file isn't found just add -lGL and hope for the best.
271         PKG_CHECK_EXISTS([gl],
272                          [BACKEND_PC_FILES="$BACKEND_PC_FILES gl"],
273                          [FLAVOUR_LIBS="$FLAVOUR_LIBS -lGL"])
274
275         # We might fall back to DRM for sync-to-vblank on GLX
276         PKG_CHECK_EXISTS([libdrm],
277                          [
278                            AC_DEFINE([HAVE_DRM], [1], [Have libdrm support])
279                            BACKEND_PC_FILES="$BACKEND_PC_FILES libdrm"
280                          ],
281                          [])
282
283         # we use fontconfig API and pango-fc when the fontconfig
284         # configuration changes
285         PKG_CHECK_EXISTS([pangoft2],
286                          [
287                            AC_DEFINE([HAVE_PANGO_FT2], [1], [Supports PangoFt2])
288                            BACKEND_PC_FILES="$BACKEND_PC_FILES pangoft2"
289                          ],
290                          [])
291
292         AC_DEFINE([HAVE_CLUTTER_GLX], [1], [Have the GLX backend])
293       ])
294
295 AS_IF([test "x$enable_gdk" = "xyes"],
296       [
297         CLUTTER_BACKENDS="$CLUTTER_BACKENDS gdk"
298         CLUTTER_INPUT_BACKENDS="$CLUTTER_INPUT_BACKENDS gdk"
299
300         SUPPORT_GDK=1
301         SUPPORT_COGL=1
302
303         BACKEND_PC_FILES="$BACKEND_PC_FILES gdk-3.0"
304         PKG_CHECK_EXISTS([gl], [BACKEND_PC_FILES="$BACKEND_PC_FILES gl"], [])
305       ])
306
307 AS_IF([test "x$enable_wayland" = "xyes"],
308       [
309         CLUTTER_BACKENDS="$CLUTTER_BACKENDS wayland"
310         CLUTTER_INPUT_BACKENDS="$CLUTTER_INPUT_BACKENDS wayland"
311
312         experimental_backend="yes"
313
314         SUPPORT_WAYLAND=1
315
316         PKG_CHECK_EXISTS([wayland-client xkbcommon],
317                          [BACKEND_PC_FILES="$BACKEND_PC_FILES wayland-client xkbcommon"],
318                          [])
319
320         AC_DEFINE([HAVE_CLUTTER_WAYLAND], [1], [Have the Wayland client backend])
321       ])
322
323 dnl Note this is orthogonal to the client side support and you can
324 dnl use the Wayland compositor features with any of the clutter
325 dnl backends with corresponding Cogl support.
326 AC_ARG_ENABLE([wayland-compositor],
327               [AS_HELP_STRING([--enable-wayland-compositor=@<:@yes/no@:>@],
328                               [Enable Wayland compositor features (default=no)])],
329               [],
330               [AS_IF([test "x$SUPPORT_EGL" = "x1"],
331                      [enable_wayland_compositor=yes],
332                      [enable_wayland_compositor=no])
333               ])
334
335 AS_IF([test "x$enable_wayland_compositor" = "xyes"],
336       [
337         PKG_CHECK_EXISTS([wayland-server],
338                          [BACKEND_PC_FILES="$BACKEND_PC_FILES wayland-server"], [])
339         SUPPORT_WAYLAND_COMPOSITOR=1
340         CLUTTER_CONFIG_DEFINES="$CLUTTER_CONFIG_DEFINES
341 #define CLUTTER_HAS_WAYLAND_COMPOSITOR_SUPPORT 1"
342         AC_DEFINE([HAVE_CLUTTER_WAYLAND_COMPOSITOR], [1], [Have Wayland compositor support])
343       ])
344
345 AM_CONDITIONAL(SUPPORT_WAYLAND_COMPOSITOR, [test "x$SUPPORT_WAYLAND_COMPOSITOR" = "x1"])
346
347 AS_IF([test "x$enable_wayland_compositor" != "xyes" -a "x$enable_wayland" != "xyes"],
348       [
349         # The wayland headers introduce so much symbol shadowing that build
350         # logs become incomprehensible with -Wshadow so we only use it for
351         # non-wayland builds.
352         MAINTAINER_COMPILER_FLAGS="-Wshadow"
353       ])
354
355 AS_IF([test "x$enable_cex100" = "xyes"],
356       [
357         CLUTTER_BACKENDS="$CLUTTER_BACKENDS cex100"
358
359         experimental_backend="yes"
360
361         SUPPORT_COGL=1
362         SUPPORT_CEX100=1
363
364         have_gdl=no
365         AC_CHECK_HEADERS([libgdl.h], [have_gdl=yes])
366
367         AS_IF([test "x$have_gdl" = "xno"],
368               [
369                 AC_CHECK_HEADERS([CE4100/libgdl.h],
370                                  [
371                                    FLAVOUR_CFLAGS="-I/usr/include/CE4100"
372                                    have_gdl=yes
373                                    CLUTTER_CEX100_LIBGDL_PREFIX=CE4100/
374                                  ])
375               ])
376
377         AS_IF([test "x$have_gdl" = "xno"],
378               [AC_MSG_ERROR([libgdl.h not found but the CEx100 backend has been explicitly enabled])])
379
380         AC_SUBST(CLUTTER_CEX100_LIBGDL_PREFIX)
381
382         FLAVOUR_LIBS="$FLAVOUR_LIBS -lgdl"
383
384         AC_DEFINE([CLUTTER_EGL_BACKEND_CEX100], [1], [Use CEX100 EGL backend])
385         AC_DEFINE([CLUTTER_EGL_BACKEND_GENERIC], [1], [Use Generic EGL backend])
386         AC_DEFINE([HAVE_CLUTTER_EGL], [1], [Have the EGL backend])
387       ])
388
389 AS_IF([test "x$enable_egl" = "xyes"],
390       [
391         CLUTTER_BACKENDS="$CLUTTER_BACKENDS egl"
392
393         experimental_backend="yes"
394
395         SUPPORT_EGL=1
396         SUPPORT_COGL=1
397
398         # if Mesa has support for egl, we can use it as well
399         PKG_CHECK_EXISTS([egl],
400                          [
401                            BACKEND_PC_FILES="$BACKEND_PC_FILES egl"
402                          ],
403                          [])
404
405         FLAVOUR_LIBS="$FLAVOUR_LIBS $TSLIB_LIBS $EVDEV_LIBS"
406         FLAVOUR_CFLAGS="$FLAVOUR_CFLAGS $TSLIB_CFLAGS $EVDEV_CFLAGS"
407
408         AC_DEFINE([CLUTTER_EGL_BACKEND_GENERIC], [1], [Use Generic EGL backend])
409
410         AC_DEFINE([HAVE_CLUTTER_EGL], [1], [Have the EGL backend])
411       ])
412
413 AS_IF([test "x$enable_osx" = "xyes"],
414       [
415         CLUTTER_BACKENDS="$CLUTTER_BACKENDS osx"
416         CLUTTER_INPUT_BACKENDS="$CLUTTER_INPUT_BACKENDS osx"
417
418         AC_DEFINE([HAVE_CLUTTER_OSX], [1], [Have the OSX backend])
419
420         FLAVOUR_LIBS="$FLAVOUR_LIBS -framework Cocoa -framework OpenGL"
421
422         SUPPORT_OSX=1
423       ])
424
425 AS_IF([test "x$enable_win32" = "xyes"],
426       [
427         CLUTTER_BACKENDS="$CLUTTER_BACKENDS win32"
428         CLUTTER_INPUT_BACKENDS="$CLUTTER_INPUT_BACKENDS win32"
429
430         AC_DEFINE([HAVE_CLUTTER_WIN32], [1], [Have the Win32 backend])
431
432         FLAVOUR_LIBS="$FLAVOUR_LIBS -lopengl32 -lgdi32 -lwinmm"
433         FLAVOUR_CFLAGS="$FLAVOUR_CFLAGS -D_WIN32_WINNT=0x0500"
434
435         AC_CHECK_TOOL(WINDRES, [windres], [AC_MSG_ERROR([*** windres is required])])
436
437         SUPPORT_WIN32=1
438       ])
439
440 AS_IF([test "x$CLUTTER_BACKENDS" = "x"],
441       [
442         AC_MSG_ERROR([No backend enabled. You need to enable at least one backend.])
443       ])
444
445 # additional input backends
446
447 AC_ARG_ENABLE([tslib-input],
448               [AS_HELP_STRING([--enable-tslib-input=@<:@yes/no@:>@], [Enable TSLib for input events (default=no)])],
449               [enable_tslib=$enableval],
450               [enable_tslib=no])
451 AC_ARG_ENABLE([evdev-input],
452               [AS_HELP_STRING([--with-evdev=@<:@yes/no@:>@], [Enable evdev for input events (default=no)])],
453               [enable_evdev=$enableval],
454               [enable_evdev=no])
455
456 AS_IF([test "x$enable_tslib" = "xyes"],
457       [
458         PKG_CHECK_MODULES(TSLIB, [tslib-1.0], [have_tslib=yes], [have_tslib=no])
459         AS_IF([test "x$have_tslib" = "xyes"],
460               [
461                 CLUTTER_INPUT_BACKENDS="$CLUTTER_INPUT_BACKENDS tslib"
462                 experimental_input_backend="yes"
463                 AC_DEFINE([HAVE_TSLIB], [1], [Have tslib for touchscreen handling])
464                 SUPPORT_TSLIB=1
465               ])
466       ])
467
468 AS_IF([test "x$enable_evdev" = "xyes"],
469       [
470         PKG_CHECK_MODULES(EVDEV, [gudev-1.0 xkbcommon], [have_evdev=yes], [have_evdev=no])
471         AS_IF([test "x$have_evdev" = "xyes"],
472               [
473                 CLUTTER_INPUT_BACKENDS="$CLUTTER_INPUT_BACKENDS evdev"
474                 BACKEND_PC_FILES="$BACKEND_PC_FILES gudev-1.0 xkbcommon"
475                 experimental_input_backend="yes"
476                 AC_DEFINE([HAVE_EVDEV], [1], [Have evdev support for input handling])
477                 SUPPORT_EVDEV=1
478               ])
479       ])
480
481 # conditionals for use in automake files...
482 AM_CONDITIONAL(SUPPORT_GLX,     [test "x$SUPPORT_GLX" = "x1"])
483 AM_CONDITIONAL(SUPPORT_X11,     [test "x$SUPPORT_X11" = "x1"])
484 AM_CONDITIONAL(SUPPORT_GDK,     [test "x$SUPPORT_GDK" = "x1"])
485 AM_CONDITIONAL(SUPPORT_EGL,     [test "x$SUPPORT_EGL" = "x1"])
486 AM_CONDITIONAL(SUPPORT_OSX,     [test "x$SUPPORT_OSX" = "x1"])
487 AM_CONDITIONAL(SUPPORT_WIN32,   [test "x$SUPPORT_WIN32" = "x1"])
488 AM_CONDITIONAL(SUPPORT_CEX100,  [test "x$SUPPORT_CEX100" = "x1"])
489 AM_CONDITIONAL(SUPPORT_WAYLAND, [test "x$SUPPORT_WAYLAND" = "x1"])
490 AM_CONDITIONAL(SUPPORT_STUB,    [test "x$SUPPORT_WIN32" = "x1" -o \
491                                       "x$SUPPORT_OSX" = "x1"])
492
493 AM_CONDITIONAL(USE_COGL,  [test "x$SUPPORT_COGL" = "x1"])
494 AM_CONDITIONAL(USE_TSLIB, [test "x$have_tslib" = "xyes"])
495 AM_CONDITIONAL(USE_EVDEV, [test "x$have_evdev" = "xyes"])
496 AM_CONDITIONAL(USE_GLD,   [test "x$have_gdl" = "xyes"])
497
498 dnl Instead of using AM_CFLAGS to ensure
499 dnl COGL_ENABLE_EXPERIMENTAL_2_0_API is defined while compiling clutter
500 dnl and cogl code we use a define in config.h instead. This helps ensure
501 dnl other tools such as glib-mkenums and gir-scanner don't end up
502 dnl using the define also.
503 AC_DEFINE([COGL_ENABLE_EXPERIMENTAL_2_0_API], [1], [Can use Cogl 2.0 API internally])
504
505 dnl strip leading spaces
506 CLUTTER_BACKENDS=${CLUTTER_BACKENDS#* }
507 AC_SUBST(CLUTTER_BACKENDS)
508
509 CLUTTER_INPUT_BACKENDS=${CLUTTER_INPUT_BACKENDS#* }
510 AC_SUBST(CLUTTER_INPUT_BACKENDS)
511
512 AC_CACHE_SAVE
513
514 dnl === Clutter configuration =================================================
515
516 # windowing systems
517 AS_IF([test "x$SUPPORT_X11" = "x1"],
518       [CLUTTER_CONFIG_DEFINES="$CLUTTER_CONFIG_DEFINES
519 #define CLUTTER_WINDOWING_X11 \"x11\"
520 #define CLUTTER_INPUT_X11 \"x11\""])
521 AS_IF([test "x$SUPPORT_GDK" = "x1"],
522       [CLUTTER_CONFIG_DEFINES="$CLUTTER_CONFIG_DEFINES
523 #define CLUTTER_WINDOWING_GDK \"gdk\"
524 #define CLUTTER_INPUT_GDK \"gdk\""])
525 AS_IF([test "x$SUPPORT_GLX" = "x1"],
526       [CLUTTER_CONFIG_DEFINES="$CLUTTER_CONFIG_DEFINES
527 #define CLUTTER_WINDOWING_GLX \"glx\""])
528 AS_IF([test "x$SUPPORT_EGL" = "x1"],
529       [CLUTTER_CONFIG_DEFINES="$CLUTTER_CONFIG_DEFINES
530 #define CLUTTER_WINDOWING_EGL \"eglnative\""])
531 AS_IF([test "x$SUPPORT_WAYLAND" = "x1"],
532       [CLUTTER_CONFIG_DEFINES="$CLUTTER_CONFIG_DEFINES
533 #define CLUTTER_WINDOWING_WAYLAND \"wayland\""])
534 AS_IF([test "x$SUPPORT_OSX" = "x1"],
535       [CLUTTER_CONFIG_DEFINES="$CLUTTER_CONFIG_DEFINES
536 #define CLUTTER_WINDOWING_OSX \"osx\"
537 #define CLUTTER_INPUT_OSX \"osx\""])
538 AS_IF([test "x$SUPPORT_WIN32" = "x1"],
539       [CLUTTER_CONFIG_DEFINES="$CLUTTER_CONFIG_DEFINES
540 #define CLUTTER_WINDOWING_WIN32 \"win32\"
541 #define CLUTTER_INPUT_WIN32 \"win32\""])
542 AS_IF([test "x$SUPPORT_CEX100" = "x1"],
543       [CLUTTER_CONFIG_DEFINES="$CLUTTER_CONFIG_DEFINES
544 #define CLUTTER_WINDOWING_CEX100 \"cex100\""])
545 AS_IF([test "x$SUPPORT_EVDEV" = "x1"],
546       [CLUTTER_CONFIG_DEFINES="$CLUTTER_CONFIG_DEFINES
547 #define CLUTTER_INPUT_EVDEV \"evdev\""])
548 AS_IF([test "x$SUPPORT_TSLIB" = "x1"],
549       [CLUTTER_CONFIG_DEFINES="$CLUTTER_CONFIG_DEFINES
550 #define CLUTTER_INPUT_TSLIB \"tslib\""])
551 AS_IF([test "x$SUPPORT_WAYLAND" = "x1"],
552       [CLUTTER_CONFIG_DEFINES="$CLUTTER_CONFIG_DEFINES
553 #define CLUTTER_INPUT_WAYLAND \"wayland\""])
554
555 # the 'null' input backend is special
556 CLUTTER_CONFIG_DEFINES="$CLUTTER_CONFIG_DEFINES
557 #define CLUTTER_INPUT_NULL \"null\""
558
559 AC_SUBST([CLUTTER_CONFIG_DEFINES])
560
561 dnl === Clutter substitutions kept for backwards compatibility ================
562 AC_SUBST([CLUTTER_WINSYS],       [deprecated])
563 AC_SUBST([CLUTTER_WINSYS_BASE],  [deprecated])
564 AC_SUBST([CLUTTER_STAGE_TYPE],   [deprecated])
565 AC_SUBST([CLUTTER_SONAME_INFIX], [deprecated])
566 AC_SUBST([CLUTTER_FLAVOUR],      [deprecated])
567 AC_SUBST([CLUTTER_COGL],         [deprecated])
568 AC_SUBST([COGL_DRIVER],          [deprecated])
569
570 dnl === Image loading backend =================================================
571 IMAGE_PC_FILES=""
572
573 dnl === X11 checks, only for X11-based backends ===============================
574 X11_PC_FILES=""
575 X11_EXTS=""
576 x11_tests=no
577
578 AS_IF([test "x$SUPPORT_X11" = "x1"],
579       [
580         # base X11 includes and libraries
581         AC_MSG_CHECKING([for X11])
582
583         # start with pkg-config
584         PKG_CHECK_EXISTS([x11], [have_x11=yes], [have_x11=no])
585         AS_IF([test "x$have_x11" = "xyes"],
586               [
587                 X11_PC_FILES="x11"
588
589                 # we actually need to ask for CFLAGS and LIBS
590                 X11_CFLAGS=`$PKG_CONFIG --cflags $X11_PC_FILES`
591                 X11_LIBS=`$PKG_CONFIG --libs $X11_PC_FILES`
592
593                 AC_MSG_RESULT([found])
594               ],
595               [
596                 # no pkg-config, let's go old school
597                 AC_PATH_X
598
599                 AS_IF([test "x$no_x" = "xyes"],
600                       [AC_MSG_ERROR([No X11 Libraries found])],
601                       [
602                         AS_IF([test "x$x_includes" != "xNONE" && test -n "$x_includes"],
603                               [X11_CFLAGS=-I`echo $x_includes | sed -e "s/:/ -I/g"`])
604
605                         AS_IF([test "x$x_libraries" != "xNONE" && test -n "$x_libraries"],
606                               [X11_LIBS=-L`echo $x_libraries | sed -e "s/:/ -L/g"`])
607
608                         AC_MSG_RESULT([found])
609                       ]
610                 )
611               ]
612         )
613
614         # XEXT (required)
615         AC_MSG_CHECKING([for XEXT extension])
616         PKG_CHECK_EXISTS([xext], [have_xext=yes], [have_xext=no])
617         AS_IF([test "x$have_xext" = "xyes"],
618               [
619                 AC_DEFINE(HAVE_XEXT, [1], [Define to 1 if we have the XEXT X extension])
620
621                 X11_LIBS="$X11_LIBS -lXext"
622                 X11_PC_FILES="$X11_PC_FILES xext"
623                 X11_EXTS="$X11_EXTS xext"
624
625                 AC_MSG_RESULT([found])
626               ],
627               [AC_MSG_ERROR([Not found])]
628         )
629
630         # XFIXES (required)
631         AC_MSG_CHECKING([for XFIXES extension >= $XFIXES_REQ_VERSION])
632         PKG_CHECK_EXISTS([xfixes >= $XFIXES_REQ_VERSION], [have_xfixes=yes], [have_xfixes=no])
633         AS_IF([test "x$have_xfixes" = "xyes"],
634               [
635                 AC_DEFINE(HAVE_XFIXES, [1], [Define to 1 if we have the XFIXES X extension])
636
637                 X11_LIBS="$X11_LIBS -lXfixes"
638                 X11_PC_FILES="$X11_PC_FILES xfixes >= $XFIXES_REQ_VERSION"
639                 X11_EXTS="$X11_EXTS xfixes"
640
641                 AC_MSG_RESULT([found])
642               ],
643               [AC_MSG_ERROR([Not found])]
644         )
645
646         # XDAMAGE (required)
647         AC_MSG_CHECKING([for XDAMAGE extension])
648         PKG_CHECK_EXISTS([xdamage], [have_xdamage=yes], [have_xdamage=no])
649         AS_IF([test "x$have_xdamage" = "xyes"],
650               [
651                 AC_DEFINE(HAVE_XDAMAGE, [1], [Define to 1 if we have the XDAMAGE X extension])
652
653                 X11_LIBS="$X11_LIBS -lXdamage"
654                 X11_PC_FILES="$X11_PC_FILES xdamage"
655                 X11_EXTS="$X11_EXTS xdamage"
656
657                 AC_MSG_RESULT([found])
658               ],
659               [AC_MSG_ERROR([not found])]
660         )
661
662         # XCOMPOSITE (optional)
663         AC_MSG_CHECKING([for XCOMPOSITE extension >= $XCOMPOSITE_REQ_VERSION])
664         PKG_CHECK_EXISTS([xcomposite >= $XCOMPOSITE_REQ_VERSION], [have_xcomposite=yes], [have_xcomposite=no])
665         AS_IF([test "x$have_xcomposite" = "xyes"],
666               [
667                 AC_DEFINE(HAVE_XCOMPOSITE, [1], [Define to 1 if we have the XCOMPOSITE X extension])
668
669                 X11_LIBS="$X11_LIBS -lXcomposite"
670                 X11_PC_FILES="$X11_PC_FILES xcomposite >= $XCOMPOSITE_REQ_VERSION"
671                 X11_EXTS="$X11_EXTS xcomposite"
672
673                 AC_MSG_RESULT([found])
674               ],
675               [AC_MSG_ERROR([not found])]
676         )
677
678         # X Generic Extensions (optional)
679         clutter_save_CPPFLAGS="$CPPFLAGS"
680         CPPFLAGS="$CPPFLAGS $X11_CFLAGS"
681
682         clutter_save_LIBS="$LIBS"
683         LIBS="$LIBS $X11_LIBS"
684
685         have_xge=no
686         AC_CHECK_FUNC([XGetEventData],
687                       [
688                         AC_DEFINE([HAVE_XGE], [1], [Define to 1 if X Generic Extensions is available])
689                         have_xge=yes
690                         X11_EXTS="$X11_EXTS xge"
691                       ])
692
693         CPPFLAGS="$clutter_save_CPPFLAGS"
694         LIBS="$clutter_save_LIBS"
695
696         # XI (optional)
697         AC_ARG_ENABLE([xinput],
698                       [AS_HELP_STRING([--enable-xinput], [Use the XI X extension])],
699                       [],
700                       [enable_xinput=yes])
701
702         AS_IF([test "x$enable_xinput" = "xyes"],
703               [
704                 PKG_CHECK_EXISTS([xi], [have_xinput=yes], [have_xinput=no])
705               ],
706               [
707                 have_xinput=no
708               ])
709
710         AS_CASE([$have_xinput],
711
712                 [yes],
713                 [
714                   AC_CHECK_HEADERS([X11/extensions/XInput2.h],
715                                    [
716                                      have_xinput2=yes
717                                      AC_DEFINE([HAVE_XINPUT_2],
718                                                [1],
719                                                [Define to 1 if XI2 is available])
720                                    ],
721                                    [
722                                      have_xinput2=no
723                                      AC_DEFINE([HAVE_XINPUT],
724                                                [1],
725                                                [Define to 1 if XInput is available])
726                                    ])
727
728                   X11_LIBS="$X11_LIBS $XINPUT_LIBS"
729                   X11_PC_FILES="$X11_PC_FILES xi"
730                   X11_EXTS="$X11_EXTS xi"
731                 ],
732
733                 [no],
734                 [have_xinput2=no],
735
736                 [*],
737                 [AC_MSG_ERROR([Invalid argument for --enable-xinput])]
738         )
739
740         # XKB
741         clutter_save_CPPFLAGS="$CPPFLAGS"
742         CPPFLAGS="$CPPFLAGS $X11_CFLAGS"
743
744         clutter_save_LIBS="$LIBS"
745         LIBS="$LIBS $X11_LIBS"
746
747         have_xkb=no
748         AC_CHECK_FUNC([XkbQueryExtension],
749                       [
750                         AC_DEFINE(HAVE_XKB, 1, [Define to use XKB extension])
751                         have_xkb=yes
752
753                         X11_EXTS="$X11_EXTS xkb"
754                       ])
755
756         CPPFLAGS="$clutter_save_CPPFLAGS"
757         LIBS="$clutter_save_LIBS"
758
759         x11_tests=yes
760         BACKEND_PC_FILES="$BACKEND_PC_FILES $X11_PC_FILES"
761         FLAVOUR_LIBS="$FLAVOUR_LIBS $X11_LIBS"
762         FLAVOUR_CFLAGS="$FLAVOUR_CFLAGS $X11_CFLAGS"
763       ]
764 )
765
766 AM_CONDITIONAL([BUILD_XI2], [test "x$have_xinput2" = "xyes"])
767 AM_CONDITIONAL([X11_TESTS], [test "x$x11_tests" = "xyes"])
768
769 X11_EXTS=${X11_EXTS#* }
770
771 AC_CACHE_SAVE
772
773 dnl === Enable debug level ====================================================
774
775 m4_define([debug_default], [m4_if(m4_eval(clutter_minor_version % 2), [1], [yes], [minimum])])
776 AC_ARG_ENABLE([debug],
777               [AS_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@],
778                               [Control Clutter debugging level @<:@default=]debug_default[@:>@])],
779               [],
780               [enable_debug=debug_default])
781
782 AS_CASE([$enable_debug],
783
784         [yes],
785         [
786           test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
787           CLUTTER_DEBUG_CFLAGS="-DCLUTTER_ENABLE_DEBUG"
788         ],
789
790         [minimum],
791         [CLUTTER_DEBUG_CFLAGS="-DCLUTTER_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS"],
792
793         [no],
794         [CLUTTER_DEBUG_CFLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"],
795
796         [AC_MSG_ERROR([Unknown argument for --enable-debug])]
797 )
798
799 AC_SUBST(CLUTTER_DEBUG_CFLAGS)
800
801 dnl === Enable deprecation guards ==================================================
802
803 m4_define([deprecated_default],
804           [m4_if(m4_eval(clutter_minor_version % 2),
805                  [1],
806                  [no],
807                  [yes])])
808
809 AC_ARG_ENABLE([deprecated],
810               [AS_HELP_STRING([--enable-deprecated=@<:@no/yes@:>@],
811                               [Whether deprecated symbols should be disabled when compiling Clutter @<:@default=]deprecated_default[@:>@])],
812               [],
813               [enable_deprecated=deprecated_default])
814
815 AS_CASE([$enable_deprecated],
816
817         [no],
818         [
819           CLUTTER_DEPRECATED_CFLAGS="-DG_DISABLE_SINGLE_INCLUDES -DCOGL_DISABLE_DEPRECATED"
820         ],
821
822         [yes],
823         [
824           CLUTTER_DEPRECATED_CFLAGS="-DGLIB_DISABLE_DEPRECATION_WARNINGS -DCLUTTER_DISABLE_DEPRECATION_WARNINGS"
825         ],
826
827         [AC_MSG_ERROR([Unknown argument for --enable-deprecated])]
828 )
829
830 AC_SUBST([CLUTTER_DEPRECATED_CFLAGS])
831
832
833 dnl === Conformance test suite ================================================
834
835 AC_ARG_ENABLE([conformance],
836               [AS_HELP_STRING([--enable-conformance=@<:@no/yes@:>@],
837                               [Build conformance test suite @<:@default=yes@:>@])],
838               [],
839               [enable_conformance=yes])
840
841 AM_CONDITIONAL([BUILD_TESTS], [test "x$enable_conformance" = "xyes"])
842
843 dnl === Profiling =============================================================
844
845 m4_define([profile_default], [no])
846 AC_ARG_ENABLE(profile,
847               AS_HELP_STRING([--enable-profile=@<:@no/yes@:>@],
848                              [Turn on profiling support. yes; All profiling probe points are compiled in and may be runtime enabled. no; No profiling support will built into clutter.  @<:@default=no@:>@]),
849               [],
850               [enable_profile=profile_default])
851
852 AS_CASE([$enable_profile],
853
854         [yes],
855         [
856           AS_IF([test "x$GCC" = "xyes"],
857                 [
858                   PKG_CHECK_MODULES([PROFILE_DEP], [uprof-0.3])
859                   CLUTTER_PROFILE_CFLAGS="-DCLUTTER_ENABLE_PROFILE $PROFILE_DEP_CFLAGS"
860                   CLUTTER_PROFILE_LDFLAGS="$PROFILE_DEP_LIBS"
861
862                   AS_IF([test "x$enable_debug" = "xyes"], [CLUTTER_PROFILE_CFLAGS+=" -DUPROF_DEBUG"])
863                 ],
864                 [
865                   AC_MSG_ERROR([--enable-profile is currently only supported if using GCC])
866                 ])
867         ],
868
869         [no],
870         [
871           CLUTTER_PROFILE_CFLAGS=""
872           CLUTTER_PROFILE_LDFLAGS=""
873         ],
874
875         [*], [AC_MSG_ERROR([Invalid value for --enable-profile])]
876 )
877 AM_CONDITIONAL(PROFILE, test "x$enable_profile" != "xno")
878 AC_SUBST(CLUTTER_PROFILE_CFLAGS)
879 AC_SUBST(CLUTTER_PROFILE_LDFLAGS)
880
881 dnl === Coverage report =======================================================
882
883 AC_PATH_PROG([GCOV], [gcov], [enable_gcov=no])
884
885 AC_MSG_CHECKING([whether to build with gcov testing])
886
887 AC_ARG_ENABLE([gcov],
888               [AS_HELP_STRING([--enable-gcov],
889                               [Whether to enable coverage testing (requires gcc
890 and gcov)])],
891               [],
892               [enable_gcov=no])
893
894 AS_IF([test "x$enable_gcov" = "xyes" && test "x$GCC" = "xyes"],
895       [
896         AS_IF([test "x$enable_conformance" = "xno"],
897               [AC_MSG_WARN([Conformance test suite is disabled, the coverage report will be incomplete])],
898               [AC_MSG_RESULT([yes])]
899         )
900
901         GCOV_CFLAGS="-g -O0 -fprofile-arcs -ftest-coverage"
902         GCOV_LDFLAGS="-lgcov"
903       ],
904       [AC_MSG_RESULT([no])]
905 )
906
907 AM_CONDITIONAL([GCOV_ENABLED], [test "x$enable_gcov" = "xyes"])
908 AC_SUBST([GCOV_CFLAGS])
909 AC_SUBST([GCOV_LDFLAGS])
910
911 dnl === Enable strict compiler flags ==========================================
912
913 # use strict compiler flags only when building from git; the rules for
914 # distcheck will take care of turning this on when making a release
915 m4_define([maintainer_flags_default], [m4_if(m4_eval(clutter_micro_version % 2), [1], [yes], [no])])
916 AC_ARG_ENABLE([maintainer-flags],
917               [AS_HELP_STRING([--enable-maintainer-flags=@<:@no/yes/error@:>@],
918                               [Use strict compiler flags @<:@default=]maintainer_flags_default[@:>@])],
919               [],
920               [enable_maintainer_flags=maintainer_flags_default])
921
922 MAINTAINER_COMPILER_FLAGS="$MAINTAINER_COMPILER_FLAGS
923                            -Wall -Wcast-align -Wuninitialized
924                            -Wno-strict-aliasing -Wempty-body -Wformat
925                            -Wformat-security -Winit-self
926                            -Wdeclaration-after-statement -Wvla
927                            -Wpointer-arith"
928
929 AS_CASE([$enable_maintainer_flags],
930         [yes],
931         [
932           AS_COMPILER_FLAGS([MAINTAINER_CFLAGS], [$MAINTAINER_COMPILER_FLAGS])
933         ],
934
935         [no],
936         [
937         ],
938
939         [error],
940         [
941           MAINTAINER_COMPILER_FLAGS="$MAINTAINER_COMPILER_FLAGS -Werror"
942           AS_COMPILER_FLAGS([MAINTAINER_CFLAGS], [$MAINTAINER_COMPILER_FLAGS])
943         ],
944
945         [*],
946         [AC_MSG_ERROR([Invalid option for --enable-maintainer-flags])]
947 )
948
949 # strip leading spaces
950 MAINTAINER_CFLAGS=${MAINTAINER_CFLAGS#*  }
951 AC_SUBST(MAINTAINER_CFLAGS)
952
953 dnl === Dependencies, compiler flags and linker libraries =====================
954 # strip leading space
955 BACKEND_PC_FILES=${BACKEND_PC_FILES#* }
956
957 CLUTTER_REQUIRES="$CLUTTER_BASE_PC_FILES $IMAGE_PC_FILES $BACKEND_PC_FILES"
958 PKG_CHECK_MODULES(CLUTTER_DEPS, [$CLUTTER_REQUIRES])
959 AC_SUBST(CLUTTER_REQUIRES)
960
961 CLUTTER_CFLAGS="$FLAVOUR_CFLAGS $CLUTTER_DEPS_CFLAGS $CLUTTER_PROFILE_CFLAGS $GLIB_CFLAGS"
962 CLUTTER_LIBS="$FLAVOUR_LIBS $CLUTTER_DEPS_LIBS $CLUTTER_PROFILE_LDFLAGS $GLIB_LIBS"
963 AC_SUBST(CLUTTER_CFLAGS)
964 AC_SUBST(CLUTTER_LIBS)
965
966
967 dnl === GObject-Introspection check ===========================================
968
969 GOBJECT_INTROSPECTION_CHECK([gi_req_version])
970
971 dnl === GTK Doc check =========================================================
972
973 GTK_DOC_CHECK([gtk_doc_req_version], [--flavour no-tmpl])
974
975 # we don't want to build the documentation from a Git clone unless we
976 # explicitly tell configure to do so; this allows avoiding to recurse into
977 # the documentation directory when building Clutter inside Poky for a
978 # target device that doesn't have gtk-doc installed. for reference
979 # see: http://bugzilla.openedhand.com/show_bug.cgi?id=1047
980 #
981 # we use autogen.sh as it exists only inside the Git clones, and it
982 # is not packaged into tarballs.
983 AM_CONDITIONAL([BUILD_GTK_DOC], [test "x$enable_gtk_doc" = "xyes" || test ! -f "autogen.sh"])
984
985 # prefixes for fixing gtk-doc references
986 CAIRO_PREFIX="`$PKG_CONFIG --variable=prefix cairo`"
987 GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
988 PANGO_PREFIX="`$PKG_CONFIG --variable=prefix pango`"
989 COGL_PREFIX="`$PKG_CONFIG --variable=prefix cogl-1.0`"
990 ATK_PREFIX="`$PKG_CONFIG --variable=prefix atk`"
991 AC_SUBST(CAIRO_PREFIX)
992 AC_SUBST(GLIB_PREFIX)
993 AC_SUBST(PANGO_PREFIX)
994 AC_SUBST(COGL_PREFIX)
995 AC_SUBST(ATK_PREFIX)
996
997 dnl === Manual ================================================================
998
999 AC_ARG_ENABLE([docs],
1000               [AS_HELP_STRING([--enable-docs=@<:@no/yes@:>@],
1001                               [Build optional documentation; requires xsltproc and jw.])],
1002               [enable_docs=$enableval],
1003               [enable_docs=no])
1004
1005 enable_pdfs=no
1006 AS_IF([test "x$enable_docs" = "xyes"],
1007       [
1008         AC_PATH_PROG(JW, [jw], [no])
1009         AS_IF([test "x$JW" = "xno"],
1010               [
1011                 AC_MSG_WARN([jw not found; pdf generation has been disabled])
1012               ],
1013               [enable_pdfs=yes])
1014
1015         AC_PATH_PROG(XSLTPROC, [xsltproc], [no])
1016         AS_IF([test "x$XSLTPROC" = "xno"],
1017               [
1018                 AC_MSG_ERROR([xsltproc not found])
1019               ])
1020       ]
1021 )
1022
1023 AM_CONDITIONAL(ENABLE_DOCS, [test "x$enable_docs" = "xyes"])
1024 AM_CONDITIONAL(ENABLE_PDFS, [test "x$enable_pdfs" = "xyes"])
1025
1026 dnl === I18N ==================================================================
1027
1028 AM_GNU_GETTEXT_VERSION([0.17])
1029 AM_GNU_GETTEXT([external])
1030
1031 GETTEXT_PACKAGE="clutter-1.0"
1032 AC_SUBST(GETTEXT_PACKAGE)
1033 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],
1034                    ["$GETTEXT_PACKAGE"],
1035                    [The prefix for our gettext translation domains.])
1036 AS_ALL_LINGUAS
1037
1038 dnl ===========================================================================
1039
1040 AC_CONFIG_FILES([
1041         Makefile
1042         config.h.win32
1043         README
1044
1045         build/Makefile
1046         build/autotools/Makefile
1047         build/mingw/Makefile
1048         build/win32/Makefile
1049         build/win32/vs9/Makefile
1050         build/win32/vs10/Makefile
1051
1052         clutter/Makefile
1053         clutter/clutter-config.h
1054         clutter/clutter-version.h
1055         clutter/clutter-version.h.win32
1056         clutter/clutter-$CLUTTER_API_VERSION.pc:clutter/clutter.pc.in
1057
1058         clutter/cally/cally-$CLUTTER_API_VERSION.pc:clutter/cally/cally.pc.in
1059
1060         clutter/cex100/clutter-cex100.h
1061
1062         tests/Makefile
1063         tests/accessibility/Makefile
1064         tests/conform/Makefile
1065         tests/conform/test-launcher.sh
1066         tests/data/Makefile
1067         tests/interactive/Makefile
1068         tests/interactive/wrapper.sh
1069         tests/micro-bench/Makefile
1070         tests/performance/Makefile
1071
1072         doc/Makefile
1073         doc/reference/Makefile
1074         doc/reference/clutter/Makefile
1075         doc/reference/clutter/clutter-docs.xml
1076         doc/reference/cally/Makefile
1077         doc/reference/cally/cally-docs.xml
1078         doc/common/Makefile
1079         doc/cookbook/Makefile
1080         doc/cookbook/clutter-cookbook.xml
1081         doc/cookbook/examples/Makefile
1082
1083         po/Makefile.in
1084 ])
1085
1086 AC_OUTPUT
1087
1088 dnl === Summary ===============================================================
1089
1090 echo ""
1091 echo "Clutter - $VERSION (${CLUTTER_RELEASE_STATUS})"
1092
1093 # Global flags
1094 echo ""
1095 echo " • Global:"
1096 echo "        Prefix: ${prefix}"
1097 echo "        Libdir: ${libdir}"
1098 echo "        Sysconfdir: ${sysconfdir}"
1099
1100 # Compiler/Debug related flags
1101 echo ""
1102 echo " • Compiler options:"
1103 echo "        Clutter debug level: ${enable_debug}"
1104 echo "        Compiler flags: ${CFLAGS} ${MAINTAINER_CFLAGS}"
1105 echo "        Profiling enabled: ${enable_profile}"
1106 echo "        Enable coverage tests: ${enable_gcov}"
1107 echo "        Enable deprecated symbols: ${enable_deprecated}"
1108
1109 # Documentation
1110 echo ""
1111 echo " • Documentation:"
1112 echo "        Build API Reference: ${enable_gtk_doc}"
1113 echo "        Build Additional Documentation: ${enable_docs} (Generate PDF: ${enable_pdfs})"
1114
1115 # Miscellaneous
1116 echo ""
1117 echo " • Extra:"
1118 echo "        Build introspection data: ${enable_introspection}"
1119 echo "        Build conformance test suite: ${enable_conformance}"
1120 echo "        Build X11-specific tests: ${x11_tests}"
1121
1122 # Clutter backend related flags
1123 echo ""
1124 echo " • Clutter Backends:"
1125
1126 if test "x$experimental_backend" = "xno"; then
1127 echo "        Windowing systems: ${CLUTTER_BACKENDS}"
1128 else
1129 echo "        Windowing systems: ${CLUTTER_BACKENDS} (WARNING: Experimental backends enabled)"
1130 fi
1131
1132 if test "x$experimental_input_backend" = "xno"; then
1133 echo "        Input backends: ${CLUTTER_INPUT_BACKENDS}"
1134 else
1135 echo "        Input backends: ${CLUTTER_INPUT_BACKENDS} (WARNING: Experimental backends enabled)"
1136 fi
1137
1138 if test "x$SUPPORT_X11" = "x1"; then
1139 echo ""
1140 echo "     - X11 backend options:"
1141 echo "        Enabled extensions: ${X11_EXTS}"
1142 echo "        Build X11-specific tests: ${x11_tests}"
1143 fi
1144
1145 if test "x$SUPPORT_CEX100" = "x1"; then
1146 echo ""
1147 echo "     - CEx100 backend options (WARNING: Experimental):"
1148 echo "        libGDL include prefix: ${CLUTTER_CEX100_LIBGDL_PREFIX}"
1149 fi
1150
1151 if test "x$SUPPORT_WAYLAND_COMPOSITOR" = "x1"; then
1152 echo ""
1153 echo "     - Wayland compositor support enabled (WARNING: Experimental)"
1154 fi
1155
1156 echo ""
1157
1158 # General warning about experimental features
1159 if test "x$experimental_backend" = "xyes"; then
1160 echo ""
1161 echo "☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠"
1162 echo "*WARNING* *WARNING* *WARNING* *WARNING* *WARNING* *WARNING* *WARNING*"
1163 echo ""
1164 echo "  The stability of your build might be affected by one or more"
1165 echo "  experimental backends or experimental and unsupported features"
1166 echo ""
1167 echo "*WARNING* *WARNING* *WARNING* *WARNING* *WARNING* *WARNING* *WARNING*"
1168 echo "☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠"
1169 echo ""
1170 fi