Blame configure.ac

Packit 209faa
dnl Copyright 2010 The Kyua Authors.
Packit 209faa
dnl All rights reserved.
Packit 209faa
dnl
Packit 209faa
dnl Redistribution and use in source and binary forms, with or without
Packit 209faa
dnl modification, are permitted provided that the following conditions are
Packit 209faa
dnl met:
Packit 209faa
dnl
Packit 209faa
dnl * Redistributions of source code must retain the above copyright
Packit 209faa
dnl   notice, this list of conditions and the following disclaimer.
Packit 209faa
dnl * Redistributions in binary form must reproduce the above copyright
Packit 209faa
dnl   notice, this list of conditions and the following disclaimer in the
Packit 209faa
dnl   documentation and/or other materials provided with the distribution.
Packit 209faa
dnl * Neither the name of Google Inc. nor the names of its contributors
Packit 209faa
dnl   may be used to endorse or promote products derived from this software
Packit 209faa
dnl   without specific prior written permission.
Packit 209faa
dnl
Packit 209faa
dnl THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
Packit 209faa
dnl "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
Packit 209faa
dnl LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
Packit 209faa
dnl A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
Packit 209faa
dnl OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
Packit 209faa
dnl SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
Packit 209faa
dnl LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
Packit 209faa
dnl DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
Packit 209faa
dnl THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
Packit 209faa
dnl (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
Packit 209faa
dnl OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Packit 209faa
Packit 209faa
AC_INIT([Kyua], [0.13], [kyua-discuss@googlegroups.com], [kyua],
Packit 209faa
        [https://github.com/jmmv/kyua/])
Packit 209faa
AC_PREREQ([2.65])
Packit 209faa
Packit 209faa
Packit 209faa
AC_COPYRIGHT([Copyright 2010 The Kyua Authors.])
Packit 209faa
AC_CONFIG_AUX_DIR([admin])
Packit 209faa
AC_CONFIG_FILES([Doxyfile Makefile utils/defs.hpp])
Packit 209faa
AC_CONFIG_HEADERS([config.h])
Packit 209faa
AC_CONFIG_MACRO_DIR([m4])
Packit 209faa
AC_CONFIG_SRCDIR([main.cpp])
Packit 209faa
AC_CONFIG_TESTDIR([bootstrap])
Packit 209faa
Packit 209faa
Packit 209faa
AM_INIT_AUTOMAKE([1.9 foreign subdir-objects -Wall])
Packit 209faa
Packit 209faa
Packit 209faa
AC_LANG([C++])
Packit 209faa
AC_PROG_CXX
Packit 209faa
m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
Packit 209faa
KYUA_REQUIRE_CXX
Packit 209faa
KYUA_DEVELOPER_MODE([C++])
Packit 209faa
KYUA_ATTRIBUTE_NORETURN
Packit 209faa
KYUA_ATTRIBUTE_PURE
Packit 209faa
KYUA_ATTRIBUTE_UNUSED
Packit 209faa
KYUA_FS_MODULE
Packit 209faa
KYUA_GETOPT
Packit 209faa
KYUA_LAST_SIGNO
Packit 209faa
KYUA_MEMORY
Packit 209faa
AC_CHECK_FUNCS([putenv setenv unsetenv])
Packit 209faa
AC_CHECK_HEADERS([termios.h])
Packit 209faa
Packit 209faa
Packit 209faa
AC_PROG_RANLIB
Packit 209faa
Packit 209faa
Packit 209faa
m4_ifndef([PKG_CHECK_MODULES],
Packit 209faa
    [m4_fatal([Cannot find pkg.m4; see the INSTALL document for help])])
Packit 209faa
Packit 209faa
m4_ifndef([ATF_CHECK_CXX],
Packit 209faa
    [m4_fatal([Cannot find atf-c++.m4; see the INSTALL document for help])])
Packit 209faa
ATF_CHECK_CXX([>= 0.17])
Packit 209faa
m4_ifndef([ATF_CHECK_SH],
Packit 209faa
    [m4_fatal([Cannot find atf-sh.m4; see the INSTALL document for help])])
Packit 209faa
ATF_CHECK_SH([>= 0.15])
Packit 209faa
m4_ifndef([ATF_ARG_WITH],
Packit 209faa
    [m4_fatal([Cannot find atf-common.m4; see the INSTALL document for help])])
Packit 209faa
ATF_ARG_WITH
Packit 209faa
Packit 209faa
PKG_CHECK_MODULES([LUTOK], [lutok >= 0.4],
Packit 209faa
                  [],
Packit 209faa
                  AC_MSG_ERROR([lutok (0.4 or newer) is required]))
Packit 209faa
PKG_CHECK_MODULES([SQLITE3], [sqlite3 >= 3.6.22],
Packit 209faa
                  [],
Packit 209faa
                  AC_MSG_ERROR([sqlite3 (3.6.22 or newer) is required]))
Packit 209faa
KYUA_DOXYGEN
Packit 209faa
AC_PATH_PROG([GDB], [gdb])
Packit 209faa
test -n "${GDB}" || GDB=gdb
Packit 209faa
AC_PATH_PROG([GIT], [git])
Packit 209faa
Packit 209faa
Packit 209faa
KYUA_UNAME_ARCHITECTURE
Packit 209faa
KYUA_UNAME_PLATFORM
Packit 209faa
Packit 209faa
Packit 209faa
AC_ARG_VAR([KYUA_CONFSUBDIR],
Packit 209faa
           [Subdirectory of sysconfdir under which to look for files])
Packit 209faa
if test x"${KYUA_CONFSUBDIR-unset}" = x"unset"; then
Packit 209faa
    KYUA_CONFSUBDIR=kyua
Packit 209faa
else
Packit 209faa
    case ${KYUA_CONFSUBDIR} in
Packit 209faa
    /*)
Packit 209faa
        AC_MSG_ERROR([KYUA_CONFSUBDIR must hold a relative path])
Packit 209faa
        ;;
Packit 209faa
    *)
Packit 209faa
        ;;
Packit 209faa
    esac
Packit 209faa
fi
Packit 209faa
if test x"${KYUA_CONFSUBDIR}" = x""; then
Packit 209faa
    AC_SUBST(kyua_confdir, \${sysconfdir})
Packit 209faa
else
Packit 209faa
    AC_SUBST(kyua_confdir, \${sysconfdir}/${KYUA_CONFSUBDIR})
Packit 209faa
fi
Packit 209faa
Packit 209faa
Packit 209faa
dnl Allow the caller of 'make check', 'make installcheck' and 'make distcheck'
Packit 209faa
dnl on the Kyua source tree to override the configuration file passed to our
Packit 209faa
dnl own test runs.  This is for the development of Kyua only and the value of
Packit 209faa
dnl this setting has no effect on the built product in any way.  If we go
Packit 209faa
dnl through great extents in validating the value of this setting, it is to
Packit 209faa
dnl minimize the chance of false test run negatives later on.
Packit 209faa
AC_ARG_VAR([KYUA_CONFIG_FILE_FOR_CHECK],
Packit 209faa
           [kyua.conf file to use at 'make (|dist|install)check' time])
Packit 209faa
case "${KYUA_CONFIG_FILE_FOR_CHECK-none}" in
Packit 209faa
none)
Packit 209faa
    KYUA_CONFIG_FILE_FOR_CHECK=none
Packit 209faa
    ;;
Packit 209faa
/*)
Packit 209faa
    if test -f "${KYUA_CONFIG_FILE_FOR_CHECK}"; then
Packit 209faa
        : # All good!
Packit 209faa
    else
Packit 209faa
        AC_MSG_ERROR([KYUA_CONFIG_FILE_FOR_CHECK file does not exist])
Packit 209faa
    fi
Packit 209faa
    ;;
Packit 209faa
*)
Packit 209faa
    AC_MSG_ERROR([KYUA_CONFIG_FILE_FOR_CHECK must hold an absolute path])
Packit 209faa
    ;;
Packit 209faa
esac
Packit 209faa
Packit 209faa
Packit 209faa
AC_ARG_VAR([KYUA_TMPDIR],
Packit 209faa
           [Path to the directory in which to place work directories])
Packit 209faa
case "${KYUA_TMPDIR:-unset}" in
Packit 209faa
    unset)
Packit 209faa
        KYUA_TMPDIR=/tmp
Packit 209faa
        ;;
Packit 209faa
    /*)
Packit 209faa
        ;;
Packit 209faa
    *)
Packit 209faa
        AC_MSG_ERROR([KYUA_TMPDIR must be an absolute path])
Packit 209faa
        ;;
Packit 209faa
esac
Packit 209faa
Packit 209faa
Packit 209faa
AC_SUBST(examplesdir, \${pkgdatadir}/examples)
Packit 209faa
AC_SUBST(luadir, \${pkgdatadir}/lua)
Packit 209faa
AC_SUBST(miscdir, \${pkgdatadir}/misc)
Packit 209faa
AC_SUBST(pkgtestsdir, \${testsdir}/kyua)
Packit 209faa
AC_SUBST(storedir, \${pkgdatadir}/store)
Packit 209faa
AC_SUBST(testsdir, \${exec_prefix}/tests)
Packit 209faa
Packit 209faa
Packit 209faa
dnl BSD make(1) doesn't deal with targets specified as './foo' well: they
Packit 209faa
dnl need to be specified as 'foo'.  The following hack is to workaround this
Packit 209faa
dnl issue.
Packit 209faa
if test "${srcdir}" = .; then
Packit 209faa
    target_srcdir=
Packit 209faa
else
Packit 209faa
    target_srcdir="${srcdir}/"
Packit 209faa
fi
Packit 209faa
AM_CONDITIONAL(TARGET_SRCDIR_EMPTY, [test -z "${target_srcdir}"])
Packit 209faa
AC_SUBST([target_srcdir])
Packit 209faa
Packit 209faa
Packit 209faa
AC_OUTPUT