summaryrefslogtreecommitdiffstats
path: root/unit/atf-src/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'unit/atf-src/configure.ac')
-rw-r--r--unit/atf-src/configure.ac228
1 files changed, 228 insertions, 0 deletions
diff --git a/unit/atf-src/configure.ac b/unit/atf-src/configure.ac
new file mode 100644
index 0000000..bc85064
--- /dev/null
+++ b/unit/atf-src/configure.ac
@@ -0,0 +1,228 @@
+dnl Copyright (c) 2007 The NetBSD Foundation, Inc.
+dnl All rights reserved.
+dnl
+dnl Redistribution and use in source and binary forms, with or without
+dnl modification, are permitted provided that the following conditions
+dnl are met:
+dnl 1. Redistributions of source code must retain the above copyright
+dnl notice, this list of conditions and the following disclaimer.
+dnl 2. Redistributions in binary form must reproduce the above copyright
+dnl notice, this list of conditions and the following disclaimer in the
+dnl documentation and/or other materials provided with the distribution.
+dnl
+dnl THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND
+dnl CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+dnl INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+dnl MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+dnl IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY
+dnl DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+dnl DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+dnl GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+dnl INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
+dnl IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+dnl OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+dnl IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+dnl -----------------------------------------------------------------------
+dnl Initialize the GNU build system.
+dnl -----------------------------------------------------------------------
+
+AC_INIT([Automated Testing Framework], [0.21],
+ [atf-discuss@googlegroups.com], [atf],
+ [https://github.com/jmmv/atf/])
+AC_PREREQ([2.65])
+AC_COPYRIGHT([Copyright (c) 2007-2012 The NetBSD Foundation, Inc.])
+AC_DEFINE([PACKAGE_COPYRIGHT],
+ ["Copyright (c) 2007-2012 The NetBSD Foundation, Inc."],
+ [Define to the copyright string applicable to this package.])
+AC_CONFIG_AUX_DIR([admin])
+AC_CONFIG_HEADERS([config.h])
+AC_CONFIG_MACRO_DIR([m4])
+AC_CONFIG_SRCDIR([atf-c.h])
+AC_CONFIG_TESTDIR([bootstrap])
+
+AC_CANONICAL_TARGET
+
+AM_INIT_AUTOMAKE([1.9 check-news foreign subdir-objects -Wall])
+
+AM_PROG_AR
+LT_INIT
+
+AC_ARG_ENABLE(tools,
+ AS_HELP_STRING([--enable-tools],
+ [Enables the build of the deprecated ATF tools]),
+ [case $enableval in
+ yes|no) enable_tools=${enableval} ;;
+ *) AC_MSG_ERROR([Invalid value passed to --enable-tools]) ;;
+ esac],
+ [enable_tools=no])
+AC_SUBST([ENABLE_TOOLS], ${enable_tools})
+AM_CONDITIONAL([ENABLE_TOOLS], [test "${enable_tools}" = yes])
+
+dnl -----------------------------------------------------------------------
+dnl Check for the C and C++ compilers and required features.
+dnl -----------------------------------------------------------------------
+
+AC_LANG(C)
+AC_PROG_CC
+AM_PROG_CC_C_O
+dnl The C compiler check automatically aborts if the compiler does not work.
+dnl Nothing to do here.
+
+AC_LANG(C++)
+AC_PROG_CXX
+AC_CACHE_CHECK([whether the C++ compiler works],
+ [atf_cv_prog_cxx_works],
+ [AC_LANG_PUSH([C++])
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
+ [atf_cv_prog_cxx_works=yes],
+ [atf_cv_prog_cxx_works=no])
+ AC_LANG_POP])
+if test "${atf_cv_prog_cxx_works}" = no; then
+ AC_MSG_ERROR([C++ compiler cannot create executables])
+fi
+
+KYUA_DEVELOPER_MODE([C,C++])
+
+dnl TODO(jmmv): Remove once the atf-*-api.3 symlinks are removed.
+AC_PROG_LN_S
+
+ATF_MODULE_APPLICATION
+ATF_MODULE_DEFS
+ATF_MODULE_ENV
+ATF_MODULE_FS
+ATF_MODULE_SIGNALS
+
+AC_CHECK_TYPE([timer_t], [], [], [[#include <time.h>]])
+
+ATF_RUNTIME_TOOL([ATF_BUILD_CC],
+ [C compiler to use at runtime], [${CC}])
+ATF_RUNTIME_TOOL([ATF_BUILD_CFLAGS],
+ [C compiler flags to use at runtime], [${CFLAGS}])
+ATF_RUNTIME_TOOL([ATF_BUILD_CPP],
+ [C/C++ preprocessor to use at runtime], [${CPP}])
+ATF_RUNTIME_TOOL([ATF_BUILD_CPPFLAGS],
+ [C/C++ preprocessor flags to use at runtime], [${CPPFLAGS}])
+ATF_RUNTIME_TOOL([ATF_BUILD_CXX],
+ [C++ compiler to use at runtime], [${CXX}])
+ATF_RUNTIME_TOOL([ATF_BUILD_CXXFLAGS],
+ [C++ compiler flags to use at runtime], [${CXXFLAGS}])
+
+dnl -----------------------------------------------------------------------
+dnl Generation of files in srcdir.
+dnl -----------------------------------------------------------------------
+
+dnl BSD make(1) doesn't deal with targets specified as './foo' well: they
+dnl need to be specified as 'foo'. The following hack is to workaround this
+dnl issue.
+if test "${srcdir}" = .; then
+ target_srcdir=
+else
+ target_srcdir="${srcdir}/"
+fi
+AC_SUBST([target_srcdir])
+
+dnl -----------------------------------------------------------------------
+dnl Architecture and machine checks.
+dnl -----------------------------------------------------------------------
+
+atf_arch=`uname -p`
+atf_machine=`uname -m`
+
+AC_MSG_NOTICE([Machine type: ${atf_machine}, architecture: ${atf_arch}])
+AC_SUBST(atf_arch, ${atf_arch})
+AC_SUBST(atf_machine, ${atf_machine})
+
+dnl -----------------------------------------------------------------------
+dnl User-customizable variables.
+dnl -----------------------------------------------------------------------
+
+AC_ARG_VAR([ATF_WORKDIR],
+ [Default location to use for ATF work directories])
+if test x"${ATF_WORKDIR}" = x""; then
+ for t in /tmp /var/tmp; do
+ if test -d ${t}; then
+ ATF_WORKDIR=${t}
+ break
+ fi
+ done
+ if test x"${ATF_WORKDIR}" = x""; then
+ AC_MSG_ERROR([Could not guess a value for ATF_WORKDIR])
+ fi
+else
+ case ${ATF_WORKDIR} in
+ /*)
+ ;;
+ *)
+ AC_MSG_ERROR([ATF_WORKDIR must hold an absolute path])
+ ;;
+ esac
+fi
+
+AC_ARG_VAR([ATF_CONFSUBDIR],
+ [Subdirectory of sysconfdir under which to look for files])
+if test x"${ATF_CONFSUBDIR-unset}" = x"unset"; then
+ ATF_CONFSUBDIR=atf
+else
+ case ${ATF_CONFSUBDIR} in
+ /*)
+ AC_MSG_ERROR([ATF_CONFSUBDIR must hold a relative path])
+ ;;
+ *)
+ ;;
+ esac
+fi
+if test x"${ATF_CONFSUBDIR}" = x""; then
+ AC_SUBST(atf_confdir, \${sysconfdir})
+else
+ AC_SUBST(atf_confdir, \${sysconfdir}/${ATF_CONFSUBDIR})
+fi
+
+AC_SUBST(atf_aclocaldir, \${datadir}/aclocal)
+AC_SUBST(atf_cssdir, \${datadir}/examples/atf)
+AC_SUBST(atf_dtddir, \${datadir}/xml/atf)
+AC_SUBST(atf_egdir, \${datadir}/examples/atf)
+AC_SUBST(atf_pkgconfigdir, \${libdir}/pkgconfig)
+AC_SUBST(atf_xsldir, \${datadir}/xsl/atf)
+
+dnl -----------------------------------------------------------------------
+dnl Check for the shell and portability problems.
+dnl -----------------------------------------------------------------------
+
+AC_ARG_VAR([ATF_SHELL], [Location of the POSIX shell interpreter to use])
+if test x"${ATF_SHELL}" = x""; then
+ AC_PATH_PROGS(ATF_SHELL, [bash sh])
+else
+ case ${ATF_SHELL} in
+ /*)
+ ;;
+ *)
+ AC_MSG_ERROR([ATF_SHELL must hold an absolute path])
+ ;;
+ esac
+fi
+if test x"${ATF_SHELL}" = x""; then
+ AC_MSG_ERROR([No POSIX shell interpreter found; maybe set ATF_SHELL?])
+fi
+
+dnl -----------------------------------------------------------------------
+dnl Check for required tools.
+dnl -----------------------------------------------------------------------
+
+AC_PATH_PROG([GDB], [gdb])
+AC_PATH_PROG([KYUA], [kyua])
+AM_CONDITIONAL([HAVE_KYUA], [test -n "${KYUA}"])
+AC_PATH_PROG([GIT], [git])
+
+dnl -----------------------------------------------------------------------
+dnl Finally, generate output.
+dnl -----------------------------------------------------------------------
+
+AC_OUTPUT([Makefile atf-c/defs.h tools/defs.hpp])
+
+if test ${enable_tools} = yes; then
+ AC_MSG_WARN([Building the deprecated ATF tools (atf-run and atf-report);])
+ AC_MSG_WARN([please migrate to Kyua as soon as feasible.])
+fi
+
+dnl vim: syntax=m4:expandtab:shiftwidth=4:softtabstop=4