Blame configure.ac

Packit 578172
# clutter package version number, (as distinct from shared library version)
Packit 578172
# An odd micro number indicates in-progress developmen
Packit 578172
# An even micro number indicates a released version.
Packit 578172
m4_define(clutter_gst_major_version, 2)
Packit 578172
m4_define(clutter_gst_minor_version, 0)
Packit 578172
m4_define(clutter_gst_micro_version, 18)
Packit 578172
Packit 578172
m4_define(clutter_api_version, 1.0)
Packit 578172
m4_define([clutter_gst_api_version], [2.0])
Packit 578172
Packit 578172
m4_define([clutter_gst_version],
Packit 578172
          [clutter_gst_major_version.clutter_gst_minor_version.clutter_gst_micro_version])
Packit 578172
Packit 578172
# increase the interface age for each release; if the API changes, set to 0
Packit 578172
m4_define([clutter_gst_interface_age], [0])
Packit 578172
m4_define([clutter_gst_binary_age],
Packit 578172
          [m4_eval(100 * clutter_gst_minor_version + clutter_gst_micro_version)])
Packit 578172
Packit 578172
AC_PREREQ(2.53)
Packit 578172
Packit 578172
AC_INIT([clutter-gst], [clutter_gst_version],
Packit 578172
        [http://bugzilla.gnome.org/enter_bug.cgi?product=clutter-gst])
Packit 578172
AC_CONFIG_MACRO_DIR([build/autotools])
Packit 578172
AC_CONFIG_AUX_DIR([build/autotools])
Packit 578172
AC_CONFIG_SRCDIR([clutter-gst/clutter-gst.h])
Packit 578172
AC_CONFIG_HEADERS([config.h])
Packit 578172
Packit 578172
AM_INIT_AUTOMAKE([1.9 -Wno-portability foreign no-dist-gzip dist-xz tar-ustar])
Packit 578172
Packit 578172
echo \#buildapi-variable-no-builddir >/dev/null
Packit 578172
Packit 578172
CLUTTER_GST_MAJOR_VERSION=clutter_gst_major_version
Packit 578172
CLUTTER_GST_MINOR_VERSION=clutter_gst_minor_version
Packit 578172
CLUTTER_GST_MICRO_VERSION=clutter_gst_micro_version
Packit 578172
CLUTTER_GST_VERSION=clutter_gst_version
Packit 578172
CLUTTER_GST_API_VERSION=clutter_gst_api_version
Packit 578172
CLUTTER_GST_MAJORMINOR=clutter_gst_api_version
Packit 578172
CLUTTER_API_VERSION=clutter_api_version
Packit 578172
AC_SUBST(CLUTTER_GST_MAJOR_VERSION)
Packit 578172
AC_SUBST(CLUTTER_GST_MINOR_VERSION)
Packit 578172
AC_SUBST(CLUTTER_GST_MICRO_VERSION)
Packit 578172
AC_SUBST(CLUTTER_GST_VERSION)
Packit 578172
AC_SUBST(CLUTTER_GST_API_VERSION)
Packit 578172
AC_SUBST(CLUTTER_GST_MAJORMINOR)
Packit 578172
AC_SUBST(CLUTTER_API_VERSION)
Packit 578172
Packit 578172
m4_define([lt_current],
Packit 578172
          [m4_eval(100 * clutter_gst_minor_version + clutter_gst_micro_version - clutter_gst_interface_age)])
Packit 578172
m4_define([lt_revision], [clutter_gst_interface_age])
Packit 578172
m4_define([lt_age], [m4_eval(clutter_gst_binary_age - clutter_gst_interface_age)])
Packit 578172
Packit 578172
CLUTTER_GST_LT_CURRENT=lt_current
Packit 578172
CLUTTER_GST_LT_REV=lt_revision
Packit 578172
CLUTTER_GST_LT_AGE=lt_age
Packit 578172
CLUTTER_GST_LT_VERSION="$CLUTTER_GST_LT_CURRENT:$CLUTTER_GST_LT_REV:$CLUTTER_GST_LT_AGE"
Packit 578172
CLUTTER_GST_LT_LDFLAGS="-version-info $CLUTTER_GST_LT_VERSION"
Packit 578172
Packit 578172
AC_CANONICAL_HOST
Packit 578172
AC_MSG_CHECKING([if building for some Win32 platform])
Packit 578172
AS_CASE([$host],
Packit 578172
        [*-*-mingw*|*-*-cygwin*],
Packit 578172
        [
Packit 578172
          CLUTTER_GST_LT_LDFLAGS="$CLUTTER_GST_LT_LDFLAGS -no-undefined"
Packit 578172
          platform_win32=yes
Packit 578172
        ],
Packit 578172
Packit 578172
        [platform_win32=no]
Packit 578172
)
Packit 578172
AC_MSG_RESULT([$platform_win32])
Packit 578172
Packit 578172
AC_SUBST(CLUTTER_GST_LT_VERSION)
Packit 578172
AC_SUBST(CLUTTER_GST_LT_LDFLAGS)
Packit 578172
Packit 578172
m4_define([clutter_gst_release_status],
Packit 578172
          [m4_if(m4_eval(clutter_gst_micro_version % 2), [1], [git],
Packit 578172
                 [m4_if(m4_eval(clutter_gst_minor_version % 2), [1], [snapshot],
Packit 578172
                       [release])])])
Packit 578172
AC_SUBST([CLUTTER_GST_RELEASE_STATUS], [clutter_gst_release_status])
Packit 578172
Packit 578172
# pkg-config requirements
Packit 578172
GLIB_REQ_VERSION=2.18.0
Packit 578172
COGL_REQ_VERSION=1.10.0
Packit 578172
CLUTTER_REQ_VERSION=1.6.0
Packit 578172
GSTREAMER_REQ_VERSION=1.2.0
Packit 578172
GST_PLUGINS_BAD_REQ_VERSION=1.2.0
Packit 578172
Packit 578172
AC_SUBST(GLIB_REQ_VERSION)
Packit 578172
AC_SUBST(CLUTTER_REQ_VERSION)
Packit 578172
AC_SUBST(GSTREAMER_REQ_VERSION)
Packit 578172
Packit 578172
dnl ========================================================================
Packit 578172
Packit 578172
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
Packit 578172
AS_AM_REALLY_SILENT
Packit 578172
Packit 578172
dnl ========================================================================
Packit 578172
Packit 578172
# require libtool >= 2.2
Packit 578172
LT_PREREQ([2.2.6])
Packit 578172
LT_INIT([disable-static])
Packit 578172
Packit 578172
# Checks for programs.
Packit 578172
AC_PROG_CC
Packit 578172
AM_PROG_CC_C_O
Packit 578172
AC_PROG_SED
Packit 578172
AC_PATH_PROG([GLIB_MKENUMS], [glib-mkenums])
Packit 578172
AC_PATH_PROG([GLIB_GENMARSHAL], [glib-genmarshal])
Packit 578172
Packit 578172
# Checks for header files.
Packit 578172
AC_HEADER_STDC
Packit 578172
AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h])
Packit 578172
Packit 578172
# Checks for typedefs, structures, and compiler characteristics.
Packit 578172
AC_C_CONST
Packit 578172
Packit 578172
# Checks for library functions.
Packit 578172
AC_FUNC_MALLOC
Packit 578172
AC_FUNC_MMAP
Packit 578172
AC_CHECK_FUNCS([memset munmap strcasecmp strdup])
Packit 578172
Packit 578172
dnl ========================================================================
Packit 578172
Packit 578172
AC_CHECK_PROG(CGC, [cgc], [cgc], [no])
Packit 578172
have_cgc="no"
Packit 578172
if test "x$CGC" = "xcgc"; then
Packit 578172
        have_cgc="yes"
