Blame configure.ac

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