Codebase list krb5-auth-dialog / upstream/0.8+svn136 configure.ac
upstream/0.8+svn136

Tree @upstream/0.8+svn136 (Download .tar.gz)

configure.ac @upstream/0.8+svn136raw · history · blame

AC_INIT([krb5-auth-dialog], [0.8])
AC_CONFIG_SRCDIR(src/krb5-auth-dialog.c)
dnl Make automake keep quiet about wildcards & other GNUmake-isms
AM_INIT_AUTOMAKE([-Wno-portability])
AM_CONFIG_HEADER(config.h)

AM_MAINTAINER_MODE

GETTEXT_PACKAGE=krb5-auth-dialog
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package])


AC_PROG_CC
AC_ISC_POSIX
AC_HEADER_STDC
AM_PROG_LIBTOOL
AC_PROG_INTLTOOL
AM_PROG_LEX
AC_PROG_YACC

KA_COMPILE_WARNINGS([maximum])

ALL_LINGUAS="nb de"
AM_GLIB_GNU_GETTEXT

GTK_REQUIRED="2.4.0"
GLADE_REQUIRED="2.4.0"
DBUS_REQUIRED="0.60"
GCONF_REQUIRED="2.8"
LIBNOTIFY_REQUIRED="0.4"
GIO_UNIX_REQUIRED="0.0"

PKG_CHECK_MODULES(GTK, gtk+-2.0 >= $GTK_REQUIRED)
PKG_CHECK_MODULES(GLADE, libglade-2.0 >= $GLADE_REQUIRED)
PKG_CHECK_MODULES(DBUS, dbus-glib-1 >= $DBUS_REQUIRED)
PKG_CHECK_MODULES(GCONF, gconf-2.0 >= $GCONF_REQUIRED)
PKG_CHECK_MODULES(GIO_UNIX, gio-unix-2.0 >= $GIO_UNIX_REQUIRED)

dnl --enable-debug=(yes|no)
AC_ARG_ENABLE(debug,
              AC_HELP_STRING([--enable-debug=no/yes],
                             [enable debugging output]),[],[enable_debug=no])
if test x"$enable_debug" = x"yes"; then
   AC_DEFINE(ENABLE_DEBUG, 1, [whether debugging is enabled])
fi


AC_PATH_PROG([KRB5_CONFIG], krb5-config, none, $PATH:/usr/kerberos/bin)
if test "x$KRB5_CONFIG" != "xnone"; then
   KRB5_LIBS="`${KRB5_CONFIG} --libs krb5`"
   KRB5_CFLAGS="`${KRB5_CONFIG} --cflags krb5`"
   AC_SUBST(KRB5_CFLAGS)
   AC_SUBST(KRB5_LIBS)
fi

