Add public CLUTTER_HAS_WAYLAND_COMPOSITOR_SUPPORT define
[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 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], [Enable Wayland compositor features])],
328               [],
329               [AS_IF([test "x$SUPPORT_EGL" = "x1"],
330                      [enable_wayland_compositor=yes],
331                      [enable_wayland_compositor=no])
332               ])
333
334 AS_IF([test "x$enable_wayland_compositor" = "xyes"],
335       [
336         PKG_CHECK_EXISTS([wayland-server],
337                          [BACKEND_PC_FILES="$BACKEND_PC_FILES wayland-server"], [])
338         SUPPORT_WAYLAND_COMPOSITOR=1
339         CLUTTER_CONFIG_DEFINES="$CLUTTER_CONFIG_DEFINES
340 #define CLUTTER_HAS_WAYLAND_COMPOSITOR_SUPPORT 1"
341         AC_DEFINE([HAVE_CLUTTER_WAYLAND_COMPOSITOR], [1], [Have wayland compositor support])
342       ])
343 AM_CONDITIONAL(SUPPORT_WAYLAND_COMPOSITOR, [test "x$SUPPORT_WAYLAND_COMPOSITOR" = "x1"])
344
345 AS_IF([test "x$enable_wayland_compositor" != "xyes" -a "x$enable_wayland" != "xyes"],
346       [
347         # The wayland headers introduce so much symbol shadowing that build
348         # logs become incomprehensible with -Wshadow so we only use it for
349         # non-wayland builds.
350         MAINTAINER_COMPILER_FLAGS="-Wshadow"
351       ])
352
353 AS_IF([test "x$enable_cex100" = "xyes"],
354       [
355         CLUTTER_BACKENDS="$CLUTTER_BACKENDS cex100"
356
357         experimental_backend="yes"
358
359         SUPPORT_COGL=1
360         SUPPORT_EGL_PLATFORM_GDL=1
361
362         have_gdl=no
363         AC_CHECK_HEADERS([libgdl.h], [have_gdl=yes])
364
365         AS_IF([test "x$have_gdl" = "xno"],
366               [
367                 AC_CHECK_HEADERS([CE4100/libgdl.h],
368                                  [
369                                    FLAVOUR_CFLAGS="-I/usr/include/CE4100"
370                                    have_gdl=yes
371                                    CLUTTER_CEX100_LIBGDL_PREFIX=CE4100/
372                                  ])
373               ])
374
375         AS_IF([test "x$have_gdl" = "xno"],
376               [AC_MSG_ERROR([libgdl.h not found but the CEx100 backend has been explicitly enabled])])
377
378         AC_SUBST(CLUTTER_CEX100_LIBGDL_PREFIX)
379
380         FLAVOUR_LIBS="$FLAVOUR_LIBS -lgdl"
381
382         AC_DEFINE([CLUTTER_EGL_BACKEND_CEX100], [1], [Use CEX100 EGL backend])
383         AC_DEFINE([CLUTTER_EGL_BACKEND_GENERIC], [1], [Use Generic EGL backend])
384         AC_DEFINE([HAVE_CLUTTER_EGL], [1], [Have the EGL backend])
385       ])
386
387 AS_IF([test "x$enable_egl" = "xyes"],
388       [
389         CLUTTER_BACKENDS="$CLUTTER_BACKENDS egl"
390
391         experimental_backend="yes"
392
393         SUPPORT_EGL=1
394         SUPPORT_COGL=1
395
396         # if Mesa has support for egl, we can use it as well
397         PKG_CHECK_EXISTS([egl],
398                          [
399                            BACKEND_PC_FILES="$BACKEND_PC_FILES egl"
400                          ],
401                          [])
402
403         FLAVOUR_LIBS="$FLAVOUR_LIBS $TSLIB_LIBS $EVDEV_LIBS"
404         FLAVOUR_CFLAGS="$FLAVOUR_CFLAGS $TSLIB_CFLAGS $EVDEV_CFLAGS"
405
406         AC_DEFINE([CLUTTER_EGL_BACKEND_GENERIC], [1], [Use Generic EGL backend])
407
408         AC_DEFINE([HAVE_CLUTTER_EGL], [1], [Have the EGL backend])
409       ])
410
411 AS_IF([test "x$enable_osx" = "xyes"],
412       [
413         CLUTTER_BACKENDS="$CLUTTER_BACKENDS osx"
414         CLUTTER_INPUT_BACKENDS="$CLUTTER_INPUT_BACKENDS osx"
415
416         AC_DEFINE([HAVE_CLUTTER_OSX], [1], [Have the OSX backend])
417
418         FLAVOUR_LIBS="$FLAVOUR_LIBS -framework Cocoa -framework OpenGL"
419
420         SUPPORT_OSX=1
421       ])
422
423 AS_IF([test "x$enable_win32" = "xyes"],
424       [
425         CLUTTER_BACKENDS="$CLUTTER_BACKENDS win32"
426         CLUTTER_INPUT_BACKENDS="$CLUTTER_INPUT_BACKENDS win32"
427
428         AC_DEFINE([HAVE_CLUTTER_WIN32], [1], [Have the Win32 backend])
429
430         FLAVOUR_LIBS="$FLAVOUR_LIBS -lopengl32 -lgdi32 -lwinmm"
431         FLAVOUR_CFLAGS="$FLAVOUR_CFLAGS -D_WIN32_WINNT=0x0500"
432
433         AC_CHECK_TOOL(WINDRES, [windres], [AC_MSG_ERROR([*** windres is required])])
434
435         SUPPORT_WIN32=1
436       ])
437
438 AS_IF([test "x$CLUTTER_BACKENDS" = "x"],
439       [
440         AC_MSG_ERROR([No backend enabled. You need to enable at least one backend.])
441       ])
442
443 # additional input backends
444
445 AC_ARG_ENABLE([tslib-input],
446               [AS_HELP_STRING([--enable-tslib-input=@<:@yes/no@:>@], [Enable TSLib for input events (default=no)])],
447               [enable_tslib=$enableval],
448               [enable_tslib=no])
449 AC_ARG_ENABLE([evdev-input],
450               [AS_HELP_STRING([--with-evdev=@<:@yes/no@:>@], [Enable evdev for input events (default=no)])],
451               [enable_evdev=$enableval],
452               [enable_evdev=no])
453
454 AS_IF([test "x$enable_tslib" = "xyes"],
455       [
456         PKG_CHECK_MODULES(TSLIB, [tslib-1.0], [have_tslib=yes], [have_tslib=no])
457         AS_IF([test "x$have_tslib" = "xyes"],
458               [
459                 CLUTTER_INPUT_BACKENDS="$CLUTTER_INPUT_BACKENDS tslib"
460                 experimental_input_backend="yes"
461                 AC_DEFINE([HAVE_TSLIB], [1], [Have tslib for touchscreen handling])
462                 SUPPORT_TSLIB=1
463               ])
464       ])
465
466 AS_IF([test "x$enable_evdev" = "xyes"],
467       [
468         PKG_CHECK_MODULES(EVDEV, [gudev-1.0 xkbcommon], [have_evdev=yes], [have_evdev=no])
469         AS_IF([test "x$have_evdev" = "xyes"],
470               [
471                 CLUTTER_INPUT_BACKENDS="$CLUTTER_INPUT_BACKENDS evdev"
472                 BACKEND_PC_FILES="$BACKEND_PC_FILES gudev-1.0 xkbcommon"
473                 experimental_input_backend="yes"
474                 AC_DEFINE([HAVE_EVDEV], [1], [Have evdev support for input handling])
475                 SUPPORT_EVDEV=1
476               ])
477       ])
478
479 # conditionals for use in automake files...
480 AM_CONDITIONAL(SUPPORT_GLX,     [test "x$SUPPORT_GLX" = "x1"])
481 AM_CONDITIONAL(SUPPORT_X11,     [test "x$SUPPORT_X11" = "x1"])
482 AM_CONDITIONAL(SUPPORT_GDK,     [test "x$SUPPORT_GDK" = "x1"])
483 AM_CONDITIONAL(SUPPORT_EGL,     [test "x$SUPPORT_EGL" = "x1"])
484 AM_CONDITIONAL(SUPPORT_OSX,     [test "x$SUPPORT_OSX" = "x1"])
485 AM_CONDITIONAL(SUPPORT_WIN32,   [test "x$SUPPORT_WIN32" = "x1"])
486 AM_CONDITIONAL(SUPPORT_CEX100,  [test "x$SUPPORT_EGL_PLATFORM_GDL" = "x1"])
487 AM_CONDITIONAL(SUPPORT_WAYLAND, [test "x$SUPPORT_WAYLAND" = "x1"])
488 AM_CONDITIONAL(SUPPORT_STUB,    [test "x$SUPPORT_WIN32" = "x1" -o \
489                                       "x$SUPPORT_OSX" = "x1"])
490
491 AM_CONDITIONAL(USE_COGL,  [test "x$SUPPORT_COGL" = "x1"])
492 AM_CONDITIONAL(USE_TSLIB, [test "x$have_tslib" = "xyes"])
493 AM_CONDITIONAL(USE_EVDEV, [test "x$have_evdev" = "xyes"])
494 AM_CONDITIONAL(USE_GLD,   [test "x$have_gdl" = "xyes"])
495
496 dnl Instead of using AM_CFLAGS to ensure
497 dnl COGL_ENABLE_EXPERIMENTAL_2_0_API is defined while compiling clutter
498 dnl and cogl code we use a define in config.h instead. This helps ensure
499 dnl other tools such as glib-mkenums and gir-scanner don't end up
500 dnl using the define also.
501 AC_DEFINE([COGL_ENABLE_EXPERIMENTAL_2_0_API], [1], [Can use Cogl 2.0 API internally])
502
503 dnl strip leading spaces
504 CLUTTER_BACKENDS=${CLUTTER_BACKENDS#* }
505 AC_SUBST(CLUTTER_BACKENDS)
506
507 CLUTTER_INPUT_BACKENDS=${CLUTTER_INPUT_BACKENDS#* }
508 AC_SUBST(CLUTTER_INPUT_BACKENDS)
509
510 AC_CACHE_SAVE
511
512 dnl === Clutter configuration =================================================
513
514 # windowing systems
515 AS_IF([test "x$SUPPORT_X11" = "x1"],
516       [CLUTTER_CONFIG_DEFINES="$CLUTTER_CONFIG_DEFINES
517 #define CLUTTER_WINDOWING_X11 \"x11\"
518 #define CLUTTER_INPUT_X11 \"x11\""])
519 AS_IF([test "x$SUPPORT_GDK" = "x1"],
520       [CLUTTER_CONFIG_DEFINES="$CLUTTER_CONFIG_DEFINES
521 #define CLUTTER_WINDOWING_GDK \"gdk\"
522 #define CLUTTER_INPUT_GDK \"gdk\""])
523 AS_IF([test "x$SUPPORT_GLX" = "x1"],
524       [CLUTTER_CONFIG_DEFINES="$CLUTTER_CONFIG_DEFINES
525 #define CLUTTER_WINDOWING_GLX \"glx\""])
526 AS_IF([test "x$SUPPORT_EGL" = "x1"],
527       [CLUTTER_CONFIG_DEFINES="$CLUTTER_CONFIG_DEFINES
528 #define CLUTTER_WINDOWING_EGL \"eglnative\""])
529 AS_IF([test "x$SUPPORT_WAYLAND" = "x1"],
530       [CLUTTER_CONFIG_DEFINES="$CLUTTER_CONFIG_DEFINES
531 #define CLUTTER_WINDOWING_WAYLAND \"wayland\""])
532 AS_IF([test "x$SUPPORT_OSX" = "x1"],
533       [CLUTTER_CONFIG_DEFINES="$CLUTTER_CONFIG_DEFINES
534 #define CLUTTER_WINDOWING_OSX \"osx\"
535 #define CLUTTER_INPUT_OSX \"osx\""])
536 AS_IF([test "x$SUPPORT_WIN32" = "x1"],
537       [CLUTTER_CONFIG_DEFINES="$CLUTTER_CONFIG_DEFINES
538 #define CLUTTER_WINDOWING_WIN32 \"win32\"
539 #define CLUTTER_INPUT_WIN32 \"win32\""])
540 AS_IF([test "x$SUPPORT_EGL_PLATFORM_GDL" = "x1"],
541       [CLUTTER_CONFIG_DEFINES="$CLUTTER_CONFIG_DEFINES
542 #define CLUTTER_WINDOWING_CEX100 \"cex100\""])
543 AS_IF([test "x$SUPPORT_EVDEV" = "x1"],
544       [CLUTTER_CONFIG_DEFINES="$CLUTTER_CONFIG_DEFINES
545 #define CLUTTER_INPUT_EVDEV \"evdev\""])
546 AS_IF([test "x$SUPPORT_TSLIB" = "x1"],
547       [CLUTTER_CONFIG_DEFINES="$CLUTTER_CONFIG_DEFINES
548 #define CLUTTER_INPUT_TSLIB \"tslib\""])
549 AS_IF([test "x$SUPPORT_WAYLAND" = "x1"],
550       [CLUTTER_CONFIG_DEFINES="$CLUTTER_CONFIG_DEFINES
551 #define CLUTTER_INPUT_WAYLAND \"wayland\""])
552
553 # the 'null' input backend is special
554 CLUTTER_CONFIG_DEFINES="$CLUTTER_CONFIG_DEFINES
555 #define CLUTTER_INPUT_NULL \"null\""
556
557 AC_SUBST([CLUTTER_CONFIG_DEFINES])
558
559 dnl === Clutter substitutions kept for backwards compatibility ================
560 AC_SUBST([CLUTTER_WINSYS],       [deprecated])
561 AC_SUBST([CLUTTER_WINSYS_BASE],  [deprecated])
562 AC_SUBST([CLUTTER_STAGE_TYPE],   [deprecated])
563 AC_SUBST([CLUTTER_SONAME_INFIX], [deprecated])
564 AC_SUBST([CLUTTER_FLAVOUR],      [deprecated])
565 AC_SUBST([CLUTTER_COGL],         [deprecated])
566 AC_SUBST([COGL_DRIVER],          [deprecated])
567
568 dnl === Image loading backend =================================================
569 IMAGE_PC_FILES=""
570
571 dnl === X11 checks, only for X11-based backends ===============================
572 X11_PC_FILES=""
573 X11_EXTS=""
574 x11_tests=no
575
576 AS_IF([test "x$SUPPORT_X11" = "x1"],
577       [
578         # base X11 includes and libraries
579         AC_MSG_CHECKING([for X11])
580
581         # start with pkg-config
582         PKG_CHECK_EXISTS([x11], [have_x11=yes], [have_x11=no])
583         AS_IF([test "x$have_x11" = "xyes"],
584               [
585                 X11_PC_FILES="x11"
586
587                 # we actually need to ask for CFLAGS and LIBS
588                 X11_CFLAGS=`$PKG_CONFIG --cflags $X11_PC_FILES`
589                 X11_LIBS=`$PKG_CONFIG --libs $X11_PC_FILES`
590
591                 AC_MSG_RESULT([found])
592               ],
593               [
594                 # no pkg-config, let's go old school
595                 AC_PATH_X
596
597                 AS_IF([test "x$no_x" = "xyes"],
598                       [AC_MSG_ERROR([No X11 Libraries found])],
599                       [
600                         AS_IF([test "x$x_includes" != "xNONE" && test -n "$x_includes"],
601                               [X11_CFLAGS=-I`echo $x_includes | sed -e "s/:/ -I/g"`])
602
603                         AS_IF([test "x$x_libraries" != "xNONE" && test -n "$x_libraries"],
604                               [X11_LIBS=-L`echo $x_libraries | sed -e "s/:/ -L/g"`])
605
606                         AC_MSG_RESULT([found])
607                       ]
608                 )
609               ]
610         )
611
612         # XEXT (required)
613         AC_MSG_CHECKING([for XEXT extension])
614         PKG_CHECK_EXISTS([xext], [have_xext=yes], [have_xext=no])
615         AS_IF([test "x$have_xext" = "xyes"],
616               [
617                 AC_DEFINE(HAVE_XEXT, [1], [Define to 1 if we have the XEXT X extension])
618
619                 X11_LIBS="$X11_LIBS -lXext"
620                 X11_PC_FILES="$X11_PC_FILES xext"
621                 X11_EXTS="$X11_EXTS xext"
622
623                 AC_MSG_RESULT([found])
624               ],
625               [AC_MSG_ERROR([Not found])]
626         )
627
628         # XFIXES (required)
629         AC_MSG_CHECKING([for XFIXES extension >= $XFIXES_REQ_VERSION])
630         PKG_CHECK_EXISTS([xfixes >= $XFIXES_REQ_VERSION], [have_xfixes=yes], [have_xfixes=no])
631         AS_IF([test "x$have_xfixes" = "xyes"],
632               [
633                 AC_DEFINE(HAVE_XFIXES, [1], [Define to 1 if we have the XFIXES X extension])
634
635                 X11_LIBS="$X11_LIBS -lXfixes"
636                 X11_PC_FILES="$X11_PC_FILES xfixes >= $XFIXES_REQ_VERSION"
637                 X11_EXTS="$X11_EXTS xfixes"
638
639                 AC_MSG_RESULT([found])
640               ],
641               [AC_MSG_ERROR([Not found])]
642         )
643
644         # XDAMAGE (required)
645         AC_MSG_CHECKING([for XDAMAGE extension])
646         PKG_CHECK_EXISTS([xdamage], [have_xdamage=yes], [have_xdamage=no])
647         AS_IF([test "x$have_xdamage" = "xyes"],
648               [
649                 AC_DEFINE(HAVE_XDAMAGE, [1], [Define to 1 if we have the XDAMAGE X extension])
650
651                 X11_LIBS="$X11_LIBS -lXdamage"
652                 X11_PC_FILES="$X11_PC_FILES xdamage"
653                 X11_EXTS="$X11_EXTS xdamage"
654
655                 AC_MSG_RESULT([found])
656               ],
657               [AC_MSG_ERROR([not found])]
658         )
659
660         # XCOMPOSITE (optional)
661         AC_MSG_CHECKING([for XCOMPOSITE extension >= $XCOMPOSITE_REQ_VERSION])
662         PKG_CHECK_EXISTS([xcomposite >= $XCOMPOSITE_REQ_VERSION], [have_xcomposite=yes], [have_xcomposite=no])
663         AS_IF([test "x$have_xcomposite" = "xyes"],
664               [
665                 AC_DEFINE(HAVE_XCOMPOSITE, [1], [Define to 1 if we have the XCOMPOSITE X extension])
666
667                 X11_LIBS="$X11_LIBS -lXcomposite"
668                 X11_PC_FILES="$X11_PC_FILES xcomposite >= $XCOMPOSITE_REQ_VERSION"
669                 X11_EXTS="$X11_EXTS xcomposite"
670
671                 AC_MSG_RESULT([found])
672               ],
673               [AC_MSG_ERROR([not found])]
674         )
675
676         # X Generic Extensions (optional)
677         clutter_save_CPPFLAGS="$CPPFLAGS"
678         CPPFLAGS="$CPPFLAGS $X11_CFLAGS"
679
680         clutter_save_LIBS="$LIBS"
681         LIBS="$LIBS $X11_LIBS"
682
683         have_xge=no
684         AC_CHECK_FUNC([XGetEventData],
685                       [
686                         AC_DEFINE([HAVE_XGE], [1], [Define to 1 if X Generic Extensions is available])
687                         have_xge=yes
688                         X11_EXTS="$X11_EXTS xge"
689                       ])
690
691         CPPFLAGS="$clutter_save_CPPFLAGS"
692         LIBS="$clutter_save_LIBS"
693
694         # XI (optional)
695         AC_ARG_ENABLE([xinput],
696                       [AS_HELP_STRING([--enable-xinput], [Use the XI X extension])],
697                       [],
698                       [enable_xinput=yes])
699
700         AS_IF([test "x$enable_xinput" = "xyes"],
701               [
702                 PKG_CHECK_EXISTS([xi], [have_xinput=yes], [have_xinput=no])
703               ],
704               [
705                 have_xinput=no
706               ])
707
708         AS_CASE([$have_xinput],
709
710                 [yes],
711                 [
712                   AC_CHECK_HEADERS([X11/extensions/XInput2.h],
713                                    [
714                                      have_xinput2=yes
715                                      AC_DEFINE([HAVE_XINPUT_2],
716                                                [1],
717                                                [Define to 1 if XI2 is available])
718                                    ],
719                                    [
720                                      have_xinput2=no
721                                      AC_DEFINE([HAVE_XINPUT],
722                                                [1],
723                                                [Define to 1 if XInput is available])
724                                    ])
725
726                   X11_LIBS="$X11_LIBS $XINPUT_LIBS"
727                   X11_PC_FILES="$X11_PC_FILES xi"
728                   X11_EXTS="$X11_EXTS xi"
729                 ],
730
731                 [no],
732                 [have_xinput2=no],
733
734                 [*],
735                 [AC_MSG_ERROR([Invalid argument for --enable-xinput])]
736         )
737
738         # XKB
739         clutter_save_CPPFLAGS="$CPPFLAGS"
740         CPPFLAGS="$CPPFLAGS $X11_CFLAGS"
741
742         clutter_save_LIBS="$LIBS"
743         LIBS="$LIBS $X11_LIBS"
744
745         have_xkb=no
746         AC_CHECK_FUNC([XkbQueryExtension],
747                       [
748                         AC_DEFINE(HAVE_XKB, 1, [Define to use XKB extension])
749                         have_xkb=yes
750
751                         X11_EXTS="$X11_EXTS xkb"
752                       ])
753
754         CPPFLAGS="$clutter_save_CPPFLAGS"
755         LIBS="$clutter_save_LIBS"
756
757         x11_tests=yes
758         BACKEND_PC_FILES="$BACKEND_PC_FILES $X11_PC_FILES"
759         FLAVOUR_LIBS="$FLAVOUR_LIBS $X11_LIBS"
760         FLAVOUR_CFLAGS="$FLAVOUR_CFLAGS $X11_CFLAGS"
761       ]
762 )
763
764 AM_CONDITIONAL([BUILD_XI2], [test "x$have_xinput2" = "xyes"])
765 AM_CONDITIONAL([X11_TESTS], [test "x$x11_tests" = "xyes"])
766
767 X11_EXTS=${X11_EXTS#* }
768
769 AC_CACHE_SAVE
770
771 dnl === Enable debug level ====================================================
772
773 m4_define([debug_default], [m4_if(m4_eval(clutter_minor_version % 2), [1], [yes], [minimum])])
774 AC_ARG_ENABLE([debug],
775               [AS_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@],
776                               [Control Clutter debugging level @<:@default=]debug_default[@:>@])],
777               [],
778               [enable_debug=debug_default])
779
780 AS_CASE([$enable_debug],
781
782         [yes],
783         [
784           test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
785           CLUTTER_DEBUG_CFLAGS="-DCLUTTER_ENABLE_DEBUG"
786         ],
787
788         [minimum],
789         [CLUTTER_DEBUG_CFLAGS="-DCLUTTER_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS"],
790
791         [no],
792         [CLUTTER_DEBUG_CFLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"],
793
794         [AC_MSG_ERROR([Unknown argument for --enable-debug])]
795 )
796
797 AC_SUBST(CLUTTER_DEBUG_CFLAGS)
798
799 dnl === Enable deprecation guards ==================================================
800
801 m4_define([deprecated_default],
802           [m4_if(m4_eval(clutter_minor_version % 2),
803                  [1],
804                  [no],
805                  [yes])])
806
807 AC_ARG_ENABLE([deprecated],
808               [AS_HELP_STRING([--enable-deprecated=@<:@no/yes@:>@],
809                               [Whether deprecated symbols should be disabled when compiling Clutter @<:@default=]deprecated_default[@:>@])],
810               [],
811               [enable_deprecated=deprecated_default])
812
813 AS_CASE([$enable_deprecated],
814
815         [no],
816         [
817           CLUTTER_DEPRECATED_CFLAGS="-DG_DISABLE_SINGLE_INCLUDES -DCOGL_DISABLE_DEPRECATED"
818         ],
819
820         [yes],
821         [
822           CLUTTER_DEPRECATED_CFLAGS="-DGLIB_DISABLE_DEPRECATION_WARNINGS -DCLUTTER_DISABLE_DEPRECATION_WARNINGS"
823         ],
824
825         [AC_MSG_ERROR([Unknown argument for --enable-deprecated])]
826 )
827
828 AC_SUBST([CLUTTER_DEPRECATED_CFLAGS])
829
830
831 dnl === Conformance test suite ================================================
832
833 AC_ARG_ENABLE([conformance],
834               [AS_HELP_STRING([--enable-conformance=@<:@no/yes@:>@],
835                               [Build conformance test suite @<:@default=yes@:>@])],
836               [],
837               [enable_conformance=yes])
838
839 AM_CONDITIONAL([BUILD_TESTS], [test "x$enable_conformance" = "xyes"])
840
841 dnl === Profiling =============================================================
842
843 m4_define([profile_default], [no])
844 AC_ARG_ENABLE(profile,
845               AS_HELP_STRING([--enable-profile=@<:@no/yes@:>@],
846                              [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@:>@]),
847               [],
848               [enable_profile=profile_default])
849
850 AS_CASE([$enable_profile],
851
852         [yes],
853         [
854           AS_IF([test "x$GCC" = "xyes"],
855                 [
856                   PKG_CHECK_MODULES([PROFILE_DEP], [uprof-0.3])
857                   CLUTTER_PROFILE_CFLAGS="-DCLUTTER_ENABLE_PROFILE $PROFILE_DEP_CFLAGS"
858                   CLUTTER_PROFILE_LDFLAGS="$PROFILE_DEP_LIBS"
859
860                   AS_IF([test "x$enable_debug" = "xyes"], [CLUTTER_PROFILE_CFLAGS+=" -DUPROF_DEBUG"])
861                 ],
862                 [
863                   AC_MSG_ERROR([--enable-profile is currently only supported if using GCC])
864                 ])
865         ],
866
867         [no],
868         [
869           CLUTTER_PROFILE_CFLAGS=""
870           CLUTTER_PROFILE_LDFLAGS=""
871         ],
872
873         [*], [AC_MSG_ERROR([Invalid value for --enable-profile])]
874 )
875 AM_CONDITIONAL(PROFILE, test "x$enable_profile" != "xno")
876 AC_SUBST(CLUTTER_PROFILE_CFLAGS)
877 AC_SUBST(CLUTTER_PROFILE_LDFLAGS)
878
879 dnl === Coverage report =======================================================
880
881 AC_PATH_PROG([GCOV], [gcov], [enable_gcov=no])
882
883 AC_MSG_CHECKING([whether to build with gcov testing])
884
885 AC_ARG_ENABLE([gcov],
886               [AS_HELP_STRING([--enable-gcov],
887                               [Whether to enable coverage testing (requires gcc
888 and gcov)])],
889               [],
890               [enable_gcov=no])
891
892 AS_IF([test "x$enable_gcov" = "xyes" && test "x$GCC" = "xyes"],
893       [
894         AS_IF([test "x$enable_conformance" = "xno"],
895               [AC_MSG_WARN([Conformance test suite is disabled, the coverage report will be incomplete])],
896               [AC_MSG_RESULT([yes])]
897         )
898
899         GCOV_CFLAGS="-g -O0 -fprofile-arcs -ftest-coverage"
900         GCOV_LDFLAGS="-lgcov"
901       ],
902       [AC_MSG_RESULT([no])]
903 )
904
905 AM_CONDITIONAL([GCOV_ENABLED], [test "x$enable_gcov" = "xyes"])
906 AC_SUBST([GCOV_CFLAGS])
907 AC_SUBST([GCOV_LDFLAGS])
908
909 dnl === Enable strict compiler flags ==========================================
910
911 # use strict compiler flags only when building from git; the rules for
912 # distcheck will take care of turning this on when making a release
913 m4_define([maintainer_flags_default], [m4_if(m4_eval(clutter_micro_version % 2), [1], [yes], [no])])
914 AC_ARG_ENABLE([maintainer-flags],
915               [AS_HELP_STRING([--enable-maintainer-flags=@<:@no/yes/error@:>@],
916                               [Use strict compiler flags @<:@default=]maintainer_flags_default[@:>@])],
917               [],
918               [enable_maintainer_flags=maintainer_flags_default])
919
920 MAINTAINER_COMPILER_FLAGS="$MAINTAINER_COMPILER_FLAGS
921                            -Wall -Wcast-align -Wuninitialized
922                            -Wno-strict-aliasing -Wempty-body -Wformat
923                            -Wformat-security -Winit-self
924                            -Wdeclaration-after-statement -Wvla
925                            -Wpointer-arith"
926
927 AS_CASE([$enable_maintainer_flags],
928         [yes],
929         [
930           AS_COMPILER_FLAGS([MAINTAINER_CFLAGS], [$MAINTAINER_COMPILER_FLAGS])
931         ],
932
933         [no],
934         [
935         ],
936
937         [error],
938         [
939           MAINTAINER_COMPILER_FLAGS="$MAINTAINER_COMPILER_FLAGS -Werror"
940           AS_COMPILER_FLAGS([MAINTAINER_CFLAGS], [$MAINTAINER_COMPILER_FLAGS])
941         ],
942
943         [*],
944         [AC_MSG_ERROR([Invalid option for --enable-maintainer-flags])]
945 )
946
947 # strip leading spaces
948 MAINTAINER_CFLAGS=${MAINTAINER_CFLAGS#*  }
949 AC_SUBST(MAINTAINER_CFLAGS)
950
951 dnl === Dependencies, compiler flags and linker libraries =====================
952 # strip leading space
953 BACKEND_PC_FILES=${BACKEND_PC_FILES#* }
954
955 CLUTTER_REQUIRES="$CLUTTER_BASE_PC_FILES $IMAGE_PC_FILES $BACKEND_PC_FILES"
956 PKG_CHECK_MODULES(CLUTTER_DEPS, [$CLUTTER_REQUIRES])
957 AC_SUBST(CLUTTER_REQUIRES)
958
959 CLUTTER_CFLAGS="$FLAVOUR_CFLAGS $CLUTTER_DEPS_CFLAGS $CLUTTER_PROFILE_CFLAGS $GLIB_CFLAGS"
960 CLUTTER_LIBS="$FLAVOUR_LIBS $CLUTTER_DEPS_LIBS $CLUTTER_PROFILE_LDFLAGS $GLIB_LIBS"
961 AC_SUBST(CLUTTER_CFLAGS)
962 AC_SUBST(CLUTTER_LIBS)
963
964
965 dnl === GObject-Introspection check ===========================================
966
967 GOBJECT_INTROSPECTION_CHECK([gi_req_version])
968
969 dnl === GTK Doc check =========================================================
970
971 GTK_DOC_CHECK([gtk_doc_req_version], [--flavour no-tmpl])
972
973 # we don't want to build the documentation from a Git clone unless we
974 # explicitly tell configure to do so; this allows avoiding to recurse into
975 # the documentation directory when building Clutter inside Poky for a
976 # target device that doesn't have gtk-doc installed. for reference
977 # see: http://bugzilla.openedhand.com/show_bug.cgi?id=1047
978 #
979 # we use autogen.sh as it exists only inside the Git clones, and it
980 # is not packaged into tarballs.
981 AM_CONDITIONAL([BUILD_GTK_DOC], [test "x$enable_gtk_doc" = "xyes" || test ! -f "autogen.sh"])
982
983 # prefixes for fixing gtk-doc references
984 CAIRO_PREFIX="`$PKG_CONFIG --variable=prefix cairo`"
985 GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
986 PANGO_PREFIX="`$PKG_CONFIG --variable=prefix pango`"
987 COGL_PREFIX="`$PKG_CONFIG --variable=prefix cogl-1.0`"
988 ATK_PREFIX="`$PKG_CONFIG --variable=prefix atk`"
989 AC_SUBST(CAIRO_PREFIX)
990 AC_SUBST(GLIB_PREFIX)
991 AC_SUBST(PANGO_PREFIX)
992 AC_SUBST(COGL_PREFIX)
993 AC_SUBST(ATK_PREFIX)
994
995 dnl === Manual ================================================================
996
997 AC_ARG_ENABLE([docs],
998               [AS_HELP_STRING([--enable-docs=@<:@no/yes@:>@],
999                               [Build optional documentation; requires xsltproc and jw.])],
1000               [enable_docs=$enableval],
1001               [enable_docs=no])
1002
1003 enable_pdfs=no
1004 AS_IF([test "x$enable_docs" = "xyes"],
1005       [
1006         AC_PATH_PROG(JW, [jw], [no])
1007         AS_IF([test "x$JW" = "xno"],
1008               [
1009                 AC_MSG_WARN([jw not found; pdf generation has been disabled])
1010               ],
1011               [enable_pdfs=yes])
1012
1013         AC_PATH_PROG(XSLTPROC, [xsltproc], [no])
1014         AS_IF([test "x$XSLTPROC" = "xno"],
1015               [
1016                 AC_MSG_ERROR([xsltproc not found])
1017               ])
1018       ]
1019 )
1020
1021 AM_CONDITIONAL(ENABLE_DOCS, [test "x$enable_docs" = "xyes"])
1022 AM_CONDITIONAL(ENABLE_PDFS, [test "x$enable_pdfs" = "xyes"])
1023
1024 dnl === I18N ==================================================================
1025
1026 AM_GNU_GETTEXT_VERSION([0.17])
1027 AM_GNU_GETTEXT([external])
1028
1029 GETTEXT_PACKAGE="clutter-1.0"
1030 AC_SUBST(GETTEXT_PACKAGE)
1031 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],
1032                    ["$GETTEXT_PACKAGE"],
1033                    [The prefix for our gettext translation domains.])
1034 AS_ALL_LINGUAS
1035
1036 dnl ===========================================================================
1037
1038 AC_CONFIG_FILES([
1039         Makefile
1040         config.h.win32
1041         README
1042
1043         build/Makefile
1044         build/autotools/Makefile
1045         build/mingw/Makefile
1046         build/win32/Makefile
1047         build/win32/vs9/Makefile
1048         build/win32/vs10/Makefile
1049
1050         clutter/Makefile
1051         clutter/clutter-config.h
1052         clutter/clutter-version.h
1053         clutter/clutter-version.h.win32
1054         clutter/clutter-$CLUTTER_API_VERSION.pc:clutter/clutter.pc.in
1055
1056         clutter/cally/cally-$CLUTTER_API_VERSION.pc:clutter/cally/cally.pc.in
1057
1058         clutter/cex100/clutter-cex100.h
1059
1060         tests/Makefile
1061         tests/accessibility/Makefile
1062         tests/conform/Makefile
1063         tests/conform/test-launcher.sh
1064         tests/data/Makefile
1065         tests/interactive/Makefile
1066         tests/interactive/wrapper.sh
1067         tests/micro-bench/Makefile
1068         tests/performance/Makefile
1069
1070         doc/Makefile
1071         doc/reference/Makefile
1072         doc/reference/clutter/Makefile
1073         doc/reference/clutter/clutter-docs.xml
1074         doc/reference/cally/Makefile
1075         doc/reference/cally/cally-docs.xml
1076         doc/common/Makefile
1077         doc/cookbook/Makefile
1078         doc/cookbook/clutter-cookbook.xml
1079         doc/cookbook/examples/Makefile
1080
1081         po/Makefile.in
1082 ])
1083
1084 AC_OUTPUT
1085
1086 dnl === Summary ===============================================================
1087
1088 echo ""
1089 echo "Clutter - $VERSION (${CLUTTER_RELEASE_STATUS})"
1090
1091 # Global flags
1092 echo ""
1093 echo " • Global:"
1094 echo "        Prefix: ${prefix}"
1095 echo "        Libdir: ${libdir}"
1096 echo "        Sysconfdir: ${sysconfdir}"
1097
1098 # Compiler/Debug related flags
1099 echo ""
1100 echo " • Compiler options:"
1101 echo "        Clutter debug level: ${enable_debug}"
1102 echo "        Compiler flags: ${CFLAGS} ${MAINTAINER_CFLAGS}"
1103 echo "        Profiling enabled: ${enable_profile}"
1104 echo "        Enable coverage tests: ${enable_gcov}"
1105 echo "        Enable deprecated symbols: ${enable_deprecated}"
1106
1107 # Documentation
1108 echo ""
1109 echo " • Documentation:"
1110 echo "        Build API Reference: ${enable_gtk_doc}"
1111 echo "        Build Additional Documentation: ${enable_docs} (Generate PDF: ${enable_pdfs})"
1112
1113 # Miscellaneous
1114 echo ""
1115 echo " • Extra:"
1116 echo "        Build introspection data: ${enable_introspection}"
1117 echo "        Build conformance test suite: ${enable_conformance}"
1118 echo "        Build X11-specific tests: ${x11_tests}"
1119
1120 # Clutter backend related flags
1121 echo ""
1122 echo " • Clutter Backends:"
1123
1124 if test "x$experimental_backend" = "xno"; then
1125 echo "        Windowing systems: ${CLUTTER_BACKENDS}"
1126 else
1127 echo "        Windowing systems: ${CLUTTER_BACKENDS} (WARNING: Experimental backends enabled)"
1128 fi
1129
1130 if test "x$experimental_input_backend" = "xno"; then
1131 echo "        Input backends: ${CLUTTER_INPUT_BACKENDS}"
1132 else
1133 echo "        Input backends: ${CLUTTER_INPUT_BACKENDS} (WARNING: Experimental backends enabled)"
1134 fi
1135
1136 if test "x$SUPPORT_X11" = "x1"; then
1137 echo ""
1138 echo "     - X11 backend options:"
1139 echo "        Enabled extensions: ${X11_EXTS}"
1140 echo "        Build X11-specific tests: ${x11_tests}"
1141 fi
1142
1143 if test "x$SUPPORT_CEX100" = "x1"; then
1144 echo ""
1145 echo "     - CEx100 backend options:"
1146 echo "        libGDL include prefix: ${CLUTTER_CEX100_LIBGDL_PREFIX}"
1147 fi
1148
1149 echo "        Wayland compositor features: ${SUPPORT_WAYLAND_COMPOSITOR}"
1150
1151 echo ""
1152
1153 # General warning about experimental features
1154 if test "x$experimental_backend" = "xyes"; then
1155 echo ""
1156 echo "☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠"
1157 echo "*WARNING* *WARNING* *WARNING* *WARNING* *WARNING* *WARNING* *WARNING*"
1158 echo ""
1159 echo "  The stability of your build might be affected by one or more"
1160 echo "  experimental backends or experimental and unsupported features"
1161 echo ""
1162 echo "*WARNING* *WARNING* *WARNING* *WARNING* *WARNING* *WARNING* *WARNING*"
1163 echo "☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠"
1164 echo ""
1165 fi