mutter/configure.ac
Emmanuele Bassi 605dfb8fd0 Add runtime debug messages for COGL
Clutter is able to show debug messages written using the CLUTTER_NOTE()
macro at runtime, either by using an environment variable:

  CLUTTER_DEBUG=...

or by using a command line switch:

  --clutter-debug=...
  --clutter-no-debug=...

Both are parsed during the initialization process by using the
GOption API.

COGL would benefit from having the same support.

In order to do this, we need a cogl_get_option_group() function in
COGL that sets up a GOptionGroup for COGL and adds a pre-parse hook
that will check the COGL_DEBUG environment variable. The OptionGroup
will also install two command line switches:

  --cogl-debug
  --cogl-no-debug

With the same semantics of the Clutter ones.

During Clutter initialization, the COGL option group will be attached
to the GOptionContext used to parse the command line options passed
to a Clutter application.

Every debug message written using:

  COGL_NOTE (SECTION, "message format", arguments);

Will then be printed only if SECTION was enabled at runtime.

This whole machinery, like the equivalent one in Clutter, depends on
a compile time switch, COGL_ENABLE_DEBUG, which is enabled at the same
time as CLUTTER_ENABLE_DEBUG. Having two different symbols allows
greater granularity.
2009-02-23 13:00:52 +00:00

756 lines
24 KiB
Plaintext

