1AC_INIT([libgnome-keyring], [3.12.0]) 2AC_CONFIG_SRCDIR([library/gnome-keyring.h]) 3AM_INIT_AUTOMAKE([tar-ustar]) 4AC_CONFIG_MACRO_DIR([build/m4]) 5 6AC_CONFIG_HEADERS(config.h) 7m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) 8 9AM_SANITY_CHECK 10AM_MAINTAINER_MODE([enable]) 11 12AC_GNU_SOURCE 13AC_ISC_POSIX 14AC_PROG_CC 15AM_PROG_CC_C_O 16AC_PROG_INSTALL 17AC_PROG_LN_S 18AC_PROG_MAKE_SET 19AM_DISABLE_STATIC 20AM_PROG_LIBTOOL 21IT_PROG_INTLTOOL([0.35.0]) 22AC_PATH_PROG(PKG_CONFIG, pkg-config, no) 23 24LIB_GNOME_KEYRING_LT_VERSION=2:0:2 25AC_SUBST(LIB_GNOME_KEYRING_LT_VERSION) 26 27version_bits=`echo $VERSION | tr '.' ' '` 28full_version=`printf %03d%03d%03d $version_bits` 29AC_DEFINE_UNQUOTED(GKR_VERSION, $full_version, [The libgnome-keyring version as a number]) 30 31AC_TYPE_PID_T 32AC_TYPE_SIGNAL 33AC_TYPE_SIZE_T 34AC_TYPE_UID_T 35 36GTK_DOC_CHECK(1.9) 37DISTCHECK_CONFIGURE_FLAGS="--enable-gtk-doc" 38AC_SUBST(DISTCHECK_CONFIGURE_FLAGS) 39 40PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.16.0 gobject-2.0 gmodule-2.0) 41AC_SUBST(GLIB_CFLAGS) 42AC_SUBST(GLIB_LIBS) 43 44LIBRARY_CFLAGS="$LIBRARY_CFLAGS $GLIB_CFLAGS" 45LIBRARY_LIBS="$LIBRARY_LIBS $GLIB_LIBS" 46 47GETTEXT_PACKAGE="libgnome-keyring" 48AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [The gettext domain name]) 49AC_SUBST(GETTEXT_PACKAGE) 50 51AM_GLIB_GNU_GETTEXT 52 53# Introspection 54GOBJECT_INTROSPECTION_CHECK([1.30.0]) 55 56# Vala bindings 57VAPIGEN_CHECK([0.16]) 58 59AC_ARG_WITH(vapidir, [AC_HELP_STRING([--with-vapidir], [Directory for VAPI files]), 60 ], [VAPIGEN_VAPIDIR=$with_vapidir]) 61 62if test "$with_vapidir" = ""; then 63 VAPIDIR="$VAPIGEN_VAPIDIR" 64else 65 VAPIDIR="$with_vapidir" 66fi 67 68AC_SUBST(VAPIDIR) 69 70# -------------------------------------------------------------------- 71# Check for various credentials. 72# 73 74AC_MSG_CHECKING(for struct cmsgcred) 75AC_TRY_COMPILE([ 76#include <sys/types.h> 77#include <sys/socket.h> 78],[ 79struct cmsgcred cred; 80 81cred.cmcred_pid = 0; 82],have_struct_cmsgcred=yes,have_struct_cmsgcred=no) 83AC_MSG_RESULT($have_struct_cmsgcred) 84 85if test x$have_struct_cmsgcred = xyes; then 86 AC_DEFINE(HAVE_CMSGCRED, 1, [Have cmsgcred structure]) 87fi 88 89# -------------------------------------------------------------------- 90# Check for getpeerucred 91# 92 93AC_CHECK_FUNCS(getpeerucred, AC_DEFINE(HAVE_GETPEERUCRED,1,[Have getpeerucred])) 94 95# -------------------------------------------------------------------- 96# Check for getpeereid 97# 98 99AC_CHECK_FUNCS(getpeereid, AC_DEFINE(HAVE_GETPEEREID, 1, [Have getpeereid function])) 100 101# -------------------------------------------------------------------- 102# Memory locking 103# 104 105AC_CHECK_FUNCS(mlock) 106 107# -------------------------------------------------------------------- 108# DBus Checks 109# 110 111DBUS_REQUIRED=1.0 112PKG_CHECK_MODULES([DBUS], dbus-1 >= 1.0) 113 114DBUS_VERSION=`$PKG_CONFIG --modversion dbus-1` 115DBUS_MAJOR_VERSION=`echo $DBUS_VERSION | cut -d. -f1` 116DBUS_MINOR_VERSION=`echo $DBUS_VERSION | cut -d. -f2` 117DBUS_MICRO_VERSION=`echo $DBUS_VERSION | cut -d. -f3` 118DBUS_CFLAGS="$DBUS_CFLAGS -DGKR_DBUS_MAJOR_VERSION=$DBUS_MAJOR_VERSION" 119DBUS_CFLAGS="$DBUS_CFLAGS -DGKR_DBUS_MINOR_VERSION=$DBUS_MINOR_VERSION" 120DBUS_CFLAGS="$DBUS_CFLAGS -DGKR_DBUS_MICRO_VERSION=$DBUS_MICRO_VERSION" 121 122LIBRARY_CFLAGS="$LIBRARY_CFLAGS $DBUS_CFLAGS" 123LIBRARY_LIBS="$LIBRARY_LIBS $DBUS_LIBS" 124 125# -------------------------------------------------------------------- 126# libgcrypt 127# 128 129GCRYPT_VERSION=1.2.2 130GCRYPT_LIBVER=1 131 132AM_PATH_LIBGCRYPT($GCRYPT_LIBVER:$GCRYPT_VERSION,, 133 AC_MSG_ERROR([[ 134*** 135*** libgcrypt was not found. You may want to get it from 136*** ftp://ftp.gnupg.org/gcrypt/libgcrypt/ 137*** 138]])) 139libgcrypt=yes 140AC_DEFINE_UNQUOTED(LIBGCRYPT_VERSION, "$GCRYPT_VERSION", [Version of GCRYPT we expect]) 141 142LIBRARY_CFLAGS="$LIBRARY_CFLAGS $LIBGCRYPT_CFLAGS" 143LIBRARY_LIBS="$LIBRARY_LIBS $LIBGCRYPT_LIBS" 144 145AC_SUBST([LIBGCRYPT_CFLAGS]) 146AC_SUBST([LIBGCRYPT_LIBS]) 147 148# -------------------------------------------------------------------- 149# Debug mode 150# 151 152AC_MSG_CHECKING([for debug mode]) 153AC_ARG_ENABLE(debug, 154 AC_HELP_STRING([--enable-debug=no/default/yes], 155 [Turn on or off debugging])) 156 157if test "$enable_debug" != "no"; then 158 AC_DEFINE_UNQUOTED(WITH_DEBUG, 1, [Print debug output]) 159 AC_DEFINE_UNQUOTED(_DEBUG, 1, [In debug mode]) 160 CFLAGS="$CFLAGS -g" 161fi 162 163if test "$enable_debug" = "yes"; then 164 debug_status="yes (-g, -O0, debug output, testable)" 165 CFLAGS="$CFLAGS -O0" 166elif test "$enable_debug" = "no"; then 167 debug_status="no (no debug output, not testable, G_DISABLE_ASSERT)" 168 AC_DEFINE_UNQUOTED(G_DISABLE_ASSERT, 1, [Disable glib assertions]) 169else 170 debug_status="default (-g, debug output, testable)" 171fi 172 173AC_MSG_RESULT($debug_status) 174 175AC_MSG_CHECKING(for more warnings) 176if test "$enable_debug" != "no" -a "$GCC" = "yes"; then 177 AC_MSG_RESULT(yes) 178 CFLAGS="\ 179 -Wall \ 180 -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \ 181 -Wnested-externs -Wpointer-arith \ 182 -Wcast-align -Wsign-compare \ 183 $CFLAGS" 184 185 for option in -Wno-strict-aliasing -Wno-sign-compare; do 186 SAVE_CFLAGS="$CFLAGS" 187 CFLAGS="$CFLAGS $option" 188 AC_MSG_CHECKING([whether gcc understands $option]) 189 AC_TRY_COMPILE([], [], 190 has_option=yes, 191 has_option=no,) 192 if test $has_option = no; then 193 CFLAGS="$SAVE_CFLAGS" 194 fi 195 AC_MSG_RESULT($has_option) 196 unset has_option 197 unset SAVE_CFLAGS 198 done 199 unset option 200else 201 AC_MSG_RESULT(no) 202fi 203 204AC_ARG_ENABLE(strict, [ 205 AS_HELP_STRING([--enable-strict], [Strict code compilation]) 206 ]) 207 208AC_MSG_CHECKING([build strict]) 209 210if test "$enable_strict" = "yes"; then 211 CFLAGS="$CFLAGS -Werror" 212 TEST_MODE="thorough" 213 INTROSPECTION_FLAGS="--warn-error" 214 AC_DEFINE_UNQUOTED(WITH_STRICT, 1, [More strict checks]) 215 strict_status="yes (-Werror, thorough tests, fatals)" 216else 217 TEST_MODE="quick" 218 INTROSPECTION_FLAGS="" 219 strict_status="no (quick tests, non-fatal warnings)" 220fi 221 222AC_MSG_RESULT($strict_status) 223 224AC_SUBST(INTROSPECTION_FLAGS) 225AC_SUBST(TEST_MODE) 226 227AC_MSG_CHECKING([whether to build with gcov testing]) 228AC_ARG_ENABLE([coverage], 229 [AS_HELP_STRING([--enable-coverage], [Whether to enable coverage testing ])], 230 [], 231 [enable_coverage=no]) 232 233AC_MSG_RESULT([$enable_coverage]) 234 235AC_MSG_CHECKING([code coverage]) 236 237if test "$enable_coverage" = "yes"; then 238 if test "$GCC" != "yes"; then 239 AC_MSG_ERROR(Coverage testing requires GCC) 240 fi 241 242 AC_PATH_PROG(GCOV, gcov, no) 243 if test "$GCOV" = "no" ; then 244 AC_MSG_ERROR(gcov tool is not available) 245 fi 246 247 CFLAGS="$CFLAGS -O0 -g --coverage" 248 LDFLAGS="$LDFLAGS --coverage" 249fi 250 251AM_CONDITIONAL([WITH_COVERAGE], [test "$enable_coverage" = "yes"]) 252 253AC_MSG_RESULT($enable_coverage) 254 255# ---------------------------------------------------------------------- 256# Status 257 258AC_SUBST(LIBRARY_CFLAGS) 259AC_SUBST(LIBRARY_LIBS) 260 261AC_OUTPUT([ 262Makefile 263docs/Makefile 264docs/reference/Makefile 265docs/reference/gnome-keyring/Makefile 266egg/Makefile 267egg/tests/Makefile 268library/Makefile 269library/tests/Makefile 270library/gnome-keyring-1.pc 271library/gnome-keyring-1-uninstalled.pc 272po/Makefile.in 273]) 274 275# ------------------------------------------------------------------------------ 276# Summary 277# 278 279echo 280echo "CFLAGS: $CFLAGS" 281echo 282echo "OPTIONS:" 283echo " Introspection: $found_introspection" 284echo " Vala: $enable_vala" 285echo " Debug Build: $debug_status" 286echo " Strict Build: $strict_status" 287echo " Code Coverage: $enable_coverage" 288echo 289