# userv - configure.in # # Copyright (C)1996-1997,1999-2000,2003 Ian Jackson # # 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 2 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 userv; if not, write to the Free Software # Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 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)