rsyslog/configure.ac
2007-07-18 10:36:36 +00:00

280 lines
8.0 KiB
Plaintext

# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.61)
AC_INIT(rsyslog, 1.17.1, rsyslog@lists.adiscon.com.)
AM_INIT_AUTOMAKE(rsyslog, 1.17.1)
AC_CONFIG_SRCDIR([syslogd.c])
AC_CONFIG_HEADER([config.h])
# Checks for programs.
AC_PROG_CC
AM_PROG_CC_C_O
if test "$GCC" = "yes"
then CFLAGS="$CFLAGS -W -Wall -Wshadow -Wcast-align -Wpointer-arith -Wmissing-format-attribute -g"
fi
AC_CANONICAL_HOST
case "${host}" in
*-*-linux*)
# This feature indicates if klogd functionality
# should be integrated. If it is switched off, klogd
# is still compiled, but it is an empty shell.
AC_DEFINE([FEATURE_KLOGD], [1], [Description])
;;
*-*-*darwin*|*-*-freebsd*|*-*-netbsd*|*-*-openbsd*)
AC_DEFINE([BSD], [1], [Description])
;;
esac
# Checks for libraries.
# Checks for header files.
AC_HEADER_RESOLV
AC_HEADER_STDC
AC_HEADER_SYS_WAIT
AC_CHECK_HEADERS([arpa/inet.h fcntl.h locale.h netdb.h netinet/in.h paths.h stdio_ext.h stdlib.h string.h sys/file.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h syslog.h unistd.h utmp.h])
# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_C_INLINE
AC_TYPE_OFF_T
AC_TYPE_PID_T
AC_TYPE_SIZE_T
AC_TYPE_SSIZE_T
AC_HEADER_TIME
AC_STRUCT_TM
AC_C_VOLATILE
sa_includes="\
$ac_includes_default
#if HAVE_SYS_SOCKET_H
# include <sys/socket.h>
#endif
"
AC_CHECK_MEMBERS([struct sockaddr.sa_len],,,[$sa_includes])
# Checks for library functions.
AC_FUNC_FORK
AC_PROG_GCC_TRADITIONAL
AC_FUNC_MALLOC
AC_FUNC_REALLOC
AC_FUNC_SELECT_ARGTYPES
AC_TYPE_SIGNAL
AC_FUNC_STAT
AC_FUNC_VPRINTF
AC_FUNC_WAIT3
AC_CHECK_FUNCS([setsid alarm gethostbyname gethostname gettimeofday memset regcomp select socket strcasecmp strchr strerror strndup strrchr strstr strtol strtoul uname])
# Large file support
AC_ARG_ENABLE(largefile,
[AC_HELP_STRING([--enable-largefile],[Enable large file support @<:@default=yes@:>@])],
[case "${enableval}" in
yes) enable_largefile="yes" ;;
no) enable_largefile="no" ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-largefile) ;;
esac],
[enable_largefile="yes"]
)
if test "$enable_largefile" = "no"; then
AC_DEFINE(NOLARGEFILE, 1, [Defined when large file support is disabled.])
fi
# SQL support
AC_ARG_ENABLE(mysql,
[AC_HELP_STRING([--enable-mysql],[Enable MySql database support @<:@default=no@:>@])],
[case "${enableval}" in
yes) enable_mysql="yes" ;;
no) enable_mysql="no" ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-mysql) ;;
esac],
[enable_mysql=no]
)
AS_IF([test "x$enable_mysql" != "xno"],
[AC_CHECK_HEADERS(
[mysql/mysql.h],
[
#TODO: re-enable
# AC_CHECK_LIB(
# [mysqlclient],
# [mysql_init],
# [
AC_DEFINE([WITH_DB], [1], [MySql database support enabled])
mysql_includes=`mysql_config --cflags`
mysql_libs=`mysql_config --libs`
# ],
# [AC_MSG_FAILURE([MySQL is missing])],
# [-lmysqlclient]
# )
],
[AC_MSG_FAILURE([MySQL is missing])]
)]
)
AM_CONDITIONAL(enable_mysql, test x$enable_mysql = xyes)
AC_SUBST(mysql_includes)
AC_SUBST(mysql_libs)
# Regular expressions
AC_ARG_ENABLE(regexp,
[AC_HELP_STRING([--enable-regexp],[Enable regular expressions support @<:@default=yes@:>@])],
[case "${enableval}" in
yes) enable_regexp="yes" ;;
no) enable_regexp="no" ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-regexp) ;;
esac],
[enable_regexp=yes]
)
if test "$enable_regexp" = "yes"; then
AC_DEFINE(FEATURE_REGEXP, 1, [Regular expressions support enabled.])
fi
# zlib compression
AC_ARG_ENABLE(zlib,
[AC_HELP_STRING([--enable-zlib],[Enable zlib compression support @<:@default=yes@:>@])],
[case "${enableval}" in
yes) enable_zlib="yes" ;;
no) enable_zlib="no" ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-zlib) ;;
esac],
[enable_zlib=yes]
)
if test "$enable_zlib" = "yes"; then
AC_CHECK_HEADER(zlib.h, [zlib_header="yes"], [zlib_header="no" enable_zlib="false"])
if test "$zlib_header" = "yes"; then
AC_CHECK_LIB(z, deflate,
[AC_DEFINE(USE_NETZIP, 1, [Define if you want to enable zlib support])
zlib_libs="-lz"
AC_SUBST(zlib_libs)], enable_zlib="false")
fi
fi
# multithreading via pthreads
AC_ARG_ENABLE(pthreads,
[AC_HELP_STRING([--enable-pthreads],[Enable multithreading via pthreads @<:@default=yes@:>@])],
[case "${enableval}" in
yes) enable_pthreads="yes" ;;
no) enable_pthreads="no" ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-pthreads) ;;
esac],
[enable_pthreads=yes]
)
AS_IF([test "x$enable_pthreads" != "xno"],
[AC_CHECK_HEADERS(
[pthread.h],
[
AC_CHECK_LIB(
[pthread],
[pthread_create],
[
AC_DEFINE([USE_PTHREADS], [1], [Multithreading support enabled.])
pthreads_libs="-lpthread"
AC_SUBST(pthreads_libs)
],
[AC_MSG_FAILURE([pthread is missing])],
[-lpthread]
)
],
[AC_MSG_FAILURE([pthread is missing])]
)]
)
# klogd
AC_ARG_ENABLE(klogd,
[AC_HELP_STRING([--enable-klogd],[Integrated klogd functionality @<:@default=yes@:>@])],
[case "${enableval}" in
yes) enable_klogd="yes" ;;
no) enable_klogd="no" ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-klogd) ;;
esac],
[enable_klogd="yes"]
)
if test "$enable_klogd" = "yes"; then
AC_DEFINE(FEATURE_KLOGD, 1, [klogd functionality is integrated.])
fi
#
# SYSLOG_UNIXAF
#
AC_MSG_CHECKING(for SYSLOG_UNIXAF support)
AC_ARG_ENABLE([unix],
[AS_HELP_STRING([--disable-unix], [disable support for unix])],
[
if test "x${enableval}" == "xyes"; then
AC_MSG_RESULT([yes])
AC_DEFINE([SYSLOG_UNIXAF], [1], [Description])
else
AC_MSG_RESULT([no])
fi
],
[
# enabled by default
AC_MSG_RESULT([yes])
AC_DEFINE([SYSLOG_UNIXAF], [1], [Description])
])
# inet
AC_ARG_ENABLE(inet,
[AC_HELP_STRING([--enable-inet],[Enable networking support @<:@default=yes@:>@])],
[case "${enableval}" in
yes) enable_inet="yes" ;;
no) enable_inet="no" ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-inet) ;;
esac],
[enable_inet="yes"]
)
if test "$enable_inet" = "yes"; then
AC_DEFINE(SYSLOG_INET, 1, [network support is integrated.])
fi
#
# The following define determines whether the package adheres to the
# file system standard.
#
AC_MSG_CHECKING(for FSSTND support)
AC_ARG_ENABLE([fsstnd],
[AS_HELP_STRING([--disable-fsstnd], [disable support for FSSTND])],
[
if test "x${enableval}" == "xyes"; then
AC_MSG_RESULT([yes])
AC_DEFINE([FSSTND], [1], [Description])
else
AC_MSG_RESULT([no])
fi
],
[
# enabled by default
AC_MSG_RESULT([yes])
AC_DEFINE([FSSTND], [1], [Description])
])
# debug
AC_ARG_ENABLE(debug,
[AC_HELP_STRING([--enable-debug],[Enable debug mode @<:@default=no@:>@])],
[case "${enableval}" in
yes) enable_debug="yes" ;;
no) enable_debug="no" ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
esac],
[enable_debug="no"]
)
if test "$enable_debug" = "no"; then
AC_DEFINE(NDEBUG, 1, [Defined if debug mode is disabled.])
fi
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
echo "****************************************************"
echo "rsyslog will be compiled with the followig settings:"
echo
echo "Multithreading support enabled: $enable_pthreads"
echo "Klogd functionality enabled: $enable_klogd"
echo "Regular expressions support enabled: $enable_regexp"
echo "Zlib compression support enabled: $enable_zlib"
echo "MySql support enabled: $enable_mysql"
echo "Large file support enabled: $enable_largefile"
echo "Networking support enabled: $enable_inet"
echo "Debug mode enabled: $enable_debug"