1AC_PREREQ([2.63]) 2AC_INIT([caribou], 3 [0.4.21], 4 [https://bugzilla.gnome.org/enter_bug.cgi?product=caribou], 5 [caribou]) 6 7AC_CONFIG_MACRO_DIR([m4]) 8 9AM_PROG_LIBTOOL 10 11# If library source has changed since last release, increment revision 12# If public symbols have been added, removed or changed since last release, 13# increment current and set revision to 0 14# If public symbols have been added since last release, increment age 15# If public symbols have been removed since last release, set age to 0 16m4_define([libcaribou_lt_current], [0]) 17m4_define([libcaribou_lt_revision], [0]) 18m4_define([libcaribou_lt_age], [0]) 19LT_CURRENT=libcaribou_lt_current 20LT_REVISION=libcaribou_lt_revision 21LT_AGE=libcaribou_lt_age 22AC_SUBST([LT_CURRENT]) 23AC_SUBST([LT_REVISION]) 24AC_SUBST([LT_AGE]) 25 26AM_INIT_AUTOMAKE([1.11 -Wno-portability dist-xz no-dist-gzip]) 27AM_MAINTAINER_MODE([enable]) 28# Support silent build rules. Disable by either passing --disable-silent-rules 29# to configure or passing V=1 to make 30AM_SILENT_RULES([yes]) 31 32dnl http://people.gnome.org/~walters/docs/build-api.txt 33dnl We don't support separate builddir when building from git; 34dnl The automake vala rules run cd srcdir which screws up the 35dnl top_srcdir variable references. 36echo \#buildapi-variable-no-builddir >/dev/null 37 38AM_PATH_GLIB_2_0(2.27.5,,,gobject) 39if test "$GLIB_LIBS" = ""; then 40 AC_MSG_ERROR(GLIB 2.27.5 or later is required to build libcaribou) 41fi 42 43dnl == check for python == 44AM_PATH_PYTHON(2.4) 45 46dnl == Library dependencies == 47PYGOBJECT_REQUIRED=2.90.3 48GTK_REQUIRED=3.0.0 49CLUTTER_REQUIRED=1.5.11 50GDK_REQUIRED=3.0.0 51VALADOC_REQUIRED=0.3.1 52 53PKG_CHECK_MODULES(CARIBOU, [ 54 pygobject-3.0 >= $PYGOBJECT_REQUIRED, 55 gtk+-3.0 >= $GTK_REQUIRED, 56 clutter-1.0 >= $CLUTTER_REQUIRED, 57 gdk-3.0 >= $GDK_REQUIRED, 58 x11, 59 atspi-2 60 ]) 61AC_SUBST(CARIBOU_CFLAGS) 62AC_SUBST(CARIBOU_LIBS) 63 64AM_PROG_VALAC([0.13]) 65AC_SUBST(VALAC) 66AC_SUBST(VALAFLAGS) 67 68PKG_CHECK_MODULES(LIBCARIBOU, [ 69 gdk-3.0 >= $GDK_REQUIRED, 70 xtst, 71 x11, 72 libxklavier, 73 libxml-2.0, 74 gee-0.8, 75 gio-2.0 76 ]) 77AC_SUBST(LIBCARIBOU_CFLAGS) 78AC_SUBST(LIBCARIBOU_LIBS) 79 80dnl == i18n == 81GETTEXT_PACKAGE=caribou 82AC_SUBST(GETTEXT_PACKAGE) 83AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [The gettext package]) 84AM_GLIB_GNU_GETTEXT 85 86dnl == GTK modules == 87AC_ARG_ENABLE(gtk3_module, 88 AS_HELP_STRING([--enable-gtk3-module], 89 [Build GTK3 module]), 90 [enable_gtk3_module=$enableval], 91 [enable_gtk3_module=yes] 92) 93AM_CONDITIONAL([ENABLE_GTK3_MODULES], [test x"$enable_gtk3_module" = x"yes"]) 94 95if test x"$enable_gtk3_module" = x"yes"; then 96 PKG_CHECK_MODULES(GTK3, [ 97 gtk+-3.0 98 ]) 99 100 GTK3_MODULES_DIR="$libdir"/gtk-3.0/modules 101 AC_SUBST(GTK3_MODULES_DIR) 102fi 103 104AC_ARG_ENABLE(gtk2_module, 105 AS_HELP_STRING([--enable-gtk2-module], 106 [Build GTK2 module]), 107 [enable_gtk2_module=$enableval], 108 [enable_gtk2_module=yes] 109) 110AM_CONDITIONAL([ENABLE_GTK2_MODULES], [test x"$enable_gtk2_module" = x"yes"]) 111 112if test x"$enable_gtk2_module" = x"yes"; then 113 PKG_CHECK_MODULES(GTK2, [ 114 gtk+-2.0 115 ]) 116 117 GTK2_MODULES_DIR="$libdir"/gtk-2.0/modules 118 AC_SUBST(GTK2_MODULES_DIR) 119fi 120 121AM_CONDITIONAL([ENABLE_GTK_MODULES], [test x"enable_gtk2_module" = x"yes" -o x"$enable_gtk3_module" = x"yes"]) 122 123dnl == GSettings == 124GLIB_GSETTINGS 125 126dnl == intltool check == 127IT_PROG_INTLTOOL([0.35.0]) 128 129dnl == GObject introspection == 130GOBJECT_INTROSPECTION_REQUIRE([0.10.7]) 131 132dnl == Documentation == 133AC_ARG_ENABLE([docs], 134 AS_HELP_STRING([--enable-docs],[Enable documentation generation]), 135 [enable_docs=$enableval], [enable_docs=no]) 136AM_CONDITIONAL([ENABLE_DOCS], [test x$enable_docs = xyes]) 137 138have_valadoc=no 139AS_IF([test x$enable_docs = xyes], [ 140 # make sure the library is new enough and the program exists 141 PKG_CHECK_MODULES([VALADOC], [valadoc-1.0 >= $VALADOC_REQUIRED]) 142 AC_PATH_PROG([VALADOC], [valadoc], [:]) 143 AS_IF([test "$VALADOC" != :], have_valadoc=yes) 144]) 145AM_CONDITIONAL([HAVE_VALADOC], [test x$have_valadoc = xyes]) 146 147AS_IF([test "x$enable_docs" = "xyes" -a "x$have_valadoc" != "xyes"], [ 148 AC_MSG_ERROR([Doc building requested but valadoc not installed.]) 149]) 150 151dnl == generate makefiles == 152AC_OUTPUT([ 153Makefile 154po/Makefile.in 155caribou/Makefile 156caribou/i18n.py 157caribou/antler/Makefile 158caribou/settings/Makefile 159bin/Makefile 160bin/caribou-preferences 161bin/antler-keyboard 162data/Makefile 163data/antler/Makefile 164data/layouts/Makefile 165data/layouts/touch/Makefile 166data/layouts/scan/Makefile 167data/layouts/fullscale/Makefile 168data/layouts/tablet/Makefile 169libcaribou/Makefile 170libcaribou/caribou-1.0.pc 171modules/Makefile 172modules/gtk3/Makefile 173modules/gtk2/Makefile 174tools/Makefile 175docs/Makefile 176vapi/Makefile 177daemon/Makefile 178]) 179