Packit 578172
fi
Packit 578172
AM_CONDITIONAL([HAVE_CGC], [test "x$have_cgc" = "xyes"])
Packit 578172
Packit 578172
dnl ========================================================================
Packit 578172
dnl check for python (pso2h.py needs it)
Packit 578172
Packit 578172
AC_CHECK_PROG(PYTHON, [python], [python], [no])
Packit 578172
have_python="no"
Packit 578172
if test "x$PYTHON" = "xpython"; then
Packit 578172
        have_python="yes"
Packit 578172
fi
Packit 578172
AM_CONDITIONAL([HAVE_PYTHON], [test "x$have_python" = "xyes"])
Packit 578172
Packit 578172
dnl ========================================================================
Packit 578172
Packit 578172
PKG_CHECK_MODULES(CLUTTER_GST,
Packit 578172
                  [clutter-1.0 >= $CLUTTER_REQ_VERSION
Packit 578172
                   cogl-1.0 >= $COGL_REQ_VERSION
Packit 578172
                   gio-2.0 >= $GLIB_REQ_VERSION])
Packit 578172
Packit 578172
dnl ========================================================================
Packit 578172
Packit 578172
GST_MAJORMINOR=1.0
Packit 578172
Packit 578172
PKG_CHECK_MODULES(GST,
Packit 578172
                  [gstreamer-$GST_MAJORMINOR >= $GSTREAMER_REQ_VERSION
Packit 578172
                   gstreamer-plugins-base-$GST_MAJORMINOR
Packit 578172
                   gstreamer-base-$GST_MAJORMINOR
Packit 578172
                   gstreamer-video-$GST_MAJORMINOR
Packit 578172
                   gstreamer-audio-$GST_MAJORMINOR
Packit 578172
                   gstreamer-tag-$GST_MAJORMINOR])
