# userv - configure.in
#
# userv is copyright Ian Jackson and other contributors.
# See README for full authorship information.
#
# This is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
AC_INIT(language.i4)
AC_CONFIG_HEADER(config.h)
AC_PREFIX_DEFAULT(/usr/local)
crdir="`pwd`"
AC_SUBST(DEBUGDEFS)
AC_SUBST(DEBUGLIBS)
DEBUGDEFS=''
DEBUGLIBS=''
AC_ARG_ENABLE(debug,
[ --enable-debug build debugging version],
[
if test "x$enable_debug" = xyes; then
DEBUGDEFS="-DDEBUG -DVARDIR='\"$crdir/vd\"' -DSYSTEMCONFIGDIR='\"$crdir/slash-etc\"' -DSERVICEUSERDIR='\"$crdir/tilde\"'"
DEBUGLIBS=-lefence
echo will build debugging version
elif test "x$enable_debug" != xno; then
AC_MSG_ERROR(--enable-debug does not allow any arguments except 'yes' and 'no')
fi
])
AC_PROG_CC
AC_PROG_CPP
AC_PROG_INSTALL
AC_CHECK_PROGS(MD5SUM_SIMPLE, md5sum md5 gmd5sum)
CFLAGS="$CFLAGS -D_GNU_SOURCE"
AC_CHECK_LIB(socket,socket)
AC_CHECK_FUNCS(setenv strsignal vsnprintf)
AC_CACHE_CHECK([for EPROTO],userv_cv_hdr_eproto,[
AC_EGREP_CPP(yes,
[
#include
#ifdef EPROTO
yes
#endif
],userv_cv_hdr_eproto=yes,userv_cv_hdr_eproto=no)])
if test $userv_cv_hdr_eproto = yes
then
AC_DEFINE(HAVE_EPROTO)
fi
AC_CACHE_CHECK([for LOG_AUTHPRIV],userv_cv_hdr_logauthpriv,[
AC_EGREP_CPP(yes,
[
#include
#ifdef LOG_AUTHPRIV
yes
#endif
],userv_cv_hdr_logauthpriv=yes,userv_cv_hdr_logauthpriv=no)])
if test $userv_cv_hdr_logauthpriv = yes
then
AC_DEFINE(HAVE_LOG_AUTHPRIV)
fi
AC_CACHE_CHECK([for WCOREDUMP],userv_cv_hdr_wcoredump,[
AC_EGREP_CPP(yes,
[
#include
#include
#ifdef WCOREDUMP
yes
#endif
],userv_cv_hdr_wcoredump=yes,userv_cv_hdr_wcoredump=no)])
if test $userv_cv_hdr_wcoredump = yes
then
AC_DEFINE(HAVE_WCOREDUMP)
fi
AC_SUBST(OPTIMISE)
if test "${GCC-no}" = yes; then
OPTIMISE=-O2
else
OPTIMISE=-O
fi
dnl DPKG_CACHED_TRY_COMPILE(,,,,,)
define(DPKG_CACHED_TRY_COMPILE,[
AC_MSG_CHECKING($1)
AC_CACHE_VAL($2,[
AC_TRY_COMPILE([$3],[$4],[$2=yes],[$2=no])
])
if test "x$$2" = xyes; then
true
$5
else
true
$6
fi
])
DPKG_CACHED_TRY_COMPILE(your C compiler,dpkg_cv_c_works,
[#include ], [strcmp("a","b")],
AC_MSG_RESULT(works),
AC_MSG_RESULT(broken)
AC_MSG_ERROR(C compiler is broken))
DPKG_CACHED_TRY_COMPILE(__attribute__((,,)),dpkg_cv_c_attribute_supported,,
[extern int testfunction(int x) __attribute__((,,))],
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_GNUC25_ATTRIB)
DPKG_CACHED_TRY_COMPILE(__attribute__((noreturn)),dpkg_cv_c_attribute_noreturn,,
[extern int testfunction(int x) __attribute__((noreturn))],
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_GNUC25_NORETURN),
AC_MSG_RESULT(no))
DPKG_CACHED_TRY_COMPILE(__attribute__((unused)),dpkg_cv_c_attribute_unused,,
[extern int testfunction(int x) __attribute__((unused))],
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_GNUC25_UNUSED),
AC_MSG_RESULT(no))
DPKG_CACHED_TRY_COMPILE(__attribute__((format...)),dpkg_cv_attribute_format,,
[extern int testfunction(char *y, ...) __attribute__((format(printf,1,2)))],
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_GNUC25_PRINTFFORMAT),
AC_MSG_RESULT(no)),
AC_MSG_RESULT(no))
AC_SUBST(CWARNS)
CWARNS=""
dnl DPKG_C_GCC_TRY_WARNS(,)
define(DPKG_C_GCC_TRY_WARNS,[
AC_MSG_CHECKING([GCC warning flag(s) $1])
if test "${GCC-no}" = yes
then
AC_CACHE_VAL($2,[
oldcflags="${CFLAGS-}"
CFLAGS="${CFLAGS-} ${CWARNS} $1 -Werror"
AC_TRY_COMPILE([
#include
#include
],[
strcmp("a","b"); fprintf(stdout,"test ok\n");
], [$2=yes], [$2=no])
CFLAGS="${oldcflags}"])
if test "x$$2" = xyes; then
CWARNS="${CWARNS} $1"
AC_MSG_RESULT(ok)
else
$2=''
AC_MSG_RESULT(no)
fi
else
AC_MSG_RESULT(no, not using GCC)
fi
])
DPKG_C_GCC_TRY_WARNS(-Wall -Wno-implicit, dpkg_cv_c_gcc_warn_all)
DPKG_C_GCC_TRY_WARNS(-Wwrite-strings, dpkg_cv_c_gcc_warn_writestrings)
DPKG_C_GCC_TRY_WARNS(-Wpointer-arith, dpkg_cv_c_gcc_warn_pointerarith)
DPKG_C_GCC_TRY_WARNS(-Wimplicit -Wnested-externs, dpkg_cv_c_gcc_warn_implicit)
if test "${GCC-no}" = yes; then
CWARNS="${CWARNS} -Wmissing-prototypes -Wstrict-prototypes"
fi
[CFLAGS="`echo $CFLAGS $CWARNS | sed -e 's/-O[0-9]*/$(OPTIMISE)/'`"]
AC_SUBST(VERSION)
VERSION="`sed -n '/^userv (.*)/!d; s/^userv (//; s/).*//; p; q' debian/changelog`"
echo will build version $VERSION
AC_OUTPUT(Makefile)