Tomb/configure.ac
Jaromil e1ba5a4b4b build deps are converted to checks
avoid quit if missing: this facilitates dependency definition in debian package
2011-04-28 13:22:13 +02:00

152 lines
4.1 KiB
Plaintext

dnl ==============================================================
dnl Process this file with autoconf to produce a configure script.
dnl ==============================================================
AC_PREREQ([2.60])
AC_INIT([Tomb],[1.0],[jaromil@dyne.org],[Tomb])
AC_CONFIG_MACRO_DIR([m4])
AC_CANONICAL_HOST
dnl backwards compatibility for autoconf >= 2.64
dnl PACKAGE_URL should be the fifth argument of AC_INIT
m4_define([AC_PACKAGE_URL], [http://tomb.dyne.org])
dnl AC_DEFINE(PACKAGE_URL, "AC_PACKAGE_URL", [Package URL])
AC_SUBST(PACKAGE_URL, AC_PACKAGE_URL)
dnl ==============================================================
dnl Get the operating system and version number...
dnl ==============================================================
AC_MSG_CHECKING([for which platform we are setting up])
case "$host_os" in
*linux*)
AC_MSG_RESULT([Linux])
have_linux=yes
if test x$have_x86_64 = xyes; then
have_64bit=yes
fi
if test x$have_x86_32 = xyes; then
have_32bit=yes
fi
;;
*darwin*)
AC_MSG_RESULT([Darwin/OSX])
have_darwin=yes
;;
*freebsd*)
AC_MSG_RESULT([FreeBSD])
have_freebsd=yes
;;
*)
AC_MSG_RESULT([$host_os?!])
AC_MSG_ERROR([[
[!] Your system architecture is not supported by Tomb.
]], 0)
;;
esac
dnl ==============================================================
dnl Setup for automake
dnl ==============================================================
AM_INIT_AUTOMAKE([dist-bzip2 subdir-objects -Wno-portability])
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
AC_CONFIG_SRCDIR([src/tomb])
dnl Checks for reguired programs.
AC_PROG_CC
AC_PROG_INSTALL
dnl ---------------------------------------------------------------
dnl Checks for external programs.
dnl none of these will fail with error if missing since technically
dnl these are not *build* dependencies, but *runtime* dependencies.
dnl Mandatory
AC_CHECK_PROG(have_zsh,zsh,yes,no)
AC_CHECK_PROG(have_cryptsetup,cryptsetup,yes,no)
AC_CHECK_PROG(have_pinentry,pinentry,yes,no)
AC_CHECK_PROG(have_sudo,sudo,yes,no)
dnl Optional
AC_CHECK_PROG(have_wipe,wipe,yes,no)
AC_CHECK_PROG(have_dcfldd,dcfldd,yes,no)
dnl ---------------------------------------------------------------
PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.16], :,
AC_MSG_ERROR([*** Gtk+2 >=2.16 development files not found!]))
AC_SUBST([GTK2_CFLAGS])
AC_SUBST([GTK2_LIBS])
PKG_CHECK_MODULES(NOTIFY, libnotify, :,
AC_MSG_ERROR([*** libnotify development files not found!]))
AC_SUBST([NOTIFY_CFLAGS])
AC_SUBST([NOTIFY_LIBS])
REALCFLAGS="$CFLAGS"
REALLIBS="$LIBS"
CFLAGS="$NOTIFY_CFLAGS $CFLAGS"
LIBS="$NOTIFY_LIBS $LIBS"
AC_CHECK_FUNCS([notify_notification_new_with_status_icon])
CFLAGS="$REALCFLAGS"
LIBS="$REALLIBS"
dnl compile with full warnings and debugging symbols
AC_ARG_ENABLE(debug,
AS_HELP_STRING([--enable-debug],[compile with debug symbols (no)]),
[enable_debug=$enableval],
[enable_debug=no])
AC_MSG_CHECKING([if compiling with debug symbols])
if test x$enable_debug = xyes; then
AC_MSG_RESULT([yes])
CFLAGS="$CFLAGS -Wall -g -ggdb"
else
AC_MSG_RESULT([no])
fi
AC_SUBST(CFLAGS)
PACKAGE_DATA_DIR='${prefix}/share/tomb'
AC_SUBST(PACKAGE_DATA_DIR)
# mime TODO see http://www.freedesktop.org/wiki/Specifications/AddingMIMETutor
XDG_DATA_DIR='${prefix}/share/mime/packages'
AC_SUBST(XDG_DATA_DIR)
dnl alphabetic order on dir/subdir, but Makefile sorts before everything
AC_CONFIG_FILES([
Makefile
src/Makefile
doc/Makefile
share/Makefile
])
AC_OUTPUT
dnl function to print verbose configure options only if V=1 is passed to
dnl configure
AC_DEFUN([VRB],
AS_IF([test x"$V" == x1], INFO([$1])))
dnl autoconf < 2.63 compatibility
m4_ifndef([AS_VAR_APPEND],
AC_DEFUN([AS_VAR_APPEND], $1=$$1$2))
dnl convenience function so that INFO messages go to config.log and to stdout,
dnl useful when debugging user problems only config.log is needed
AC_DEFUN([INFO],
AS_ECHO(["$1"]) >&AS_MESSAGE_LOG_FD
AS_ECHO(["$1"]) >&AS_MESSAGE_FD)
dnl as above, but no newline at the end
AC_DEFUN([INFO_N],
AS_ECHO_N(["$1"]) >&AS_MESSAGE_LOG_FD
AS_ECHO_N(["$1"]) >&AS_MESSAGE_FD)