1 # Process this file with autoconf to produce a configure script.
5 [https://bugzilla.gnome.org/enter_bug.cgi?product=cheese],
7 [http://projects.gnome.org/cheese/])
9 AC_CONFIG_AUX_DIR([build-aux])
10 AC_CONFIG_HEADERS([cheese-config.h])
11 AC_CONFIG_SRCDIR([configure.ac])
12 AC_CONFIG_MACRO_DIR([m4])
14 AM_INIT_AUTOMAKE([1.11 -Wall -Wno-portability dist-xz no-define no-dist-gzip nostdinc subdir-objects])
15 AM_MAINTAINER_MODE([enable])
16 AM_SILENT_RULES([yes])
21 AM_PROG_VALAC([0.18.0])
25 LT_INIT([disable-static])
27 PKG_PROG_PKG_CONFIG([0.24])
29 AC_SUBST([CHEESE_WFLAGS], ["-Wall -DGSEAL_ENABLE"])
31 GNOME_MAINTAINER_MODE_DEFINES
32 GNOME_COMPILE_WARNINGS([maximum])
34 #*******************************************************************************
36 #*******************************************************************************
37 # Before making a release, the CHEESE_LT_VERSION string should be modified.
38 # The string is of the form C:R:A.
39 # - If interfaces have been changed or added, but binary compatibility has
40 # been preserved, change to C+1:0:A+1
41 # - If binary compatibility has been broken (eg removed or changed interfaces)
43 # - If the interface is the same as the previous version, change to C:R+1:A
44 AC_SUBST([LIBCHEESE_LT_VERSION], [7:10:0])
45 AC_SUBST([LIBCHEESE_GTK_LT_VERSION], [23:10:0])
47 #*******************************************************************************
48 # Internationalization
49 #*******************************************************************************
50 AC_SUBST([GETTEXT_PACKAGE], [$PACKAGE_TARNAME])
51 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], ["$GETTEXT_PACKAGE"], [GETTEXT package name])
52 IT_PROG_INTLTOOL([0.50.0])
54 #*******************************************************************************
55 # Check required libraries
56 #*******************************************************************************
59 GLIB_REQUIRED="glib-2.0 >= 2.28.0"
60 GOBJECT_REQUIRED="gobject-2.0 >= 2.28.0"
61 GIO_REQUIRED="gio-2.0 >= 2.32.0"
62 GTK_REQUIRED="gtk+-3.0 >= 3.4.4"
63 GDK_REQUIRED="gdk-3.0 >= 3.3.6"
64 GDK_PIXBUF_REQUIRED="gdk-pixbuf-2.0"
65 LIBGNOMEDESKTOP_REQUIRED="gnome-desktop-3.0 >= 2.91.6"
66 GSTREAMER_VERSION=0.11.0
67 GSTREAMER_REQUIRED="gstreamer-plugins-base-1.0 >= $GSTREAMER_VERSION gstreamer-1.0 >= $GSTREAMER_VERSION gstreamer-pbutils-1.0 >= $GSTREAMER_VERSION"
68 GSTREAMER_PLUGINS_BAD_VERSION=0.11.0
69 GSTREAMER_PLUGINS_BAD_REQUIRED="gstreamer-plugins-bad-1.0 >= $GSTREAMER_PLUGINS_BAD_VERSION"
70 CAIRO_REQUIRED="cairo >= 1.10.0"
71 PANGOCAIRO_REQUIRED="pangocairo >= 1.28.0"
72 LIBRSVG_REQUIRED="librsvg-2.0 >= 2.32.0"
73 CLUTTER_REQUIRED="clutter-1.0 >= 1.12.0"
74 CLUTTERGTK_REQUIRED="clutter-gtk-1.0 >= 0.91.8"
75 CLUTTERGST_REQUIRED="clutter-gst-2.0 >= 1.9.0"
76 LIBCANBERRA_REQUIRED="libcanberra-gtk3 >= 0.26"
78 GNOME_VIDEO_EFFECTS_REQUIRED="gnome-video-effects"
80 # Libtool requires this, but it is only expanded once anyway.
83 AC_MSG_CHECKING([host operating system])
85 [*linux-*], [AC_MSG_RESULT([Linux])
86 UDEV_REQUIRED="gudev-1.0"],
87 [AC_MSG_RESULT([unsupported operating system])])
89 AC_MSG_CHECKING([for gudev-1.0])
90 AS_IF([test -n "$UDEV_REQUIRED"],
91 [PKG_CHECK_EXISTS([$UDEV_REQUIRED],
92 [AC_MSG_RESULT([found])
93 AC_DEFINE([HAVE_UDEV], [], [Enable gudev support])],
94 [AC_MSG_ERROR([$UDEV_REQUIRED not found])])],
95 [AC_MSG_RESULT([not needed])])
97 AC_CHECK_HEADERS([sys/videoio.h])
99 AC_CHECK_HEADER([X11/extensions/XTest.h],
100 [AC_CHECK_LIB([Xtst], [XTestFakeKeyEvent],
101 [AC_SUBST([XTEST_LIBS], ["-lX11 -lXtst"])])])
102 AM_CONDITIONAL([HAVE_XTEST], test "x$ac_cv_lib_Xtst_XTestFakeKeyEvent" = "xyes")
104 PKG_CHECK_MODULES([CHEESE],
111 $GSTREAMER_PLUGINS_BAD_REQUIRED
112 $LIBGNOMEDESKTOP_REQUIRED
119 PKG_CHECK_MODULES([CHEESE_GTK],
125 $LIBCANBERRA_REQUIRED
127 $GNOME_VIDEO_EFFECTS_REQUIRED])
129 # Recommend some runtime GStreamer plugins.
130 AC_PATH_PROGS([GST_INSPECT], [gst-inspect-1.0], [notfound])
131 AS_IF([test "x$GST_INSPECT" = "xnotfound"],
132 [AC_MSG_WARN([unable to check for runtime GStreamer plugin dependencies])],
133 [GST_RUNTIME_PLUGINS="camerabin vp8enc webmmux"
134 for gst_runtime_plugin in $GST_RUNTIME_PLUGINS
136 AC_MSG_CHECKING([for $gst_runtime_plugin GStreamer plugin])
137 AS_IF([$GST_INSPECT $gst_runtime_plugin >&AS_MESSAGE_LOG_FD],
138 [AC_MSG_RESULT([found])],
139 [AC_MSG_RESULT([not found])
140 AC_MSG_WARN([$gst_runtime_plugin was not found. It needs to be installed before Cheese is run])])
143 # Check for GLib testing utilities.
144 AC_PATH_PROG([GTESTER], [gtester], [notfound])
145 AC_PATH_PROG([GTESTER_REPORT], [gtester-report], [notfound])
146 AS_IF([test "x$GTESTER" = "xnotfound" -o "x$GTESTER_REPORT" = "xnotfound"],
147 [AC_MSG_WARN([testing disabled as the required utilities were not found])],
148 [CHEESE_ENABLE_TESTS=true
150 AC_SUBST([GTESTER_REPORT])])
151 AM_CONDITIONAL([CHEESE_ENABLE_TESTS], [test "x$CHEESE_ENABLE_TESTS" = "xtrue"])
154 AC_ARG_ENABLE([lcov],
155 [AS_HELP_STRING([--disable-lcov], [Disable lcov code coverage testing])])
157 AS_IF([test "x$enable_lcov" != "xno"],
158 [AC_PATH_PROG([LCOV], [lcov], [notfound])
159 AC_PATH_PROG([LCOV_GENHTML], [genhtml], [notfound])
160 AS_IF([test "x$LCOV" = "xnotfound" -o "x$LCOV_GENHTML" = "xnotfound"],
165 AS_IF([test "x$have_lcov" = "xyes"],
167 AC_SUBST([LCOV_GENHTML])
168 CFLAGS="$CFLAGS -O0 -fprofile-arcs -ftest-coverage"
169 LDFLAGS="$LDFLAGS -lgcov"],
170 [AS_IF([test "x$enable_lcov" = "xyes"],
171 [AC_MSG_ERROR([lcov code coverage reporting requested but not found])])])
173 AM_CONDITIONAL([CHEESE_ENABLE_LCOV], [test "x$have_lcov" = "xyes"])
175 AC_MSG_CHECKING([for glib-mkenums script])
176 GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0`
177 AS_IF([test "x$GLIB_MKENUMS" = "x"],
178 [AC_MSG_ERROR([glib-mkenums not listed in glib-2.0 pkg-config file])],
179 [AC_SUBST([GLIB_MKENUMS])
180 AC_MSG_RESULT([$GLIB_MKENUMS])])
182 GOBJECT_INTROSPECTION_CHECK([0.6.7])
185 GTK_DOC_CHECK([1.14], [--flavour no-tmpl])
187 # Manpage, generated with gtk-doc and xsltproc from DocBook XML.
189 [AS_HELP_STRING([--disable-man], [Disable building the man page])])
191 AS_IF([test "x$enable_man" != "xno"],
192 [AC_CHECK_PROG([have_xsltproc], [xsltproc], [yes], [no])
193 JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.3//EN],
194 [DocBook XML DTD V4.3], [have_docbookdtd=yes], [have_docbookdtd=no])
195 JH_CHECK_XML_CATALOG(
196 [http://docbook.sourceforge.net/release/xsl/current/html/refentry.xsl],
197 [DocBook XSL Stylesheets], [have_docbookxsl=yes], [have_docbookxsl=no])
198 AS_IF([test "x$have_xsltproc" = "xyes" -a "x$have_docbookdtd" = "xyes" \
199 -a "x$have_docbookxsl" = "xyes"],
201 [AS_IF([test "x$enable_man" = "xyes"],
203 [manpage generation requested but required utilities were not found])])
207 AM_CONDITIONAL([ENABLE_MAN], [test "x$have_manutils" = "xyes"])
213 #*******************************************************************************
217 docs/reference/Makefile
218 docs/reference/version.xml
221 data/cheese.desktop.in
227 #**************************************************************************