Packit 578172
Packit 578172
dnl libs used by the plugin
Packit 578172
PKG_CHECK_MODULES([PLUGIN],
Packit 578172
                  [clutter-1.0 >= $CLUTTER_REQ_VERSION
Packit 578172
                   gstreamer-$GST_MAJORMINOR >= $GSTREAMER_REQ_VERSION
Packit 578172
                   gstreamer-base-$GST_MAJORMINOR
Packit 578172
                   gstreamer-video-$GST_MAJORMINOR
Packit 578172
                   gstreamer-audio-$GST_MAJORMINOR])
Packit 578172
Packit 578172
dnl define location of gstreamer plugin directory
Packit 578172
plugindir="\$(libdir)/gstreamer-$GST_MAJORMINOR"
Packit 578172
AC_SUBST(plugindir)
Packit 578172
Packit 578172
dnl ========================================================================
Packit 578172
dnl GL inclusion and link. We depend on GL for the single glGetIntegerv()
Packit 578172
dnl call. The end goal is to get rid of it, but we can't just yet.
Packit 578172
Packit 578172
dnl For now, we assume Clutter/Cogl includes the GL headers (whatever they
Packit 578172
dnl are). By the time they don't do that, we'll hopefully won't have any
Packit 578172
dnl direct GL dependency.
Packit 578172
Packit 578172
dnl As for linking against -lGL, I believe Clutter always end up puttin libGL
Packit 578172
dnl in its exported CFLAGS, except when compiling against the NVidia library
Packit 578172
dnl (which does not have the 'gl' .pc file. For now, let's just add -lGL when
Packit 578172
dnl we are using the glx flavour, That should fix the vast majority of the
Packit 578172
dnl issues
Packit 578172
Packit 578172
dnl Why don't we "just" link against GL? check the cogl/clutter configure.ac :)
Packit 578172
dnl Hopefully this will be enough for the time being.
Packit 578172
Packit 578172
dnl With Cogl 1.8.0 all of the above is moot because we can use
Packit 578172
dnl cogl_renderer_get_n_fragment_texture_units() and never depend on GL/GLES
Packit 578172
dnl directly. However let's not hard depend on cogl 1.8.0 just yet.
Packit 578172
dnl Well, obviously just a little detail remaining, it's not possible to grab
Packit 578172
dnl the CoglContext on OS X yet.
Packit 578172
Packit 578172
PKG_CHECK_EXISTS([clutter-osx-1.0],
Packit 578172
                 [
Packit 578172
                   AC_DEFINE([HAVE_CLUTTER_OSX], [1],
Packit 578172
                             ["Defined if building Clutter for OS X"])
Packit 578172
                   have_cogl_osx=yes
Packit 578172
                 ])
Packit 578172
Packit 578172
AS_IF([test "x$have_cogl_osx" = xyes],
Packit 578172
      [
Packit 578172
        clutter_soname=`$PKG_CONFIG --variable soname_infix clutter-1.0`
Packit 578172
        AS_CASE([$clutter_soname],
Packit 578172
                [glx],
Packit 578172
                [AC_CHECK_LIB([GL], [glGetIntegerv], [GL_LDFLAGS="-lGL"])])
Packit 578172
        AC_SUBST([GL_LDFLAGS])
Packit 578172
      ])
Packit 578172
Packit 578172
dnl ========================================================================
Packit 578172
dnl Experimental support for hardware accelerated decoders.
Packit 578172
PKG_CHECK_MODULES(HW,
Packit 578172
    [gstreamer-basevideo-$GST_MAJORMINOR >= $GST_PLUGINS_BAD_REQ_VERSION],
Packit 578172
    [
Packit 578172
        have_hw_decoder_support=yes
Packit 578172
        AC_DEFINE([HAVE_HW_DECODER_SUPPORT], [1],
Packit 578172
                  ["Defined if building Clutter with HW decoder support"])
Packit 578172
    ],[ have_hw_decoder_support=no ])
Packit 578172
Packit 578172
dnl ========================================================================
Packit 578172
Packit 578172
m4_define([maintainer_default], [m4_if(clutter_gst_release_status,
Packit 578172
                                       [git], [yes], [no])])
Packit 578172
AC_ARG_ENABLE([maintainer-flags],
Packit 578172
              [AC_HELP_STRING([--enable-maintainer-flags=@<:@no/yes@:>@],
Packit 578172
                              [Use strict compiler flags @<:@default=]maintainer_default[@:>@])],
Packit 578172
              [],
Packit 578172
              enable_maintainer_flags=maintainer_default)
Packit 578172
Packit 578172
AS_IF([test "x$enable_maintainer_flags" = "xyes" && test "x$GCC" = "xyes"],
Packit 578172
      [
Packit 578172
        AS_COMPILER_FLAGS([MAINTAINER_CFLAGS],
Packit 578172
                          ["-Wall -Wshadow -Wcast-align -Wno-uninitialized
Packit 578172
                            -Wno-strict-aliasing -Wempty-body -Wformat-security
Packit 578172
                            -Winit-self -Wsign-compare"])
Packit 578172
      ]
Packit 578172
)
Packit 578172
Packit 578172
AC_SUBST(MAINTAINER_CFLAGS)
Packit 578172
Packit 578172
dnl === Enable debug level ====================================================
Packit 578172
Packit 578172
m4_define([debug_default], [m4_if(clutter_gst_release_status,
Packit 578172
                                  [git], [yes], [minimum])])
Packit 578172
AC_ARG_ENABLE([debug],
Packit 578172
              [AC_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@],
Packit 578172
                              [Control Clutter-Gst debugging level @<:@default=]debug_default[@:>@])],
Packit 578172
              [],
Packit 578172
              enable_debug=debug_default)
Packit 578172
Packit 578172
AS_CASE([$enable_debug],
Packit 578172
Packit 578172
        [yes],
Packit 578172
        [
Packit 578172
          test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
Packit 578172
          CLUTTER_GST_DEBUG_CFLAGS="-DCLUTTER_GST_ENABLE_DEBUG"
Packit 578172
        ],
Packit 578172
Packit 578172
        [minimum],
Packit 578172
        [CLUTTER_GST_DEBUG_CFLAGS="-DCLUTTER_GST_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS"],
Packit 578172
Packit 578172
        [no],
Packit 578172
        [CLUTTER_GST_DEBUG_CFLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"],
Packit 578172
Packit 578172
        [AC_MSG_ERROR([Unknown argument for --enable-debug])]
Packit 578172
)
Packit 578172
Packit 578172
AC_SUBST(CLUTTER_GST_DEBUG_CFLAGS)
Packit 578172
Packit 578172
dnl ========================================================================
Packit 578172
Packit 578172
GTK_DOC_CHECK([1.8])
Packit 578172
Packit 578172
AM_CONDITIONAL([BUILD_GTK_DOC],
Packit 578172
               [test "x$enable_gtk_doc" = "xyes" || test ! -f "autogen.sh"])
Packit 578172
Packit 578172
dnl ========================================================================
Packit 578172
Packit 578172
GOBJECT_INTROSPECTION_CHECK([0.6.8])
Packit 578172
Packit 578172
dnl ========================================================================
Packit 578172
Packit 578172
AC_SUBST(GCC_FLAGS)
Packit 578172
GST_CFLAGS="$GST_CFLAGS -DGST_USE_UNSTABLE_API"
Packit 578172
AC_SUBST(GST_CFLAGS)
Packit 578172
AC_SUBST(GST_LIBS)
Packit 578172
Packit 578172
AC_SUBST(CLUTTER_GST_CFLAGS)
Packit 578172
AC_SUBST(CLUTTER_GST_LIBS)
Packit 578172
Packit 578172
AC_OUTPUT([
Packit 578172
        Makefile
Packit 578172
        build/Makefile
Packit 578172
        build/autotools/Makefile
Packit 578172
        scripts/Makefile
Packit 578172
        clutter-gst/Makefile
Packit 578172
        clutter-gst/clutter-gst-version.h
Packit 578172
        clutter-gst/shaders/Makefile
Packit 578172
        tests/Makefile
Packit 578172
        examples/Makefile
Packit 578172
        doc/Makefile
Packit 578172
        doc/reference/Makefile
Packit 578172
        doc/reference/version.xml
Packit 578172
        clutter-gst.pc
Packit 578172
])
Packit 578172
Packit 578172
dnl ========================================================================
Packit 578172
Packit 578172
echo ""
Packit 578172
echo "Clutter-GST $VERSION (${CLUTTER_GST_RELEASE_STATUS})"
Packit 578172
echo ""
Packit 578172
echo " • Global:"
Packit 578172
echo "        Prefix     : ${prefix}"
Packit 578172
echo "        Cg compiler: ${have_cgc}"
Packit 578172
echo ""
Packit 578172
echo " • Compiler options:"
Packit 578172
echo "        Compiler flags:${MAINTAINER_CFLAGS} ${CPPFLAGS}"
Packit 578172
echo "        Debug level   : ${enable_debug}"
Packit 578172
echo ""
Packit 578172
echo " • Extra:"
Packit 578172
echo "        API documentation : ${enable_gtk_doc}"
Packit 578172
echo "        Introspection data: ${enable_introspection}"
Packit 578172
echo "        HW Decoder support: ${have_hw_decoder_support}"
Packit 578172
echo ""