3 # Copyright (C)1996-1997 Ian Jackson
5 # This is free software; you can redistribute it and/or modify it
6 # under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 2 of the License, or
8 # (at your option) any later version.
10 # This program is distributed in the hope that it will be useful, but
11 # WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 # General Public License for more details.
15 # You should have received a copy of the GNU General Public License
16 # along with userv; if not, write to the Free Software
17 # Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
20 AC_CONFIG_HEADER(config.h)
22 AC_PREFIX_DEFAULT(/usr/local)
30 [ --enable-debug build debugging version],
32 if test "x$enable_debug" = xyes; then
33 DEBUGDEFS="-DDEBUG -DVARDIR='\"$crdir/vd\"' -DSYSTEMCONFIGDIR='\"$crdir/slash-etc\"' -DSERVICEUSERDIR='\"$crdir/tilde\"'"
35 echo will build debugging version
36 elif test "x$enable_debug" != xno; then
37 AC_MSG_ERROR(--enable-debug does not allow any arguments except 'yes' and 'no')
45 AC_CACHE_CHECK(for EPROTO,userv_cv_hdr_eproto,
52 ],userv_cv_hdr_eproto=yes,userv_cv_hdr_eproto=no))
53 if test $userv_cv_hdr_eproto = yes
55 AC_DEFINE(HAVE_EPROTO)
59 if test "${GCC-no}" = yes; then
65 dnl DPKG_CACHED_TRY_COMPILE(<description>,<cachevar>,<include>,<program>,<ifyes>,<ifno>)
66 define(DPKG_CACHED_TRY_COMPILE,[
69 AC_TRY_COMPILE([$3],[$4],[$2=yes],[$2=no])
71 if test "x$$2" = xyes; then
80 DPKG_CACHED_TRY_COMPILE(your C compiler,dpkg_cv_c_works,
81 [#include <string.h>], [strcmp("a","b")],
84 AC_MSG_ERROR(C compiler is broken))
86 DPKG_CACHED_TRY_COMPILE(__attribute__((,,)),dpkg_cv_c_attribute_supported,,
87 [extern int testfunction(int x) __attribute__((,,))],
89 AC_DEFINE(HAVE_GNUC25_ATTRIB)
90 DPKG_CACHED_TRY_COMPILE(__attribute__((noreturn)),dpkg_cv_c_attribute_noreturn,,
91 [extern int testfunction(int x) __attribute__((noreturn))],
93 AC_DEFINE(HAVE_GNUC25_NORETURN),
95 DPKG_CACHED_TRY_COMPILE(__attribute__((unused)),dpkg_cv_c_attribute_unused,,
96 [extern int testfunction(int x) __attribute__((unused))],
98 AC_DEFINE(HAVE_GNUC25_UNUSED),
100 DPKG_CACHED_TRY_COMPILE(__attribute__((format...)),dpkg_cv_attribute_format,,
101 [extern int testfunction(char *y, ...) __attribute__((format(printf,1,2)))],
103 AC_DEFINE(HAVE_GNUC25_PRINTFFORMAT),
110 dnl DPKG_C_GCC_TRY_WARNS(<warnings>,<cachevar>)
111 define(DPKG_C_GCC_TRY_WARNS,[
112 AC_MSG_CHECKING([GCC warning flag(s) $1])
113 if test "${GCC-no}" = yes
116 oldcflags="${CFLAGS-}"
117 CFLAGS="${CFLAGS-} ${CWARNS} $1 -Werror"
122 strcmp("a","b"); fprintf(stdout,"test ok\n");
123 ], [$2=yes], [$2=no])
124 CFLAGS="${oldcflags}"])
125 if test "x$$2" = xyes; then
126 CWARNS="${CWARNS} $1"
133 AC_MSG_RESULT(no, not using GCC)
137 DPKG_C_GCC_TRY_WARNS(-Wall -Wno-implicit, dpkg_cv_c_gcc_warn_all)
138 DPKG_C_GCC_TRY_WARNS(-Wwrite-strings, dpkg_cv_c_gcc_warn_writestrings)
139 DPKG_C_GCC_TRY_WARNS(-Wpointer-arith, dpkg_cv_c_gcc_warn_pointerarith)
140 DPKG_C_GCC_TRY_WARNS(-Wimplicit -Wnested-externs, dpkg_cv_c_gcc_warn_implicit)
142 if test "${GCC-no}" = yes; then
143 CWARNS="${CWARNS} -Wmissing-prototypes -Wstrict-prototypes -Werror"
145 [CFLAGS="`echo $CFLAGS $CWARNS | sed -e 's/-O[0-9]*/$(OPTIMISE)/'`"]
148 VERSION="`sed -n '/^userv (.*)/!d; s/^userv (//; s/).*//; p; q' Changelog`"
149 echo will build version $VERSION