Remove use of GSEAL_ENABLE
[cheese.git] / configure.ac
blob8f702f04e7b41ac221141aaea6661bdc7e3f7217
1 # Process this file with autoconf to produce a configure script.
2 AC_PREREQ([2.64])
3 AC_INIT([Cheese],
4         [3.15.4],
5         [https://bugzilla.gnome.org/enter_bug.cgi?product=cheese],
6         [cheese],
7         [https://wiki.gnome.org/Apps/Cheese])
9 AC_CONFIG_AUX_DIR([build-aux])
10 AC_CONFIG_HEADERS([config.h])
11 AC_CONFIG_SRCDIR([configure.ac])
12 AC_CONFIG_MACRO_DIR([m4])
14 AM_INIT_AUTOMAKE([1.12 -Wall -Wno-portability dist-xz no-define no-dist-gzip nostdinc subdir-objects])
15 AM_MAINTAINER_MODE([enable])
16 AM_SILENT_RULES([yes])
18 # Check for programs
19 AC_PROG_CC
20 AM_PROG_CC_C_O
21 AC_PROG_SED
22 AM_PROG_VALAC([0.25.2])
24 # Initialize libtool
25 LT_PREREQ([2.2])
26 LT_INIT([disable-static])
28 # Find an appropriate libm, for fmod()
29 LT_LIB_M
31 PKG_PROG_PKG_CONFIG([0.24])
33 AC_SUBST([CHEESE_WFLAGS], ["-Wall"])
35 GNOME_COMPILE_WARNINGS([maximum])
37 #*******************************************************************************
38 # Libraries
39 #*******************************************************************************
40 # Before making a release, the CHEESE_LT_VERSION string should be modified.
41 # The string is of the form C:R:A.
42 # - If interfaces have been changed or added, but binary compatibility has
43 #   been preserved, change to C+1:0:A+1
44 # - If binary compatibility has been broken (eg removed or changed interfaces)
45 #   change to C+1:0:0
46 # - If the interface is the same as the previous version, change to C:R+1:A
47 AC_SUBST([LIBCHEESE_LT_VERSION], [7:35:0])
48 AC_SUBST([LIBCHEESE_GTK_LT_VERSION], [24:19:1])
50 #*******************************************************************************
51 # Internationalization
52 #*******************************************************************************
53 AC_SUBST([GETTEXT_PACKAGE], [$PACKAGE_TARNAME])
54 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], ["$GETTEXT_PACKAGE"], [GETTEXT package name])
55 AX_REQUIRE_DEFINED([IT_PROG_INTLTOOL])
56 IT_PROG_INTLTOOL([0.50.0])
58 #*******************************************************************************
59 # Check required libraries
60 #*******************************************************************************
63 GLIB_REQUIRED="glib-2.0 >= 2.39.90"
64 GTK_REQUIRED="gtk+-3.0 >= 3.13.4"
65 GDK_PIXBUF_REQUIRED="gdk-pixbuf-2.0"
66 GSTREAMER_REQUIRED="gstreamer-pbutils-1.0 gstreamer-plugins-bad-1.0"
67 LIBGNOMEDESKTOP_REQUIRED="gnome-desktop-3.0"
68 CLUTTER_REQUIRED="clutter-1.0 >= 1.13.2"
69 CLUTTERGTK_REQUIRED="clutter-gtk-1.0"
70 CLUTTERGST_REQUIRED="clutter-gst-2.0 >= 1.9.0"
71 LIBCANBERRA_REQUIRED="libcanberra-gtk3 >= 0.26"
72 X11_REQUIRED="x11"
73 GNOME_VIDEO_EFFECTS_REQUIRED="gnome-video-effects"
75 # Libtool requires this, but it is only expanded once anyway.
76 AC_CANONICAL_HOST
78 AC_MSG_CHECKING([host operating system])
79 AS_CASE([$host_os],
80   [*linux-*], [AC_MSG_RESULT([Linux])
81     UDEV_REQUIRED="gudev-1.0"],
82   [AC_MSG_RESULT([unsupported operating system])])
84 AC_MSG_CHECKING([for gudev-1.0])
85 AS_IF([test -n "$UDEV_REQUIRED"],
86   [PKG_CHECK_EXISTS([$UDEV_REQUIRED],
87     [AC_MSG_RESULT([found])
88      AC_DEFINE([HAVE_UDEV], [], [Enable gudev support])],
89     [AC_MSG_ERROR([$UDEV_REQUIRED not found])])],
90   [AC_MSG_RESULT([not needed])])
92 AC_CHECK_HEADERS([sys/videoio.h])
94 AC_CHECK_HEADER([X11/extensions/XTest.h],
95   [AC_CHECK_LIB([Xtst], [XTestFakeKeyEvent],
96     [AC_SUBST([XTEST_LIBS], ["-lX11 -lXtst"])])])
97 AM_CONDITIONAL([HAVE_XTEST], test "x$ac_cv_lib_Xtst_XTestFakeKeyEvent" = "xyes")
99 PKG_CHECK_MODULES([CHEESE],
100   [$GLIB_REQUIRED
101   $X11_REQUIRED
102   $GDK_PIXBUF_REQUIRED
103   $GSTREAMER_REQUIRED
104   $LIBGNOMEDESKTOP_REQUIRED
105   $CLUTTER_REQUIRED
106   $CLUTTERGST_REQUIRED
107   $UDEV_REQUIRED])
109 PKG_CHECK_MODULES([CHEESE_GTK],
110   [$GTK_REQUIRED
111    $CLUTTERGTK_REQUIRED
112    $LIBCANBERRA_REQUIRED
113    $UDEV_REQUIRED])
115 PKG_CHECK_EXISTS([$GNOME_VIDEO_EFFECTS_REQUIRED],
116                  [],
117                  [AC_MSG_WARN([The $GNOME_VIDEO_EFFECTS_REQUIRED package is required at runtime for effects])])
119 # GLib programs.
120 AC_SUBST([GLIB_COMPILE_RESOURCES], [`$PKG_CONFIG --variable glib_compile_resources gio-2.0`])
121 AC_SUBST([GDBUS_CODEGEN], [`$PKG_CONFIG --variable gdbus_codegen gio-2.0`])
123 # Recommend some runtime GStreamer plugins.
124 AC_PATH_PROGS([GST_INSPECT], [gst-inspect-1.0], [notfound])
125 AS_IF([test "x$GST_INSPECT" = "xnotfound"],
126   [AC_MSG_WARN([unable to check for runtime GStreamer plugin dependencies])],
127   [GST_RUNTIME_PLUGINS="camerabin vp8enc webmmux"
128    for gst_runtime_plugin in $GST_RUNTIME_PLUGINS
129    do
130      AC_MSG_CHECKING([for $gst_runtime_plugin GStreamer plugin])
131      AS_IF([$GST_INSPECT $gst_runtime_plugin >&AS_MESSAGE_LOG_FD],
132        [AC_MSG_RESULT([found])],
133        [AC_MSG_RESULT([not found])
134         AC_MSG_WARN([$gst_runtime_plugin was not found. It needs to be installed before Cheese is run])])
135    done])
137 # Check for GLib testing utilities.
138 AC_PATH_PROG([GTESTER], [gtester], [notfound])
139 AC_PATH_PROG([GTESTER_REPORT], [gtester-report], [notfound])
140 AS_IF([test "x$GTESTER" = "xnotfound" -o "x$GTESTER_REPORT" = "xnotfound"],
141   [AC_MSG_WARN([testing disabled as the required utilities were not found])],
142   [CHEESE_ENABLE_TESTS=true
143    AC_SUBST([GTESTER])
144    AC_SUBST([GTESTER_REPORT])])
145 AM_CONDITIONAL([CHEESE_ENABLE_TESTS], [test "x$CHEESE_ENABLE_TESTS" = "xtrue"])
147 # Check for lcov.
148 AC_ARG_ENABLE([lcov],
149   [AS_HELP_STRING([--disable-lcov], [Disable lcov code coverage testing])])
151 AS_IF([test "x$enable_lcov" != "xno"],
152   [AC_PATH_PROG([LCOV], [lcov], [notfound])
153    AC_PATH_PROG([LCOV_GENHTML], [genhtml], [notfound])
154    AS_IF([test "x$LCOV" = "xnotfound" -o "x$LCOV_GENHTML" = "xnotfound"],
155      [have_lcov=no],
156      [have_lcov=yes])],
157   [have_lcov=no])
159 AS_IF([test "x$have_lcov" = "xyes"],
160   [AC_SUBST([LCOV])
161    AC_SUBST([LCOV_GENHTML])
162    CFLAGS="$CFLAGS -O0 -fprofile-arcs -ftest-coverage"
163    LDFLAGS="$LDFLAGS -lgcov"],
164   [AS_IF([test "x$enable_lcov" = "xyes"],
165      [AC_MSG_ERROR([lcov code coverage reporting requested but not found])])])
167 AM_CONDITIONAL([CHEESE_ENABLE_LCOV], [test "x$have_lcov" = "xyes"])
169 AC_MSG_CHECKING([for glib-mkenums script])
170 GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0`
171 AS_IF([test "x$GLIB_MKENUMS" = "x"],
172   [AC_MSG_ERROR([glib-mkenums not listed in glib-2.0 pkg-config file])],
173   [AC_SUBST([GLIB_MKENUMS])
174    AC_MSG_RESULT([$GLIB_MKENUMS])])
176 AX_REQUIRE_DEFINED([GOBJECT_INTROSPECTION_CHECK])
177 GOBJECT_INTROSPECTION_CHECK([0.6.7])
179 # API documentation
180 AX_REQUIRE_DEFINED([GTK_DOC_CHECK])
181 GTK_DOC_CHECK([1.14], [--flavour no-tmpl])
183 # Manpage, generated with gtk-doc and xsltproc from DocBook XML.
184 AC_ARG_ENABLE([man],
185   [AS_HELP_STRING([--disable-man], [Disable building the man page])])
187 AS_IF([test "x$enable_man" != "xno"],
188   [AC_CHECK_PROG([have_xsltproc], [xsltproc], [yes], [no])
189    JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.3//EN],
190      [DocBook XML DTD V4.3], [have_docbookdtd=yes], [have_docbookdtd=no])
191    JH_CHECK_XML_CATALOG(
192      [http://docbook.sourceforge.net/release/xsl/current/html/refentry.xsl],
193      [DocBook XSL Stylesheets], [have_docbookxsl=yes], [have_docbookxsl=no])
194    AS_IF([test "x$have_xsltproc" = "xyes" -a "x$have_docbookdtd" = "xyes" \
195      -a "x$have_docbookxsl" = "xyes"],
196      [have_manutils=yes],
197      [AS_IF([test "x$enable_man" = "xyes"],
198        [AC_MSG_ERROR(
199          [manpage generation requested but required utilities were not found])])
200       have_manutils=no])],
201   [have_manutils=no])
203 AM_CONDITIONAL([ENABLE_MAN], [test "x$have_manutils" = "xyes"])
205 # Mallard help
206 AX_REQUIRE_DEFINED([YELP_HELP_INIT])
207 YELP_HELP_INIT
209 # AppData
210 AX_REQUIRE_DEFINED([APPSTREAM_XML])
211 APPSTREAM_XML
213 GLIB_GSETTINGS
214 #*******************************************************************************
216 AC_CONFIG_FILES([
217 Makefile
218 docs/reference/Makefile
219 docs/reference/version.xml
220 data/cheese.pc
221 data/cheese-gtk.pc
222 data/org.gnome.Cheese.desktop.in
223 help/Makefile
224 po/Makefile.in
226 AC_OUTPUT
228 #**************************************************************************