1 2AC_INIT(libdbusmenu, 16.04.0, ted@canonical.com) 3AC_COPYRIGHT([Copyright 2009-2016 Canonical]) 4 5AC_PREREQ(2.62) 6 7AM_CONFIG_HEADER(config.h) 8AM_INIT_AUTOMAKE(libdbusmenu, 16.04.0, [-Wno-portability]) 9 10AM_MAINTAINER_MODE 11 12IT_PROG_INTLTOOL([0.35.0]) 13AC_ISC_POSIX 14AC_PROG_CC 15AM_PROG_CC_C_O 16AC_STDC_HEADERS 17AC_PROG_LIBTOOL 18 19AC_SUBST(VERSION) 20AC_CONFIG_MACRO_DIR([m4]) 21 22m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) 23 24AC_PATH_PROG([GLIB_MKENUMS], [glib-mkenums]) 25 26########################### 27# GTK Doc 28########################### 29 30GTK_DOC_CHECK([1.14],[--flavour no-tmpl]) 31 32########################### 33# Dependencies - GLib 34########################### 35 36GLIB_REQUIRED_VERSION=2.35.4 37 38PKG_CHECK_MODULES(DBUSMENUGLIB, glib-2.0 >= $GLIB_REQUIRED_VERSION 39 gio-2.0 >= $GLIB_REQUIRED_VERSION) 40 41AC_SUBST(DBUSMENUGLIB_CFLAGS) 42AC_SUBST(DBUSMENUGLIB_LIBS) 43 44########################### 45# Dependencies - GTK 46########################### 47 48GTK_REQUIRED_VERSION=2.16 49GTK3_REQUIRED_VERSION=2.91 50 51AC_ARG_ENABLE([gtk], 52 AC_HELP_STRING([--disable-gtk], [Disable libdbusmenu-gtk library]), 53 [enable_gtk=$enableval], [enable_gtk=auto]) 54AM_CONDITIONAL([WANT_LIBDBUSMENUGTK], [test "x$enable_gtk" != "xno"]) 55 56AC_ARG_WITH([gtk], 57 [AS_HELP_STRING([--with-gtk], 58 [Which version of gtk to use @<:@default=3@:>@])], 59 [], 60 [with_gtk=3]) 61AM_CONDITIONAL([USE_GTK3], [test "x$with_gtk" = "x3"]) 62 63AS_IF([test "x$enable_gtk" != "xno"],[ 64AS_IF([test "x$with_gtk" = x3], 65 [PKG_CHECK_MODULES(DBUSMENUGTK, gtk+-3.0 >= $GTK3_REQUIRED_VERSION 66 atk 67 glib-2.0 >= $GLIB_REQUIRED_VERSION, 68 [have_gtk=yes] 69) 70 ], 71 [test "x$with_gtk" = x2], 72 [PKG_CHECK_MODULES(DBUSMENUGTK, gtk+-2.0 >= $GTK_REQUIRED_VERSION 73 atk 74 glib-2.0 >= $GLIB_REQUIRED_VERSION, 75 [have_gtk=yes] 76) 77 ], 78 [AC_MSG_FAILURE([Value for --with-gtk was neither 2 nor 3])] 79) 80]) 81AC_SUBST(DBUSMENUGTK_CFLAGS) 82AC_SUBST(DBUSMENUGTK_LIBS) 83 84########################### 85# Dependencies - dumper 86########################### 87 88X11_REQUIRED_VERSION=1.3 89 90AC_ARG_ENABLE([dumper], 91 AC_HELP_STRING([--disable-dumper], [Disable dbusmenudumper tool]), 92 [enable_dumper=$enableval], [enable_dumper=auto]) 93AM_CONDITIONAL([WANT_DBUSMENUDUMPER], [test "x$enable_dumper" != "xno"]) 94 95AS_IF([test "x$enable_dumper" != "xno"],[ 96PKG_CHECK_MODULES(DBUSMENUDUMPER, gtk+-2.0 >= $GTK_REQUIRED_VERSION 97 x11 >= $X11_REQUIRED_VERSION, 98 [have_dumper=yes] 99) 100]) 101 102AC_SUBST(DBUSMENUDUMPER_CFLAGS) 103AC_SUBST(DBUSMENUDUMPER_LIBS) 104 105########################### 106# Dependencies - Testing 107########################### 108 109JSON_GLIB_REQUIRED_VERSION=0.13.4 110GIO_UNIX_REQUIRED_VERSION=2.24 111 112AC_ARG_ENABLE([tests], 113 AC_HELP_STRING([--disable-tests], [Disable tests]), 114 [enable_tests=$enableval], [enable_tests=auto]) 115AM_CONDITIONAL([WANT_TESTS], [test "x$enable_tests" != "xno"]) 116 117AS_IF([test "x$enable_tests" != "xno"],[ 118PKG_CHECK_MODULES(DBUSMENUTESTS, json-glib-1.0 >= $JSON_GLIB_REQUIRED_VERSION 119 gio-unix-2.0 >= $GIO_UNIX_REQUIRED_VERSION, 120 [have_tests=yes] 121) 122PKG_CHECK_MODULES(DBUSMENUTESTSVALGRIND, valgrind, have_valgrind=yes, have_valgrind=no) 123AM_CONDITIONAL([HAVE_VALGRIND], [test "x$have_valgrind" = "xyes"]) 124]) 125 126AC_SUBST(DBUSMENUTESTS_CFLAGS) 127AC_SUBST(DBUSMENUTESTS_LIBS) 128 129########################### 130# GObject Introspection 131########################### 132 133GOBJECT_INTROSPECTION_CHECK([0.6.7]) 134 135PKG_CHECK_EXISTS([gobject-introspection-1.0 >= 0.10], 136 introspection_ten=yes, 137 introspection_ten=no) 138 139AM_CONDITIONAL(INTROSPECTION_TEN, [test "x$introspection_ten" = "xyes"]) 140 141if test "$enable_introspection" = "yes"; then 142 # Redefine introspection dirs using proper prefixes 143 144 INTROSPECTION_GIRDIR=`$PKG_CONFIG --define-variable=datadir=${datadir} --variable=girdir gobject-introspection-1.0` 145 AC_SUBST(INTROSPECTION_GIRDIR) 146 147 INTROSPECTION_TYPELIBDIR=`$PKG_CONFIG --define-variable=libdir=${libdir} --variable=typelibdir gobject-introspection-1.0` 148 AC_SUBST(INTROSPECTION_TYPELIBDIR) 149fi 150 151########################### 152# Vala API Generation 153########################### 154 155AC_ARG_ENABLE([vala], 156 AC_HELP_STRING([--disable-vala], [Disable vala]), 157 [enable_vala=$enableval], [enable_vala=auto]) 158 159AS_IF([test "x$enable_vala" != "xno"],[ 160 AM_COND_IF([HAVE_INTROSPECTION],,[ 161 AC_MSG_ERROR([Vala bindings require introspection support, please --enable-introspection]) 162 ]) 163AC_PATH_PROG([VALA_API_GEN], [vapigen]) 164]) 165AM_CONDITIONAL([HAVE_VALA], [test -n "$VALA_API_GEN"]) 166 167########################### 168# XSLT Processor 169########################### 170 171AC_PATH_PROG([XSLT_PROC], [xsltproc]) 172 173########################### 174# Lib versioning 175########################### 176 177LIBDBUSMENU_CURRENT=4 178LIBDBUSMENU_REVISION=12 179LIBDBUSMENU_AGE=0 180 181AC_SUBST(LIBDBUSMENU_CURRENT) 182AC_SUBST(LIBDBUSMENU_REVISION) 183AC_SUBST(LIBDBUSMENU_AGE) 184 185########################### 186# Internationalization 187########################### 188 189GETTEXT_PACKAGE=libdbusmenu 190AC_SUBST(GETTEXT_PACKAGE) 191AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Name of the default gettext domain]) 192 193AM_GLIB_GNU_GETTEXT 194 195########################### 196# Massive Debugging 197########################### 198 199with_massivedebugging="no" 200AC_ARG_ENABLE(massivedebugging, AS_HELP_STRING([--enable-massivedebugging], [Print out so much information your brain will hurt]), with_massivedebugging=$enableval, with_massivedebugging=no) 201if test "x$with_massivedebugging" = "xyes"; then 202 AC_DEFINE([MASSIVEDEBUGGING], [1], [Print everyting]) 203fi 204 205########################### 206# gcov coverage reporting 207########################### 208 209m4_include([m4/gcov.m4]) 210AC_TDD_GCOV 211AM_CONDITIONAL([HAVE_GCOV], [test "x$ac_cv_check_gcov" = xyes]) 212AM_CONDITIONAL([HAVE_LCOV], [test "x$ac_cv_check_lcov" = xyes]) 213AM_CONDITIONAL([HAVE_GCOVR], [test "x$ac_cv_check_gcovr" = xyes]) 214AC_SUBST(COVERAGE_CFLAGS) 215AC_SUBST(COVERAGE_LDFLAGS) 216 217########################### 218# Files 219########################### 220 221AC_OUTPUT([ 222Makefile 223po/Makefile.in 224libdbusmenu-glib/Makefile 225libdbusmenu-glib/dbusmenu-glib-0.4.pc 226libdbusmenu-gtk/Makefile 227libdbusmenu-gtk/dbusmenu-gtk-0.4.pc 228libdbusmenu-gtk/dbusmenu-gtk3-0.4.pc 229tools/Makefile 230tools/testapp/Makefile 231tests/Makefile 232tests/dbusmenu-jsonloader-0.4.pc 233docs/Makefile 234docs/libdbusmenu-glib/Makefile 235docs/libdbusmenu-glib/reference/Makefile 236docs/libdbusmenu-glib/reference/version.xml 237docs/libdbusmenu-gtk/Makefile 238docs/libdbusmenu-gtk/reference/Makefile 239docs/libdbusmenu-gtk/reference/version.xml 240]) 241 242########################### 243# Results 244########################### 245 246AC_MSG_NOTICE([ 247 248libdbusmenu Configuration: 249 250 Prefix: $prefix 251 Massive Debugging: $with_massivedebugging 252 GTK+ Version: $with_gtk 253]) 254 255AS_IF([test "x$have_tests" = "xyes"], 256 AC_MSG_NOTICE([ Tests: yes]), 257 AC_MSG_NOTICE([ Tests: no]) 258) 259 260AS_IF([test "x$enable_gtk" = "xno"], 261 AC_MSG_NOTICE([ Gtk: no]), 262 AC_MSG_NOTICE([ Gtk: yes (gtk$with_gtk)]) 263) 264 265AM_COND_IF([HAVE_VALA], 266 AC_MSG_NOTICE([ Vala bindings: yes]), 267 AC_MSG_NOTICE([ Vala bindings no]) 268) 269 270AS_IF([test "x$have_dumper" = "xyes"], 271 AC_MSG_NOTICE([ Dumper: yes]), 272 AC_MSG_NOTICE([ Dumper: no]) 273) 274 275AS_IF([test "x$use_gcov" = "xyes"], 276 AC_MSG_NOTICE([ Coverage reporting: yes]), 277 AC_MSG_NOTICE([ Coverage reporting: no]) 278) 279