dnl Check for API differences between Heimdal and MIT Kerberos
savedCFLAGS="$CFLAGS"
CFLAGS="$KRB5_CFLAGS $CFLAGS"
savedLIBS="$LIBS"
LIBS="$KRB5_LIBS $LIBS"
AC_CHECK_HEADERS([hx509_err.h])
AC_CHECK_MEMBERS(krb5_creds.ticket_flags,,,[#include <krb5.h>])
AC_CHECK_MEMBERS(krb5_creds.flags.b.forwardable,,,[#include <krb5.h>])
AC_CHECK_MEMBERS(krb5_creds.flags.b.renewable,,,[#include <krb5.h>])
AC_CHECK_MEMBERS(krb5_creds.flags.b.proxiable,,,[#include <krb5.h>])
AC_CHECK_MEMBERS(krb5_creds.flags,,,[#include <krb5.h>])
AC_CHECK_FUNCS([krb5_get_error_message])
AC_CHECK_FUNCS([krb5_get_renewed_creds])
AC_CHECK_FUNCS([krb5_get_init_creds_opt_set_default_flags])
AC_CHECK_FUNCS([krb5_cc_clear_mcred])
AC_MSG_CHECKING(if a krb5_principal->realm is a char*)
AC_COMPILE_IFELSE([
$ac_includes_default
#include <krb5.h>
#include <string.h>
int
main(int argc, char **argv)
{
	static krb5_principal foo;
	return strlen(foo->realm);
}],[AC_DEFINE(HAVE_KRB5_PRINCIPAL_REALM_AS_STRING,1,[Define if the realm of a krb5_principal is a char*])
AC_MSG_RESULT(yes)],
AC_MSG_RESULT(no))

AC_MSG_CHECKING(if a krb5_principal->realm is a krb5_data)
AC_COMPILE_IFELSE([
$ac_includes_default
#include <krb5.h>
int
main(int argc, char **argv)
{
	static krb5_principal foo;
	static krb5_data bar;
	foo->realm = bar;
	return 0;
}],[AC_DEFINE(HAVE_KRB5_PRINCIPAL_REALM_AS_DATA,1,[Define if the realm of a krb5_principal is a krb5_data])
AC_MSG_RESULT(yes)],
AC_MSG_RESULT(no))
dnl pkinit
AC_MSG_CHECKING([whether to enable pkinit support])
AC_ARG_ENABLE([pkinit],
	AS_HELP_STRING([--enable-pkinit],[whether to enable preauth via pkinit support]),
	[],[enable_pkinit=autodetect])
AC_MSG_RESULT([$enable_pkinit])

if test "x$enable_pkinit" != "xno"; then
	AC_CHECK_FUNCS([krb5_get_init_creds_opt_set_pkinit],
		[enable_pkinit=yes],[enable_pkinit=no])
fi

if test "x$enable_pkinit" = "xyes"; then
	AC_DEFINE([ENABLE_PKINIT],[1],[Define for pkinit support])
fi
AM_CONDITIONAL([ENABLE_PKINIT],[test "x$enable_pkinit" = "xyes"])
CFLAGS="$savedCFLAGS"
LIBS="$savedLIBS"



dnl NetworkManager
AC_MSG_CHECKING([whether to enable NetworkManager support])
AC_ARG_ENABLE([network-manager],
	AS_HELP_STRING([--enable-network-manager],[Whether to enable automatic network status with NetworkManager]),
	[],[enable_network_manager=autodetect])
AC_MSG_RESULT([$enable_network_manager])

if test "x$enable_network_manager" != "xno"; then
	PKG_CHECK_MODULES([NETWORK_MANAGER],[libnm_glib >= 0.5],
		[enable_network_manager=yes],[enable_network_manager=no])
	AC_SUBST([NETWORK_MANAGER_CFLAGS])
	AC_SUBST([NETWORK_MANAGER_LIBS])
fi

if test "x$enable_network_manager" = "xyes"; then
	AC_DEFINE([ENABLE_NETWORK_MANAGER],[1],[Define for NetworkManager support])
fi
AM_CONDITIONAL([ENABLE_NETWORK_MANAGER],[test "x$enable_network_manager" = "xyes"])

dnl libnotify
LIBNOTIFY_CFLAGS=
LIBNOTIFY_LIBS=
AC_ARG_WITH(libnotify,
  [  --with-libnotify	use libnotify for status messages],
  [],
  [with_libnotify=check])

if test "x$with_libnotify" = "xyes" -o "x$with_libnotify" = "xcheck"; then
  PKG_CHECK_MODULES(LIBNOTIFY, libnotify >= $LIBNOTIFY_REQUIRED,
    [with_libnotify=yes], [
    if test "x$with_libnotify" = "xcheck" ; then
       with_libnotify=no
    else
       AC_MSG_ERROR(
         [You must install libnotify >= $LIBNOTIFY_REQUIRED to compile krb5-auth-dialog])
    fi
  ])
  if test "x$with_libnotify" = "xyes" ; then
    AC_DEFINE_UNQUOTED(HAVE_LIBNOTIFY, 1,
      [use libnotify for status messages])
  fi
fi
AM_CONDITIONAL(HAVE_LIBNOTIFY, [test "x$with_libnotify" = "xyes"])
AC_SUBST(LIBNOTIFY_CFLAGS)
AC_SUBST(LIBNOTIFY_LIBS)


dnl secmem
dnl Checks for library functions.
AC_CHECK_FUNCS(seteuid stpcpy mmap)
GNUPG_CHECK_MLOCK
GNUPG_CHECK_TYPEDEF(byte, HAVE_BYTE_TYPEDEF)
GNUPG_CHECK_TYPEDEF(ulong, HAVE_ULONG_TYPEDEF)
dnl Check for libcap
AC_ARG_WITH([libcap], AC_HELP_STRING([--without-libcap],
            [Disable support for capabilities library]))
if test "x$with_libcap" != "xno"; then
  AC_PATH_PROG(SETCAP, setcap, :, "$PATH:/sbin:/usr/sbin")
  AC_CHECK_LIB(cap, cap_set_proc, [
    AC_DEFINE(USE_CAPABILITIES,1,[The capabilities support library is installed])
    LIBCAP=-lcap
  ])
fi
AC_SUBST(LIBCAP)


check_interval=30
AC_DEFINE_UNQUOTED(CREDENTIAL_CHECK_INTERVAL,[$check_interval],
		   [Define the to number of seconds to wait between checks of
		    the Kerberos credential cache.])
AC_SUBST(check_interval)

minimum_lifetime=30
AC_DEFINE_UNQUOTED(MINUTES_BEFORE_PROMPTING,[$minimum_lifetime],
		   [Define the to the minimum amount of time (m) a credential
		    will have to be valid before we'll ask the user to get
		    fresh credentials.])
AC_SUBST(minimum_lifetime)

CFLAGS="\
	$GTK_CFLAGS \
	$GLADE_CFLAGS \
	$DBUS_CFLAGS \
	$GCONF_CFLAGS \
	$KRB5_CFLAGS \
	$NETWORK_MANAGER_CFLAGS \
	$LIBNOTIFY_CFLAGS \
	$WARN_CFLAGS \
	$CFLAGS"

AC_OUTPUT([
Makefile
krb5-auth-dialog.spec
src/Makefile
src/krb5-auth-dialog.1
secmem/Makefile
gtksecentry/Makefile
icons/Makefile
etpo/Makefile
po/Makefile.in
])

AC_MSG_NOTICE([])
AC_MSG_NOTICE([Configuration summary])
AC_MSG_NOTICE([=====================])
AC_MSG_NOTICE([])
AC_MSG_NOTICE([Libraries])
AC_MSG_NOTICE([])
AC_MSG_NOTICE([         kerberos: $KRB5_CFLAGS $KRB5_LIBS])
AC_MSG_NOTICE([              gtk: $GTK_CFLAGS $GTK_LIBS])
AC_MSG_NOTICE([            glade: $GLADE_CFLAGS $GLADE_LIBS])
AC_MSG_NOTICE([             dbus: $DBUS_CFLAGS $DBUS_LIBS])
AC_MSG_NOTICE([            gconf: $GCONF_CFLAGS $GCONF_LIBS])
AC_MSG_NOTICE([         gio-unix: $GIO_UNIX_CFLAGS $GIO_UNIX_LIBS])
if test "$with_libnotify" = "yes" ; then
AC_MSG_NOTICE([        libnotify: $LIBNOTIFY_CFLAGS $LIBNOTIFY_LIBS])
else
AC_MSG_NOTICE([        libnotify: no])
fi
if test "$enable_network_manager" = "yes" ; then
AC_MSG_NOTICE([  Network Manager: $NETWORK_MANAGER_CFLAGS $NETWORK_MANAGER_LIBS])
else
AC_MSG_NOTICE([  Network Manager: no])
fi
AC_MSG_NOTICE([])
AC_MSG_NOTICE([Miscellaneous])
AC_MSG_NOTICE([])
AC_MSG_NOTICE([          Warnings: $WARN_CFLAGS])
AC_MSG_NOTICE([            Debug : $enable_debug])
AC_MSG_NOTICE([  Minimum Lifetime: $minimum_lifetime minutes])
AC_MSG_NOTICE([    Check Interval: $check_interval seconds])
AC_MSG_NOTICE([])