xref: /minix3/external/bsd/bind/dist/unit/atf-src/configure.ac (revision 00b67f09dd46474d133c95011a48590a8e8f94c7)
1*00b67f09SDavid van Moolenbroekdnl
2*00b67f09SDavid van Moolenbroekdnl Automated Testing Framework (atf)
3*00b67f09SDavid van Moolenbroekdnl
4*00b67f09SDavid van Moolenbroekdnl Copyright (c) 2007 The NetBSD Foundation, Inc.
5*00b67f09SDavid van Moolenbroekdnl All rights reserved.
6*00b67f09SDavid van Moolenbroekdnl
7*00b67f09SDavid van Moolenbroekdnl Redistribution and use in source and binary forms, with or without
8*00b67f09SDavid van Moolenbroekdnl modification, are permitted provided that the following conditions
9*00b67f09SDavid van Moolenbroekdnl are met:
10*00b67f09SDavid van Moolenbroekdnl 1. Redistributions of source code must retain the above copyright
11*00b67f09SDavid van Moolenbroekdnl    notice, this list of conditions and the following disclaimer.
12*00b67f09SDavid van Moolenbroekdnl 2. Redistributions in binary form must reproduce the above copyright
13*00b67f09SDavid van Moolenbroekdnl    notice, this list of conditions and the following disclaimer in the
14*00b67f09SDavid van Moolenbroekdnl    documentation and/or other materials provided with the distribution.
15*00b67f09SDavid van Moolenbroekdnl
16*00b67f09SDavid van Moolenbroekdnl THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND
17*00b67f09SDavid van Moolenbroekdnl CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
18*00b67f09SDavid van Moolenbroekdnl INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19*00b67f09SDavid van Moolenbroekdnl MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20*00b67f09SDavid van Moolenbroekdnl IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY
21*00b67f09SDavid van Moolenbroekdnl DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22*00b67f09SDavid van Moolenbroekdnl DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
23*00b67f09SDavid van Moolenbroekdnl GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24*00b67f09SDavid van Moolenbroekdnl INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
25*00b67f09SDavid van Moolenbroekdnl IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
26*00b67f09SDavid van Moolenbroekdnl OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
27*00b67f09SDavid van Moolenbroekdnl IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28*00b67f09SDavid van Moolenbroekdnl
29*00b67f09SDavid van Moolenbroek
30*00b67f09SDavid van Moolenbroekdnl -----------------------------------------------------------------------
31*00b67f09SDavid van Moolenbroekdnl Initialize the GNU build system.
32*00b67f09SDavid van Moolenbroekdnl -----------------------------------------------------------------------
33*00b67f09SDavid van Moolenbroek
34*00b67f09SDavid van MoolenbroekAC_INIT([Automated Testing Framework], [0.17], [atf-devel@NetBSD.org], [atf],
35*00b67f09SDavid van Moolenbroek        [http://code.google.com/p/kyua/wiki/ATF])
36*00b67f09SDavid van MoolenbroekAC_PREREQ([2.65])
37*00b67f09SDavid van MoolenbroekAC_COPYRIGHT([Copyright (c) 2007-2012 The NetBSD Foundation, Inc.])
38*00b67f09SDavid van MoolenbroekAC_DEFINE([PACKAGE_COPYRIGHT],
39*00b67f09SDavid van Moolenbroek          ["Copyright (c) 2007-2012 The NetBSD Foundation, Inc."],
40*00b67f09SDavid van Moolenbroek          [Define to the copyright string applicable to this package.])
41*00b67f09SDavid van MoolenbroekAC_CONFIG_AUX_DIR([admin])
42*00b67f09SDavid van MoolenbroekAC_CONFIG_HEADERS([bconfig.h])
43*00b67f09SDavid van MoolenbroekAC_CONFIG_MACRO_DIR([m4])
44*00b67f09SDavid van MoolenbroekAC_CONFIG_SRCDIR([atf-c.h])
45*00b67f09SDavid van MoolenbroekAC_CONFIG_TESTDIR([bootstrap])
46*00b67f09SDavid van Moolenbroek
47*00b67f09SDavid van MoolenbroekAC_CANONICAL_TARGET
48*00b67f09SDavid van Moolenbroek
49*00b67f09SDavid van MoolenbroekAM_INIT_AUTOMAKE([1.9 check-news foreign subdir-objects -Wall])
50*00b67f09SDavid van Moolenbroek
51*00b67f09SDavid van MoolenbroekLT_INIT
52*00b67f09SDavid van Moolenbroek
53*00b67f09SDavid van MoolenbroekAC_ARG_ENABLE(tools,
54*00b67f09SDavid van Moolenbroek    AS_HELP_STRING([--enable-tools],
55*00b67f09SDavid van Moolenbroek        [Enables the build of the deprecated ATF tools]),
56*00b67f09SDavid van Moolenbroek    [case $enableval in
57*00b67f09SDavid van Moolenbroek     yes|no) enable_tools=${enableval} ;;
58*00b67f09SDavid van Moolenbroek     *) AC_MSG_ERROR([Invalid value passed to --enable-tools]) ;;
59*00b67f09SDavid van Moolenbroek     esac],
60*00b67f09SDavid van Moolenbroek    [enable_tools=no])
61*00b67f09SDavid van MoolenbroekAC_SUBST([ENABLE_TOOLS], ${enable_tools})
62*00b67f09SDavid van MoolenbroekAM_CONDITIONAL([ENABLE_TOOLS], [test "${enable_tools}" = yes])
63*00b67f09SDavid van Moolenbroek
64*00b67f09SDavid van Moolenbroekdnl -----------------------------------------------------------------------
65*00b67f09SDavid van Moolenbroekdnl Check for the C and C++ compilers and required features.
66*00b67f09SDavid van Moolenbroekdnl -----------------------------------------------------------------------
67*00b67f09SDavid van Moolenbroek
68*00b67f09SDavid van MoolenbroekAC_LANG(C)
69*00b67f09SDavid van MoolenbroekAC_PROG_CC
70*00b67f09SDavid van MoolenbroekAM_PROG_CC_C_O
71*00b67f09SDavid van Moolenbroekdnl The C compiler check automatically aborts if the compiler does not work.
72*00b67f09SDavid van Moolenbroekdnl Nothing to do here.
73*00b67f09SDavid van Moolenbroek
74*00b67f09SDavid van MoolenbroekAC_LANG(C++)
75*00b67f09SDavid van MoolenbroekAC_PROG_CXX
76*00b67f09SDavid van MoolenbroekAC_CACHE_CHECK([whether the C++ compiler works],
77*00b67f09SDavid van Moolenbroek               [atf_cv_prog_cxx_works],
78*00b67f09SDavid van Moolenbroek               [AC_LANG_PUSH([C++])
79*00b67f09SDavid van Moolenbroek                AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
80*00b67f09SDavid van Moolenbroek                               [atf_cv_prog_cxx_works=yes],
81*00b67f09SDavid van Moolenbroek                               [atf_cv_prog_cxx_works=no])
82*00b67f09SDavid van Moolenbroek                AC_LANG_POP])
83*00b67f09SDavid van Moolenbroekif test "${atf_cv_prog_cxx_works}" = no; then
84*00b67f09SDavid van Moolenbroek    AC_MSG_ERROR([C++ compiler cannot create executables])
85*00b67f09SDavid van Moolenbroekfi
86*00b67f09SDavid van Moolenbroek
87*00b67f09SDavid van MoolenbroekKYUA_DEVELOPER_MODE([C,C++])
88*00b67f09SDavid van Moolenbroek
89*00b67f09SDavid van MoolenbroekATF_MODULE_APPLICATION
90*00b67f09SDavid van MoolenbroekATF_MODULE_DEFS
91*00b67f09SDavid van MoolenbroekATF_MODULE_ENV
92*00b67f09SDavid van MoolenbroekATF_MODULE_FS
93*00b67f09SDavid van MoolenbroekATF_MODULE_SANITY
94*00b67f09SDavid van MoolenbroekATF_MODULE_SIGNALS
95*00b67f09SDavid van Moolenbroek
96*00b67f09SDavid van MoolenbroekAC_CHECK_TYPE([timer_t], [], [], [[#include <time.h>]])
97*00b67f09SDavid van Moolenbroek
98*00b67f09SDavid van MoolenbroekATF_RUNTIME_TOOL([ATF_BUILD_CC],
99*00b67f09SDavid van Moolenbroek                 [C compiler to use at runtime], [${CC}])
100*00b67f09SDavid van MoolenbroekATF_RUNTIME_TOOL([ATF_BUILD_CFLAGS],
101*00b67f09SDavid van Moolenbroek                 [C compiler flags to use at runtime], [${CFLAGS}])
102*00b67f09SDavid van MoolenbroekATF_RUNTIME_TOOL([ATF_BUILD_CPP],
103*00b67f09SDavid van Moolenbroek                 [C/C++ preprocessor to use at runtime], [${CPP}])
104*00b67f09SDavid van MoolenbroekATF_RUNTIME_TOOL([ATF_BUILD_CPPFLAGS],
105*00b67f09SDavid van Moolenbroek                 [C/C++ preprocessor flags to use at runtime], [${CPPFLAGS}])
106*00b67f09SDavid van MoolenbroekATF_RUNTIME_TOOL([ATF_BUILD_CXX],
107*00b67f09SDavid van Moolenbroek                 [C++ compiler to use at runtime], [${CXX}])
108*00b67f09SDavid van MoolenbroekATF_RUNTIME_TOOL([ATF_BUILD_CXXFLAGS],
109*00b67f09SDavid van Moolenbroek                 [C++ compiler flags to use at runtime], [${CXXFLAGS}])
110*00b67f09SDavid van Moolenbroek
111*00b67f09SDavid van Moolenbroekdnl -----------------------------------------------------------------------
112*00b67f09SDavid van Moolenbroekdnl Generation of files in srcdir.
113*00b67f09SDavid van Moolenbroekdnl -----------------------------------------------------------------------
114*00b67f09SDavid van Moolenbroek
115*00b67f09SDavid van Moolenbroekdnl BSD make(1) doesn't deal with targets specified as './foo' well: they
116*00b67f09SDavid van Moolenbroekdnl need to be specified as 'foo'.  The following hack is to workaround this
117*00b67f09SDavid van Moolenbroekdnl issue.
118*00b67f09SDavid van Moolenbroekif test "${srcdir}" = .; then
119*00b67f09SDavid van Moolenbroek    target_srcdir=
120*00b67f09SDavid van Moolenbroekelse
121*00b67f09SDavid van Moolenbroek    target_srcdir="${srcdir}/"
122*00b67f09SDavid van Moolenbroekfi
123*00b67f09SDavid van MoolenbroekAC_SUBST([target_srcdir])
124*00b67f09SDavid van Moolenbroek
125*00b67f09SDavid van Moolenbroekdnl -----------------------------------------------------------------------
126*00b67f09SDavid van Moolenbroekdnl Architecture and machine checks.
127*00b67f09SDavid van Moolenbroekdnl -----------------------------------------------------------------------
128*00b67f09SDavid van Moolenbroek
129*00b67f09SDavid van Moolenbroekatf_arch=`uname -p`
130*00b67f09SDavid van Moolenbroekatf_machine=`uname -m`
131*00b67f09SDavid van Moolenbroek
132*00b67f09SDavid van MoolenbroekAC_MSG_NOTICE([Machine type: ${atf_machine}, architecture: ${atf_arch}])
133*00b67f09SDavid van MoolenbroekAC_SUBST(atf_arch, ${atf_arch})
134*00b67f09SDavid van MoolenbroekAC_SUBST(atf_machine, ${atf_machine})
135*00b67f09SDavid van Moolenbroek
136*00b67f09SDavid van Moolenbroekdnl -----------------------------------------------------------------------
137*00b67f09SDavid van Moolenbroekdnl User-customizable variables.
138*00b67f09SDavid van Moolenbroekdnl -----------------------------------------------------------------------
139*00b67f09SDavid van Moolenbroek
140*00b67f09SDavid van MoolenbroekAC_ARG_VAR([ATF_CONFSUBDIR],
141*00b67f09SDavid van Moolenbroek           [Subdirectory of sysconfdir under which to look for files])
142*00b67f09SDavid van Moolenbroekif test x"${ATF_CONFSUBDIR-unset}" = x"unset"; then
143*00b67f09SDavid van Moolenbroek    ATF_CONFSUBDIR=atf
144*00b67f09SDavid van Moolenbroekelse
145*00b67f09SDavid van Moolenbroek    case ${ATF_CONFSUBDIR} in
146*00b67f09SDavid van Moolenbroek    /*)
147*00b67f09SDavid van Moolenbroek        AC_MSG_ERROR([ATF_CONFSUBDIR must hold a relative path])
148*00b67f09SDavid van Moolenbroek        ;;
149*00b67f09SDavid van Moolenbroek    *)
150*00b67f09SDavid van Moolenbroek        ;;
151*00b67f09SDavid van Moolenbroek    esac
152*00b67f09SDavid van Moolenbroekfi
153*00b67f09SDavid van Moolenbroekif test x"${ATF_CONFSUBDIR}" = x""; then
154*00b67f09SDavid van Moolenbroek    AC_SUBST(atf_confdir, \${sysconfdir})
155*00b67f09SDavid van Moolenbroekelse
156*00b67f09SDavid van Moolenbroek    AC_SUBST(atf_confdir, \${sysconfdir}/${ATF_CONFSUBDIR})
157*00b67f09SDavid van Moolenbroekfi
158*00b67f09SDavid van Moolenbroek
159*00b67f09SDavid van MoolenbroekAC_ARG_VAR([ATF_WORKDIR],
160*00b67f09SDavid van Moolenbroek           [Default location to use for ATF work directories])
161*00b67f09SDavid van Moolenbroekif test x"${ATF_WORKDIR}" = x""; then
162*00b67f09SDavid van Moolenbroek    for t in /tmp /var/tmp; do
163*00b67f09SDavid van Moolenbroek        if test -d ${t}; then
164*00b67f09SDavid van Moolenbroek            ATF_WORKDIR=${t}
165*00b67f09SDavid van Moolenbroek            break
166*00b67f09SDavid van Moolenbroek        fi
167*00b67f09SDavid van Moolenbroek    done
168*00b67f09SDavid van Moolenbroek    if test x"${ATF_WORKDIR}" = x""; then
169*00b67f09SDavid van Moolenbroek        AC_MSG_ERROR([Could not guess a value for ATF_WORKDIR])
170*00b67f09SDavid van Moolenbroek    fi
171*00b67f09SDavid van Moolenbroekelse
172*00b67f09SDavid van Moolenbroek    case ${ATF_WORKDIR} in
173*00b67f09SDavid van Moolenbroek    /*)
174*00b67f09SDavid van Moolenbroek        ;;
175*00b67f09SDavid van Moolenbroek    *)
176*00b67f09SDavid van Moolenbroek        AC_MSG_ERROR([ATF_WORKDIR must hold an absolute path])
177*00b67f09SDavid van Moolenbroek        ;;
178*00b67f09SDavid van Moolenbroek    esac
179*00b67f09SDavid van Moolenbroekfi
180*00b67f09SDavid van Moolenbroek
181*00b67f09SDavid van MoolenbroekAC_SUBST(atf_aclocaldir, \${datadir}/aclocal)
182*00b67f09SDavid van MoolenbroekAC_SUBST(atf_cssdir, \${datadir}/examples/atf)
183*00b67f09SDavid van MoolenbroekAC_SUBST(atf_dtddir, \${datadir}/xml/atf)
184*00b67f09SDavid van MoolenbroekAC_SUBST(atf_egdir, \${datadir}/examples/atf)
185*00b67f09SDavid van MoolenbroekAC_SUBST(atf_pkgconfigdir, \${libdir}/pkgconfig)
186*00b67f09SDavid van MoolenbroekAC_SUBST(atf_xsldir, \${datadir}/xsl/atf)
187*00b67f09SDavid van Moolenbroek
188*00b67f09SDavid van Moolenbroekdnl -----------------------------------------------------------------------
189*00b67f09SDavid van Moolenbroekdnl Check for the shell and portability problems.
190*00b67f09SDavid van Moolenbroekdnl -----------------------------------------------------------------------
191*00b67f09SDavid van Moolenbroek
192*00b67f09SDavid van MoolenbroekAC_ARG_VAR([ATF_SHELL], [Location of the POSIX shell interpreter to use])
193*00b67f09SDavid van Moolenbroekif test x"${ATF_SHELL}" = x""; then
194*00b67f09SDavid van Moolenbroek    AC_PATH_PROGS(ATF_SHELL, [bash sh])
195*00b67f09SDavid van Moolenbroekelse
196*00b67f09SDavid van Moolenbroek    case ${ATF_SHELL} in
197*00b67f09SDavid van Moolenbroek    /*)
198*00b67f09SDavid van Moolenbroek        ;;
199*00b67f09SDavid van Moolenbroek    *)
200*00b67f09SDavid van Moolenbroek        AC_MSG_ERROR([ATF_SHELL must hold an absolute path])
201*00b67f09SDavid van Moolenbroek        ;;
202*00b67f09SDavid van Moolenbroek    esac
203*00b67f09SDavid van Moolenbroekfi
204*00b67f09SDavid van Moolenbroekif test x"${ATF_SHELL}" = x""; then
205*00b67f09SDavid van Moolenbroek    AC_MSG_ERROR([No POSIX shell interpreter found; maybe set ATF_SHELL?])
206*00b67f09SDavid van Moolenbroekfi
207*00b67f09SDavid van Moolenbroek
208*00b67f09SDavid van Moolenbroekdnl -----------------------------------------------------------------------
209*00b67f09SDavid van Moolenbroekdnl Check for required tools.
210*00b67f09SDavid van Moolenbroekdnl -----------------------------------------------------------------------
211*00b67f09SDavid van Moolenbroek
212*00b67f09SDavid van MoolenbroekAC_PATH_PROG([GDB], [gdb])
213*00b67f09SDavid van MoolenbroekAC_PATH_PROG([KYUA], [kyua])
214*00b67f09SDavid van MoolenbroekAM_CONDITIONAL([HAVE_KYUA], [test -n "${KYUA}"])
215*00b67f09SDavid van MoolenbroekAC_PATH_PROG([GIT], [git])
216*00b67f09SDavid van Moolenbroek
217*00b67f09SDavid van Moolenbroekdnl -----------------------------------------------------------------------
218*00b67f09SDavid van Moolenbroekdnl Finally, generate output.
219*00b67f09SDavid van Moolenbroekdnl -----------------------------------------------------------------------
220*00b67f09SDavid van Moolenbroek
221*00b67f09SDavid van MoolenbroekAC_OUTPUT([Makefile atf-c/defs.h])
222*00b67f09SDavid van Moolenbroek
223*00b67f09SDavid van Moolenbroekif test ${enable_tools} = yes; then
224*00b67f09SDavid van Moolenbroek    AC_MSG_WARN([Building the deprecated ATF tools (atf-run and atf-report);])
225*00b67f09SDavid van Moolenbroek    AC_MSG_WARN([please migrate to Kyua as soon as feasible.])
226*00b67f09SDavid van Moolenbroekfi
227*00b67f09SDavid van Moolenbroek
228*00b67f09SDavid van Moolenbroekdnl vim: syntax=m4:expandtab:shiftwidth=4:softtabstop=4
229