1# -*- Autoconf -*- 2# Process this file with autoconf to produce a configure script. 3 4AC_INIT(bamf, 0.5.4, dx-team@canonical.com) 5AC_PREREQ(2.69) 6AC_SUBST(LIBBAMF_VER, 3) 7AC_SUBST(LIBBAMF_SONAME, 2:0:0) 8 9AC_CONFIG_SRCDIR(src/main.c) 10AC_CONFIG_HEADERS(config.h) 11 12AM_INIT_AUTOMAKE([foreign tar-pax]) 13AM_SILENT_RULES([yes]) 14 15AC_CONFIG_MACRO_DIR([m4]) 16 17GNOME_COMMON_INIT 18GNOME_COMPILE_WARNINGS(maximum) 19 20AM_MAINTAINER_MODE 21AM_DISABLE_STATIC 22AM_PROG_LIBTOOL 23AC_ISC_POSIX 24AC_SUBST(ACLOCAL_AMFLAFS, "$ACLOCAL_FLAGS -I m4") 25 26PKG_PROG_PKG_CONFIG 27if test "x$PKG_CONFIG" = "x"; then AC_MSG_ERROR([You need to install pkg-config]); fi 28 29# Checks for programs. 30AC_PROG_CC 31AM_PROG_CC_C_O 32AC_PROG_INSTALL 33AC_HEADER_STDC 34 35SHAMROCK_EXPAND_LIBDIR 36SHAMROCK_EXPAND_BINDIR 37SHAMROCK_EXPAND_DATADIR 38 39# 40# pkg-config 41# 42PKG_PROG_PKG_CONFIG 43 44# 45# glib 46# 47PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.32.0 gio-2.0 >= 2.30.0 gio-unix-2.0) 48 49# 50# gdbus-codegen 51# 52AC_PATH_PROG([GDBUS_CODEGEN], [gdbus-codegen]) 53if test -z "$GDBUS_CODEGEN"; then AC_MSG_ERROR([gdbus-codegen is required but was not found]); fi 54 55# 56# libwnck 57# 58PKG_CHECK_MODULES(WNCK, libwnck-3.0 >= 3.4.7) 59 60# 61# libgtop 62# 63PKG_CHECK_MODULES(GTOP, libgtop-2.0) 64 65# 66# libsn 67# 68PKG_CHECK_MODULES(SN, libstartup-notification-1.0) 69 70# 71# x11 72# 73PKG_CHECK_MODULES(X, x11) 74 75# 76# DbusMenu 77# 78AC_ARG_ENABLE([export-actions-menu], 79 AS_HELP_STRING([--enable-export-actions-menu=@<:@no/yes@:>@],[export window actions menus (requires dbusmenu) @<:@default=no@:>@]),, 80 [enable_export_actions_menu=no]) 81 82AM_CONDITIONAL([EXPORT_ACTIONS_MENU],[test "x$enable_export_actions_menu" != "xno"]) 83 84if test "x$enable_export_actions_menu" = "xyes"; then 85 PKG_CHECK_MODULES(DBUSMENU, [dbusmenu-glib-0.4, dbusmenu-gtk3-0.4]) 86fi 87 88########################### 89# GObject Introspection 90########################### 91 92GOBJECT_INTROSPECTION_CHECK([0.10.2]) 93 94########################### 95# Vala API Generation 96########################### 97 98if test "$enable_introspection" = "yes"; then 99 AC_PATH_PROG([VALA_API_GEN], [vapigen]) 100 if test -z "$VALA_API_GEN"; then 101 AC_MSG_ERROR([vapigen is needed to build introspection]) 102 HAVE_INTROSPECTION=0 103 enable_introspection="no" 104 fi 105fi 106 107########################### 108# GTK-DOC 109########################### 110GTK_DOC_CHECK(1.0) 111 112########################### 113# gtester2xunit checks # 114########################### 115 116AC_PATH_PROG([PYTHON],[python]) 117AC_MSG_CHECKING(for gtester2xunit dependencies) 118if !($PYTHON -c "import libxslt, libxml2" 2> /dev/null); then 119 AC_MSG_RESULT([no]) 120 AC_MSG_ERROR([You need to install python-libxslt1 and python-libxml2]); 121fi 122AC_MSG_RESULT([yes]) 123 124########################### 125# Headless tests 126########################### 127AC_ARG_ENABLE([headless-tests], 128 AS_HELP_STRING([--enable-headless-tests=@<:@no/yes@:>@],[enable headless test suite (requires Xvfb) @<:@default=no@:>@]),, 129 [enable_headless_tests=no]) 130 131AM_CONDITIONAL([ENABLE_HEADLESS_TESTS],[test "x$enable_headless_tests" != "xno"]) 132 133if test "x$enable_headless_tests" = "xyes"; then 134 AC_PATH_PROG([XVFB],[Xvfb]) 135 AC_PATH_PROG([DBUS_RUN_SESSION],[dbus-run-session]) 136 137 if test -z "$XVFB" -o -z "$DBUS_RUN_SESSION"; then 138 AC_MSG_ERROR([Xvfb and dbus-run-session are needed for headless-tests]) 139 fi 140fi 141 142########################### 143# gcov coverage reporting 144########################### 145AC_TDD_GCOV 146AM_CONDITIONAL([HAVE_GCOV], [test "x$ac_cv_check_gcov" = xyes]) 147AM_CONDITIONAL([HAVE_LCOV], [test "x$ac_cv_check_lcov" = xyes]) 148AM_CONDITIONAL([HAVE_GCOVR], [test "x$ac_cv_check_gcovr" = xyes]) 149AC_SUBST(COVERAGE_CFLAGS) 150AC_SUBST(COVERAGE_LDFLAGS) 151 152# 153# Gnome/GTK checks 154# 155AM_PATH_GTK_3_0 156 157dnl CFLAGS 158CFLAGS="$CFLAGS -Wall -Werror -Wno-error=deprecated-declarations -Wempty-body -Wformat-security -Winit-self -Warray-bounds -Wimplicit-function-declaration -lm" 159 160AC_SUBST(BAMFDAEMON_CFLAGS) 161AC_SUBST(BAMFDAEMON_LIBS) 162 163origgiomodulesdir=`pkg-config --variable=giomoduledir gio-2.0` 164# Make giomodulesdir honour 'prefix', so that distcheck works. 165giomodulesdir=`echo "$origgiomodulesdir" | sed 's|/usr|${prefix}|'` 166AC_SUBST(giomodulesdir) 167 168AC_OUTPUT([ 169Makefile 170lib/libbamf-private/Makefile 171lib/libbamf/Makefile 172lib/libbamf/libbamf3.pc 173src/Makefile 174tests/Makefile 175tests/bamfdaemon/Makefile 176tests/libbamf/Makefile 177data/Makefile 178doc/Makefile 179doc/reference/Makefile 180doc/reference/libbamf/Makefile 181]) 182 183cat <<EOF 184 185${PACKAGE}-${VERSION} 186 187 Build Environment 188 Install Prefix: ${prefix} 189 Introspection: ${enable_introspection} 190 Headless tests: ${enable_headless_tests} 191 Coverage Reporting: ${use_gcov} 192 Export actions menus: ${enable_export_actions_menu} 193 194EOF 195