dnl $Id$ dnl Process this file with autoconf to produce a configure script. AC_INIT(echoping.h) dnl AC_CANONICAL_HOST AM_INIT_AUTOMAKE(echoping, 5.0.0-BETA) AM_CONFIG_HEADER(config.h) dnl User options AC_ARG_ENABLE(http, [--enable-http HTTP (Web's main protocol) support],dnl [if test "$enableval" = "yes"; then AC_DEFINE(HTTP) HTTP=1 fi], dnl Default: enable it [AC_DEFINE(HTTP) HTTP=1]) AC_ARG_ENABLE(icp, [--enable-icp ICP (for testing Web proxies/caches) support],dnl [if test "$enableval" = "yes"; then AC_DEFINE(ICP) ICP=1 fi]) AC_ARG_ENABLE(smtp, [--enable-smtp SMTP (Mail's main protocol) support],dnl [if test "$enableval" = "yes"; then AC_DEFINE(SMTP) SMTP=1 fi], dnl Default: enable it [AC_DEFINE(SMTP) SMTP=1]) AC_ARG_WITH(ssl, [--with-ssl[=DIR] SSL crypt support (needs OpenSSL)],dnl [if test "$withval" != "no"; then AC_DEFINE(OPENSSL) OPENSSL=1 if test "$withval" != "yes"; then SSLROOT=$withval LDFLAGS="${LDFLAGS} -L$SSLROOT/lib" CPPFLAGS="${CPPFLAGS} -I$SSLROOT/include" fi fi], dnl Default: disable it ) dnl See T/TCP later dnl Checks for programs. AC_PROG_CC AC_PROG_INSTALL dnl Checks for libraries. dnl Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS(sys/time.h unistd.h) CF_SYS_ERRLIST dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_HEADER_TIME dnl Checks for library functions. CF_LIB_SOCKET CF_LIB_NSL AC_TYPE_SIGNAL AC_FUNC_VPRINTF AC_CHECK_FUNCS(gettimeofday socket sigaction, , AC_MSG_ERROR(Missing mandatory function)) AC_CHECK_FUNCS(usleep) AC_CHECK_FUNCS(getaddrinfo) if test "$OPENSSL" = "1"; then CF_LIB_OPENSSL fi dnl T/TCP AC_MSG_CHECKING([T/TCP]) AC_TRY_COMPILE( [#include #include ], [int foobar = MSG_EOF;], [AC_DEFINE(TTCP) ac_have_ttcp="yes"], ac_have_ttcp=no) AC_MSG_RESULT($ac_have_ttcp) AC_ARG_ENABLE(ttcp, [--enable-ttcp T/TCP (Transaction TCP) support], [if test "$enableval" = "yes"; then if test $ac_have_ttcp = "yes"; then AC_DEFINE(HAVE_TTCP) TTCP=1 else AC_MSG_WARN([No T/TCP support on this system, request ignored]) fi fi], dnl Default: enable it if supported if test $ac_have_ttcp = "yes"; then AC_DEFINE(HAVE_TTCP) TTCP=1 fi) dnl Type Of Service AC_MSG_CHECKING([Type Of Service]) AC_TRY_COMPILE( [#include #include ], [int foobar = IP_TOS;], [AC_DEFINE(HAVE_TOS) ac_have_tos="yes"], ac_have_tos="no") AC_MSG_RESULT($ac_have_tos) AC_ARG_ENABLE(tos, [--enable-tos TOS (Type Of Service) support], [if test "$enableval" = "yes"; then if test $ac_have_tos = "yes"; then AC_DEFINE(HAVE_TOS) TOS=1 else AC_MSG_WARN([No TOS support on this system, request ignored]) fi fi], dnl Default: enable it if supported if test $ac_have_tos = "yes"; then AC_DEFINE(HAVE_TOS) TOS=1 fi) dnl Socket priority dnl Linux only, it seems. Anyone knows a standard way to do so? AC_MSG_CHECKING([Socket priority]) AC_TRY_COMPILE( [#include #include ], [int foobar = SO_PRIORITY;], [AC_DEFINE(HAVE_SOCKET_PRIORITY) ac_have_priority="yes"], ac_have_priority="no") AC_MSG_RESULT($ac_have_priority) AC_ARG_ENABLE(priority, [--enable-priority PRIORITY (socket priority) support], [if test "$enableval" = "yes"; then if test $ac_have_priority = "yes"; then AC_DEFINE(HAVE_SOCKET_PRIORITY) PRIORITY=1 else AC_MSG_WARN([No socket priority support on this system, request ignored]) fi fi], dnl Default: enable it if supported if test $ac_have_priority = "yes"; then AC_DEFINE(HAVE_SOCKET_PRIORITY) PRIORITY=1 fi) if test "$GCC" = yes; then CFLAGS="$CFLAGS -Wall" fi AC_OUTPUT(Makefile) AC_DEFUN([DISPLAY_SETTING], [ AC_MSG_CHECKING($1) if [ eval 'test "$$1" = "1"' > /dev/null]; then AC_MSG_RESULT( enabled) else AC_MSG_RESULT( disabled) fi ])dnl echo "" echo "Configuration of echoping:" DISPLAY_SETTING(HTTP) DISPLAY_SETTING(ICP) DISPLAY_SETTING(OPENSSL) DISPLAY_SETTING(SMTP) DISPLAY_SETTING(TTCP) DISPLAY_SETTING(TOS) DISPLAY_SETTING(PRIORITY)