# clutter package version number, (as distinct from shared library version)
# An odd micro number indicates in-progress development, (eg. from CVS)
# An even micro number indicates a released version.
m4_define([clutter_major_version], [0])
m4_define([clutter_minor_version], [9])
m4_define([clutter_micro_version], [1])
m4_define([clutter_version],
[clutter_major_version.clutter_minor_version.clutter_micro_version])
m4_define([clutter_api_version],
[clutter_major_version.clutter_minor_version])
# increase the interface age by 2 for each release;
# if the API changes, set to 0
m4_define([clutter_interface_age], [0])
m4_define([clutter_binary_age],
[m4_eval(100 * clutter_minor_version + clutter_micro_version)])
AC_PREREQ(2.53)
AC_INIT([clutter],
[clutter_version],
[http://bugzilla.o-hand.com/enter_bug.cgi?product=Clutter])
AC_CONFIG_MACRO_DIR([build/autotools])
AC_CONFIG_SRCDIR([clutter/clutter.h])
AM_CONFIG_HEADER([config.h])
AM_INIT_AUTOMAKE([1.9])
CLUTTER_MAJOR_VERSION=clutter_major_version
CLUTTER_MINOR_VERSION=clutter_minor_version
CLUTTER_MICRO_VERSION=clutter_micro_version
CLUTTER_VERSION=clutter_version
CLUTTER_API_VERSION=clutter_api_version
CLUTTER_MAJORMINOR=clutter_api_version
AC_SUBST(CLUTTER_MAJOR_VERSION)
AC_SUBST(CLUTTER_MINOR_VERSION)
AC_SUBST(CLUTTER_MICRO_VERSION)
AC_SUBST(CLUTTER_VERSION)
AC_SUBST(CLUTTER_API_VERSION)
AC_SUBST(CLUTTER_MAJORMINOR)
m4_define([lt_current],
[m4_eval(100 * clutter_minor_version + clutter_micro_version - clutter_interface_age)])
m4_define([lt_revision], [clutter_interface_age])
m4_define([lt_age], [m4_eval(clutter_binary_age - clutter_interface_age)])
CLUTTER_LT_CURRENT=lt_current
CLUTTER_LT_REV=lt_revision
CLUTTER_LT_AGE=lt_age
CLUTTER_LT_VERSION="$CLUTTER_LT_CURRENT:$CLUTTER_LT_REV:$CLUTTER_LT_AGE"
CLUTTER_LT_LDFLAGS="-version-info $CLUTTER_LT_VERSION"
AC_SUBST(CLUTTER_LT_VERSION)
AC_SUBST(CLUTTER_LT_LDFLAGS)
dnl ========================================================================
# Checks for programs.
AM_PROG_CC_C_O
#_AM_DEPENDENCIES([OBJC])
#AC_PROG_OBJC
AC_DISABLE_STATIC
AC_PROG_LIBTOOL
DOLT
# Make libtool respect the make -s switch (kudos to jacob berman)
changequote(,)dnl
LIBTOOL="${LIBTOOL} \$(shell echo \"\$(MFLAGS)\" | awk '/^[^ ]*s/ { print \"--silent\" }')"
changequote([,])dnl
# Checks for header files.
AC_HEADER_STDC
AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h])
# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
# Checks for library functions.
AC_FUNC_MALLOC
AC_FUNC_MMAP
AC_CHECK_FUNCS([memset munmap strcasecmp strdup])
AC_PATH_PROG([GLIB_MKENUMS], [glib-mkenums])
AC_PATH_PROG([GLIB_GENMARSHAL], [glib-genmarshal])
PKG_PROG_PKG_CONFIG
dnl ========================================================================
# Peek which flavour the user wants so that we can couple the osx flavour with
# quartz imageloader.
if test "x$with_flavour" = "xosx"; then
imagebackend="quartz"
else
imagebackend="gdk-pixbuf"
fi
AC_ARG_WITH([imagebackend],
AC_HELP_STRING([--with-imagebackend=@<:@gdk-pixbuf/quartz/internal@:>@],
[Select COGL image loading backend]),
imagebackend=$with_imagebackend)
case $imagebackend in
quartz)
AC_DEFINE([USE_QUARTZ], 1, [Use Core Graphics (Quartz) for loading image files])
;;
gdk-pixbuf)
AC_DEFINE([USE_GDKPIXBUF], 1, [Use GdkPixbuf for loading image files])
;;
internal)
;;
esac
dnl ========================================================================
backendextra=
backendextralib=
clutterbackend=glx
AC_ARG_WITH([flavour],
AC_HELP_STRING([--with-flavour=@<:@glx/eglx/eglnative/sdl/osx/win32/fruity@:>@],
[Select the Clutter backend]),
clutterbackend=$with_flavour)
case $clutterbackend in
glx|eglx|eglnative|sdl|osx|win32|fruity) ;;
*) AC_MSG_ERROR([Invalid flavour $clutterbackend]) ;;
esac
glesversion=1.1
AC_ARG_WITH([gles],
AC_HELP_STRING([--with-gles=@<:@1.1/2.0@:>@],
[Select Clutter GLES version (for EGL backends)]),
glesversion=$with_gles)
case $glesversion in
1.1|2.0) ;;
*) AC_MSG_ERROR([Invalid GL ES version $glesversion])
esac
if test "x$clutterbackend" = "xfruity"
then
if test "x$glesversion" != "x1.1"; then
AC_MSG_ERROR([Fruity backend only supports GL ES 1.1.]);
fi
glesversion="fruity"
fi
BACKEND_PC_FILES=""
# Check for X though could be redundant if backend does not need it.
AC_MSG_CHECKING([for X11])
PKG_CHECK_EXISTS([x11], [have_x11=yes], [have_x11=no])
if test "x$have_x11" = "xno"; then
AC_PATH_X
if test x"$no_x" = "yes" ; then
if test "x$clutterbackend" = "xglx" or "x$clutterbackend" = "xeglx"
then
AC_MSG_ERROR([No X11 Libraries found and required by backend.])
fi
AC_MSG_RESULT([not found])
else
if test x"$x_includes" != x"NONE" && test -n "$x_includes" ; then
X11_CFLAGS=-I`echo $x_includes | sed -e "s/:/ -I/g"`
fi
if test x"$x_libraries" != x"NONE" && test -n "$x_libraries" ; then
X11_LIBS=-L`echo $x_libraries | sed -e "s/:/ -L/g"`
fi
AC_MSG_RESULT([found])
fi
else
BACKEND_PC_FILES="$BACKEND_PC_FILES x11"
AC_MSG_RESULT([found])
fi
AC_MSG_CHECKING([for XFIXES extension >= 3])
PKG_CHECK_EXISTS([xfixes >= 3], [have_xfixes=yes], [have_xfixes=no])
if test "x$have_xfixes" = "xyes"; then
AC_DEFINE(HAVE_XFIXES, 1, [Define to 1 if we have the XFIXES X extension])
X11_LIBS="$X11_LIBS -lXfixes"
BACKEND_PC_FILES="$BACKEND_PC_FILES xfixes"
AC_MSG_RESULT([found])
else
AC_MSG_RESULT([not found])
fi
AC_MSG_CHECKING([for XDAMAGE extension])
PKG_CHECK_EXISTS([xdamage], [have_xdamage=yes], [have_xdamage=no])
if test "x$have_xdamage" = "xyes"; then
AC_DEFINE(HAVE_XDAMAGE, 1, [Define to 1 if we have the XDAMAGE X extension])
X11_LIBS="$X11_LIBS -lXdamage"
BACKEND_PC_FILES="$BACKEND_PC_FILES xdamage"
AC_MSG_RESULT([found])
else
AC_MSG_RESULT([not found])
fi
AC_MSG_CHECKING([for XCOMPOSITE extension >= 0.4])
PKG_CHECK_EXISTS([xcomposite >= 0.4], [have_xcomposite=yes], [have_xcomposite=no])
if test "x$have_xcomposite" = "xyes"; then
AC_DEFINE(HAVE_XCOMPOSITE, 1, [Define to 1 if we have the XCOMPOSITE X extension])
X11_LIBS="$X11_LIBS -lXcomposite"
BACKEND_PC_FILES="$BACKEND_PC_FILES xcomposite"
AC_MSG_RESULT([found])
else
AC_MSG_RESULT([not found])
fi
x11_tests=no
# Currently require all extentions, may not for actual release.
if test "x$clutterbackend" = "xglx" || test "x$clutterbackend" = "xeglx"
then
if test "x$have_xdamage" = "xno" || test "x$have_xfixes" = "xno" || test "x$have_xcomposite" = "xno"; then
AC_MSG_ERROR([Required backend X11 Libraries not found.])
fi
if test "x$have_xcomposite" = "xyes"; then
x11_tests=yes
fi
fi
AM_CONDITIONAL(X11_TESTS, test "x$x11_tests" != "xno")
xinput=no
AC_ARG_ENABLE(xinput,
AS_HELP_STRING([--enable-xinput],
["Use the XINPUT X extension"]),[
if test "x$enableval" = "xyes" ; then
PKG_CHECK_MODULES(XINPUT,[xi],
xinput=yes,
xinput=no)
fi],
[xinput=yes])
if test "x$xinput" = "xyes"; then
AC_DEFINE(USE_XINPUT, 1, Use the XINPUT X extension)
X11_LIBS="$X11_LIBS -lXi"
BACKEND_PC_FILES="$BACKEND_PC_FILES xi"
fi
dnl This is only used to decide whether to build
dnl tests/tools/disable-npots.la
AC_CHECK_LIB(dl, dlopen, HAVE_LIBDL=yes, HAVE_LIBDL=no)
AM_CONDITIONAL(HAVE_LIBDL, test "x$HAVE_LIBDL" != "xno")
clutter_gl_header=""
use_gles2_wrapper="no"
if test "x$clutterbackend" = "xeglnative" || test "x$clutterbackend" = "xeglx" || test "x$clutterbackend" = "xfruity"
then
case $glesversion in
1*)
clutter_gl_header="GLES/gl.h"
CLUTTER_COGL="gles"
AC_DEFINE([HAVE_COGL_GLES], 1, [Have GL/ES for rendering])
AC_CHECK_HEADERS([GLES/egl.h],,
[AC_MSG_ERROR([Unable to locate required GLES headers])])
AC_CHECK_HEADERS([$clutter_gl_header],,
[AC_MSG_ERROR([Unable to locate required GLES headers])])
# check for upper/lower case libgles_em
# The powervr sdk uses lower case.
AC_CHECK_LIB(GLES_CM, eglInitialize, HAVE_LIBGLES=yes, HAVE_LIBGLES=no)
if test "x$HAVE_LIBGLES" = "xno"; then
AC_CHECK_LIB(GLESv1_CM, eglInitialize, HAVE_LIBGLES=yes, HAVE_LIBGLES=no)
if test "x$HAVE_LIBGLES" = "xno"; then
AC_CHECK_LIB(gles_cm, eglInitialize, HAVE_LIBGLES=yes, HAVE_LIBGLES=no)
if test "x$HAVE_LIBGLES" = "xno"; then
AC_MSG_ERROR([GLES library not found and egl backend requested.]);
else
GLES_LIBS="-lgles_cm"
fi
else
GLES_LIBS="-lGLESv1_CM"
fi
else
GLES_LIBS="-lGLES_CM"
fi
;;
2*)
clutter_gl_header="GLES2/gl2.h"
CLUTTER_COGL="gles"
AC_DEFINE([HAVE_COGL_GLES2], 1, [Have GL/ES for rendering])
AC_CHECK_HEADERS([EGL/egl.h],,
[AC_MSG_ERROR([Unable to locate required GLES headers])])
AC_CHECK_HEADERS([$clutter_gl_header],,
[AC_MSG_ERROR([Unable to locate required GLES headers])])
GLES_LIBS="-lGLESv2 -lEGL"
use_gles2_wrapper=yes
;;
fruity)
CLUTTER_COGL="gles"
AC_DEFINE([HAVE_COGL_GLES], 1, [Have GL/ES for rendering])
clutter_gl_header="GLES/gl.h"
CLUTTER_COGL="gles"
AC_DEFINE([HAVE_COGL_GLES], 1, [Have GL/ES for rendering])
AC_CHECK_HEADERS([GLES/egl.h],,
[AC_MSG_ERROR([Unable to locate required GLES headers])])
AC_CHECK_HEADERS([$clutter_gl_header],,
[AC_MSG_ERROR([Unable to locate required GLES headers])])
;;
*) AC_MSG_ERROR([Invalid GL ES Version '$glesversion' specified])
;;
esac
fi
AM_CONDITIONAL(USE_GLES2_WRAPPER, test "x$use_gles2_wrapper" != "xno")
case $clutterbackend in
sdl)
clutter_gl_header="GL/gl.h"
CLUTTER_FLAVOUR="sdl"
CLUTTER_STAGE_TYPE="CLUTTER_TYPE_STAGE_SDL"
AC_DEFINE([HAVE_CLUTTER_SDL], 1, [Have the SDL backend])
CLUTTER_COGL="gl"
AC_DEFINE([HAVE_COGL_GL], 1, [Have GL for rendering])
AC_PATH_PROG(SDL_CONFIG, sdl-config)
if test "x$SDL_CONFIG" = "x"; then
AC_MSG_ERROR([[No sdl-config binary found in path and SDL flavour requested.]])
else
SDL_CFLAGS=`$SDL_CONFIG --cflags`
SDL_LIBS=`$SDL_CONFIG --libs`
AC_CHECK_HEADERS([$clutter_gl_header],,
[AC_MSG_ERROR([Unable to locate required GL headers])])
dnl Use -lopengl32 under Windows instead of -lGL
case "$host" in
*mingw32*)
SDL_LIBS="$SDL_LIBS -lopengl32"
CLUTTER_LT_LDFLAGS="$CLUTTER_LT_LDFLAGS -no-undefined"
;;
*)
AC_CHECK_LIB(GL, glEnable, HAVE_LIBGL=yes, HAVE_LIBGL=no)
if test "x$HAVE_LIBGL" = "xno"; then
AC_MSG_ERROR([libGL not found]);
fi
SDL_LIBS="$SDL_LIBS -lGL"
;;
esac
fi
;;
glx)
clutter_gl_header="GL/gl.h"
CLUTTER_FLAVOUR="glx"
CLUTTER_STAGE_TYPE="CLUTTER_TYPE_STAGE_GLX"
AC_DEFINE([HAVE_CLUTTER_GLX], 1, [Have the GLX backend])
PKG_CHECK_EXISTS([gl], [have_gl_pc=yes], [have_gl_pc=no])
CLUTTER_COGL="gl"
AC_DEFINE([HAVE_COGL_GL], 1, [Have GL for rendering])
AC_CHECK_HEADERS([$clutter_gl_header],,
[AC_MSG_ERROR([Unable to locate required GL headers])])
AC_CHECK_HEADERS([GL/glx.h],,
[AC_MSG_ERROR([Unable to locate required GLX headers])])
AC_CHECK_LIB(GL, glXCreateContext, HAVE_LIBGLX=yes, HAVE_LIBGLX=no)
if test "x$HAVE_LIBGLX" = "xno"; then
AC_MSG_ERROR([GLX not found and GLX backend requested]);
fi
GLX_LIBS="$X11_LIBS -lGL"
GLX_CFLAGS="$X11_CFLAGS"
backendextra=x11
backendextralib="x11/libclutter-x11.la"
# Mesa 7.3 added a GL pkg-config file, finally
if test "x$have_gl_pc" = "xyes"; then
BACKEND_PC_FILES="$BACKEND_PC_FILES gl"
fi
;;
eglx)
CLUTTER_FLAVOUR="eglx"
CLUTTER_STAGE_TYPE="CLUTTER_TYPE_STAGE_EGL"
AC_DEFINE([HAVE_CLUTTER_EGL], 1, [Have the EGL backend])
EGL_LIBS="$GLES_LIBS $X11_LIBS"
EGL_CFLAGS="$GLES_CFLAGS $X11_CFLAGS"
backendextra=x11
backendextralib="x11/libclutter-x11.la"
;;
eglnative)
CLUTTER_FLAVOUR="eglnative"
CLUTTER_STAGE_TYPE="CLUTTER_TYPE_STAGE_EGLNATIVE"
AC_DEFINE([HAVE_CLUTTER_EGL], 1, [Have the EGL backend])
PKG_CHECK_MODULES(TSLIB, tslib-1.0, [have_tslib=yes], [have_tslib=no])
if test x$have_tslib = xyes; then
AC_DEFINE([HAVE_TSLIB], 1, [Have tslib for touchscreen handling])
fi
EGL_LIBS="$GLES_LIBS $TSLIB_LIBS"
EGL_CFLAGS="$TSLIB_CFLAGS"
;;
fruity)
CLUTTER_FLAVOUR="fruity"
CLUTTER_STAGE_TYPE="CLUTTER_TYPE_STAGE_FRUITY"
AC_DEFINE([HAVE_CLUTTER_FRUITY], 1, [We're building a fruity version of the eglnative backend])
EGL_LIBS="-ObjC -framework Foundation -framework CoreFoundation -framework CoreGraphics -framework CoreSurface -framework GraphicsServices -framework OpenGLES -framework LayerKit -framework UIKit"
EGL_CFLAGS=""
;;
osx)
clutter_gl_header="OpenGL/gl.h"
CLUTTER_FLAVOUR="osx"
CLUTTER_STAGE_TYPE="CLUTTER_TYPE_STAGE_OSX"
AC_DEFINE([HAVE_CLUTTER_OSX], [1], [Have the OSX backend])
CLUTTER_COGL="gl"
AC_DEFINE([HAVE_COGL_GL], [1], [Have GL for rendering])
OSX_LIBS="-framework Cocoa -framework OpenGL"
AC_CHECK_HEADERS([$clutter_gl_header],,
[AC_MSG_ERROR([Unable to locate required GL headers])])
;;
win32)
clutter_gl_header="GL/gl.h"
CLUTTER_FLAVOUR="win32"
CLUTTER_STAGE_TYPE="CLUTTER_TYPE_STAGE_WIN32"
AC_DEFINE([HAVE_CLUTTER_WIN32], 1, [Have the Win32 backend])
CLUTTER_COGL="gl"
AC_DEFINE([HAVE_COGL_GL], 1, [Have GL for rendering])
AC_CHECK_HEADERS([$clutter_gl_header],,
[AC_MSG_ERROR([Unable to locate required GL headers])])
WIN32_CFLAGS="-D_WIN32_WINNT=0x0500"
WIN32_LIBS="-lopengl32 -lgdi32 -lwinmm"
CLUTTER_LT_LDFLAGS="$CLUTTER_LT_LDFLAGS -no-undefined"
;;
*) AC_MSG_ERROR([Invalid backend for Clutter: use glx,sdl,osx,win32,eglx, eglnative or fruity])
;;
esac
CLUTTER_GL_HEADER=$clutter_gl_header
AC_SUBST([clutterbackend])
AC_SUBST([imagebackend])
AC_SUBST([backendextra])
AC_SUBST([backendextralib])
AC_SUBST(CLUTTER_FLAVOUR)
AC_SUBST(CLUTTER_COGL)
AC_SUBST(CLUTTER_GL_HEADER)
AC_SUBST(CLUTTER_STAGE_TYPE)
clutterbackendlib=libclutter$CLUTTER_REAL-$clutterbackend-$CLUTTER_MAJORMINOR.la
AC_SUBST([clutterbackendlib])
dnl ========================================================================
# allow building clutter with an external dependency on json-glib
# using the --with-json=check argument, but keep the default to
# the internal version
AC_ARG_WITH([json],
AC_HELP_STRING([--with-json=@<:@internal/check@:>@],
[Select the JSON-GLib copy to use @<:@default=internal@:>@]),
[],
[with_json=internal])
case $with_json in
internal|check) ;;
*) AC_MSG_ERROR([Invalid value for the JSON library: use internal or check]) ;;
esac
if test "x$with_json" = "xinternal"; then
JSON_PREFIX=json
have_json=no
else
# if the user asked for it and if we have json-glib installed,
# prefer the system library instead of the internal copy
AC_MSG_CHECKING([for installed JSON-GLib])
PKG_CHECK_EXISTS(json-glib-1.0, [have_json=yes], [have_json=no])
if test "x$have_json" = "xyes"; then
JSON_PREFIX=json-glib
JSON_GLIB_PC=json-glib-1.0
AC_DEFINE(HAVE_JSON_GLIB, 1, [Have the JSON-GLib library installed])
AC_MSG_RESULT([found])
else
JSON_PREFIX=json
AC_MSG_RESULT([not found, using internal copy])
fi
fi
AC_SUBST(JSON_PREFIX)
AM_CONDITIONAL(LOCAL_JSON_GLIB, test "x$have_json" = "xno")
CLUTTER_REQUIRES="cairo >= 1.4 pangocairo >= 1.18 gobject-2.0 >= 2.16 gthread-2.0 gmodule-no-export-2.0 $BACKEND_PC_FILES $JSON_GLIB_PC"
if test "x$imagebackend" = "xgdk-pixbuf"; then
CLUTTER_REQUIRES="$CLUTTER_REQUIRES gdk-pixbuf-2.0"
fi
PKG_CHECK_MODULES(CLUTTER_DEPS, [$CLUTTER_REQUIRES])
AC_SUBST(CLUTTER_REQUIRES)
# prefixes for fixing gtk-doc references
GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
PANGO_PREFIX="`$PKG_CONFIG --variable=prefix pango`"
AC_SUBST(GLIB_PREFIX)
AC_SUBST(PANGO_PREFIX)
dnl ========================================================================
if test "x$GCC" = "xyes"; then
GCC_FLAGS="-g -Wall"
fi
dnl = Enable debug level ===================================================
m4_define([debug_default],
m4_if(m4_eval(clutter_minor_version % 2), [1], [yes], [minimum]))
AC_ARG_ENABLE(debug,
AC_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@],
[turn on debugging. yes; All glib asserts, checks and runtime clutter verbose messages. minimum; Just glib cast checks and runtime clutter verbose messagaes. no; No glib asserts or checks and no runtime clutter verbose messages. @<:@default=debug_default@:>@]),
,
enable_debug=debug_default)
if test "x$enable_debug" = "xyes"; then
test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
CLUTTER_DEBUG_CFLAGS="-DCLUTTER_ENABLE_DEBUG -DCOGL_ENABLE_DEBUG"
else
if test "x$enable_debug" = "xno"; then
CLUTTER_DEBUG_CFLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"
else # minimum
CLUTTER_DEBUG_CFLAGS="-DCLUTTER_ENABLE_DEBUG -DCOGL_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS"
fi
fi
AC_SUBST(CLUTTER_DEBUG_CFLAGS)
dnl = Enable strict compiler flags =========================================
# use strict compiler flags only on development releases
#m4_define([maintainer_flags_default],
# m4_if(m4_eval(clutter_minor_version % 2), [1], [yes], [no]))
m4_define([maintainer_flags_default], [no])
AC_ARG_ENABLE([maintainer-flags],
AC_HELP_STRING([--enable-maintainer-flags=@<:@no/yes@:>@],
[Use strict compiler flags @<:@default=maintainer_flags_default@:>@]),,
enable_maintainer_flags=maintainer_flags_default)
if test "x$enable_maintainer_flags" = "xyes"; then
MAINTAINER_CFLAGS="-Werror -Wall -Wshadow -Wcast-align -Wno-strict-aliasing -Wno-uninitialized -Wempty-body -Wformat-security -Winit-self"
fi
AC_SUBST(MAINTAINER_CFLAGS)
dnl = GObject-Introspection check ==========================================
GOBJECT_INTROSPECTION_CHECK([0.6.3])
dnl = GTK Doc check ========================================================
GTK_DOC_CHECK([1.11])
# we don't want to build the documentation from a SVN checkout unless we
# explicitly tell configure to do so; this allows avoiding to recurse into
# the documentation directory when building Clutter inside Poky for a
# target device that doesn't have gtk-doc installed. for reference
# see: http://bugzilla.openedhand.com/show_bug.cgi?id=1047
#
# we use autogen.sh as it exists only inside the SVN checkouts, and it
# is not packaged into tarballs.
AM_CONDITIONAL([BUILD_GTK_DOC],
[test "x$enable_gtk_doc" = "xyes" || test ! -f "autogen.sh"])
dnl = Manual ===============================================================
AC_ARG_ENABLE(manual,
AC_HELP_STRING([--enable-manual=@<:@no/yes@:>@],
[Build application developers manual. Requires jw and xmlto binaries.]),
enable_manual=$enableval, enable_manual=no)
if test "x$enable_manual" = "xyes"; then
AC_PATH_PROG(JW, jw, no)
if test "x$JW" = "xno"; then
AC_MSG_ERROR(['jw' program needed by the manual not found in path])
fi
AC_PATH_PROG(XMLTO, xmlto, no)
if test "x$XMLTO" = "xno"; then
AC_MSG_ERROR(['xmlto' program needed by the manual not found in path])
fi
fi
AM_CONDITIONAL(ENABLE_MANUAL, test "x$enable_manual" != "xno")
dnl ========================================================================
AC_SUBST(GCC_FLAGS)
CLUTTER_CFLAGS="$SDL_CFLAGS $EGL_CFLAGS $GLX_CFLAGS $OSX_CFLAGS $WIN32_CFLAGS $CLUTTER_DEPS_CFLAGS"
CLUTTER_LIBS="$SDL_LIBS $EGL_LIBS $GLX_LIBS $OSX_LIBS $WIN32_LIBS $CLUTTER_DEPS_LIBS"
AC_SUBST(CLUTTER_CFLAGS)
AC_SUBST(CLUTTER_LIBS)
GETTEXT_PACKAGE="clutter-$CLUTTER_API_VERSION"
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
[The prefix for our gettext translation domains.])
ALL_LINGUAS=""
AM_GLIB_GNU_GETTEXT
GLIB_DEFINE_LOCALEDIR(LOCALEDIR)
SHAVE_INIT([build/autotools])
AC_CONFIG_FILES([
Makefile
build/Makefile
build/autotools/Makefile
build/autotools/shave
build/autotools/shave-libtool
clutter/Makefile
clutter/clutter-version.h
clutter/clutter-json.h
clutter/x11/Makefile
clutter/x11/clutter-x11.pc
clutter/glx/Makefile
clutter/eglx/Makefile
clutter/eglnative/Makefile
clutter/fruity/Makefile
clutter/osx/Makefile
clutter/win32/Makefile
clutter/win32/clutter-win32.pc
clutter/sdl/Makefile
clutter/cogl/Makefile
clutter/cogl/common/Makefile
clutter/cogl/cogl.h
clutter/cogl/cogl-defines-gl.h:clutter/cogl/gl/cogl-defines.h.in
clutter/cogl/cogl-defines-gles.h:clutter/cogl/gles/cogl-defines.h.in
clutter/cogl/gl/Makefile
clutter/cogl/gles/Makefile
clutter/json/Makefile
clutter/pango/Makefile
tests/Makefile
tests/conform/Makefile
tests/data/Makefile
tests/interactive/Makefile
tests/micro-bench/Makefile
tests/tools/Makefile
doc/Makefile
doc/reference/Makefile
doc/reference/clutter/Makefile
doc/reference/clutter/version.xml
doc/reference/cogl/Makefile
doc/reference/cogl/version.xml
doc/manual/clutter-manual.xml
doc/manual/Makefile
po/Makefile.in
clutter.pc
])
AC_OUTPUT
dnl ========================================================================
echo ""
echo " Clutter $VERSION"
echo " ===================="
echo ""
echo " prefix: ${prefix}"
echo ""
echo " Flavour: ${clutterbackend}/${CLUTTER_COGL}"
if test "x$clutterbackend" = "xeglx" || test "x$clutterbackend" = "xglx"; then
echo " XInput: ${xinput}"
fi
echo " GL Headers: ${CLUTTER_GL_HEADER}"
echo " Image backend: ${imagebackend}"
echo " Target library: ${clutterbackendlib}"
echo " Debug level: ${enable_debug}"
echo " Compiler flags: ${CPPFLAGS} ${MAINTAINER_CFLAGS}"
echo " Build API Documentation: ${enable_gtk_doc}"
echo " Build Manual Documentation: ${enable_manual}"
echo " Build Introspection data: ${enable_introspection}"
echo ""
# you can add more configuration options or flags that will bring up the
# the experimental/unstable warning summary.
if test "x$imagebackend" = "xinternal"; then
experimental_stuff="$experimental_stuff imagebackend: $imagebackend\n"
fi
if test "x$clutterbackend" = "xfruity"; then
experimental_stuff="$experimental_stuff clutterbackend: $clutterbackend\n"
fi
if test "x$experimental_stuff" != "x"; then
echo ""
echo "☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠"
echo " *WARNING*"
echo ""
echo " Experimental features configured, stability of your build either uses"
echo " experimental backends or experimental and unsupported features:"
echo ""
echo -e "$experimental_stuff"
echo "☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠"
echo ""
fi