|
Packit |
0b5880 |
# -*- Autoconf -*-
|
|
Packit |
0b5880 |
# Process this file with autoconf to produce a configure script.
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
# Prelude.
|
|
Packit |
0b5880 |
AC_PREREQ([2.59])
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
AC_INIT([Check], [0.12.0], [check-devel at lists dot sourceforge dot net])
|
|
Packit |
0b5880 |
CHECK_MAJOR_VERSION=0
|
|
Packit |
0b5880 |
CHECK_MINOR_VERSION=12
|
|
Packit |
0b5880 |
CHECK_MICRO_VERSION=0
|
|
Packit |
0b5880 |
CHECK_VERSION=$CHECK_MAJOR_VERSION.$CHECK_MINOR_VERSION.$CHECK_MICRO_VERSION
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
# unique source file --- primitive safety check
|
|
Packit |
0b5880 |
AC_CONFIG_SRCDIR([src/check.c])
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
# place where extra autoconf macros are kept
|
|
Packit |
0b5880 |
AC_CONFIG_MACRO_DIR([m4])
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
# place where portability library functions are kept
|
|
Packit |
0b5880 |
AC_CONFIG_LIBOBJ_DIR([lib])
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
# really severe build strictness
|
|
Packit |
0b5880 |
AM_INIT_AUTOMAKE([-Wall gnits 1.11.2])
|
|
Packit |
0b5880 |
# Change to using into-in-builddir in the future:
|
|
Packit |
0b5880 |
#AM_INIT_AUTOMAKE([info-in-builddir -Wall -Werror gnits 1.14])
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
# define things like _GNU_SOURCE appropriately
|
|
Packit |
0b5880 |
# From patch 2803433, request system extensions to generate 64-bit safe code
|
|
Packit |
0b5880 |
AC_USE_SYSTEM_EXTENSIONS
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
AC_SUBST(CHECK_MAJOR_VERSION)
|
|
Packit |
0b5880 |
AC_SUBST(CHECK_MINOR_VERSION)
|
|
Packit |
0b5880 |
AC_SUBST(CHECK_MICRO_VERSION)
|
|
Packit |
0b5880 |
AC_SUBST(CHECK_VERSION)
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
# Configure options.
|
|
Packit |
0b5880 |
# allow `./configure --enable-silent-rules' and `make V=0'
|
|
Packit |
0b5880 |
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([no])])
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
AC_ARG_ENABLE(gcov,
|
|
Packit |
0b5880 |
AC_HELP_STRING([--enable-gcov],
|
|
Packit |
0b5880 |
[turn on test coverage @<:@default=no@:>@]),
|
|
Packit |
0b5880 |
[case "${enableval}" in
|
|
Packit |
0b5880 |
yes) enable_gcov=true ;;
|
|
Packit |
0b5880 |
no) enable_gcov=false ;;
|
|
Packit |
0b5880 |
*) AC_MSG_ERROR(bad value ${enableval} for --enable-gcov) ;;
|
|
Packit |
0b5880 |
esac], [enable_gcov=false ])
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
if test x$enable_gcov = xtrue ; then
|
|
Packit |
0b5880 |
if test x"$GCC" != xyes; then
|
|
Packit |
0b5880 |
AC_MSG_ERROR([gcov only works if gcc is used])
|
|
Packit |
0b5880 |
fi
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
GCOV_CFLAGS="-fprofile-arcs -ftest-coverage"
|
|
Packit |
0b5880 |
AC_SUBST(GCOV_CFLAGS)
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
dnl libtool 1.5.22 and lower strip -fprofile-arcs from the flags
|
|
Packit |
0b5880 |
dnl passed to the linker, which is a bug; -fprofile-arcs implicitly
|
|
Packit |
0b5880 |
dnl links in -lgcov, so we do it explicitly here for the same effect
|
|
Packit |
0b5880 |
GCOV_LIBS=-lgcov
|
|
Packit |
0b5880 |
AC_SUBST(GCOV_LIBS)
|
|
Packit |
0b5880 |
fi
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
AM_CONDITIONAL(ENABLE_GCOV, test x"$enable_gcov" = "xtrue")
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
AC_ARG_ENABLE(timeout-tests,
|
|
Packit |
0b5880 |
AC_HELP_STRING([--enable-timeout-tests],
|
|
Packit |
0b5880 |
[turn on timeout tests @<:@default=yes@:>@]),
|
|
Packit |
0b5880 |
[case "${enableval}" in
|
|
Packit |
0b5880 |
yes) enable_timeout_tests=true ;;
|
|
Packit |
0b5880 |
no) enable_timeout_tests=false ;;
|
|
Packit |
0b5880 |
*) AC_MSG_ERROR(bad value ${enableval} for --enable-timeout-tests) ;;
|
|
Packit |
0b5880 |
esac], [enable_timeout_tests=true ])
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
AM_CONDITIONAL(NO_TIMEOUT_TESTS, test x"$enable_timeout_tests" = "xfalse")
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
AC_ARG_ENABLE(subunit,
|
|
Packit |
0b5880 |
AC_HELP_STRING([--enable-subunit],
|
|
Packit |
0b5880 |
[enable support for the subunit test protocol @<:@default=autodetect@:>@]),
|
|
Packit |
0b5880 |
[case "${enableval}" in
|
|
Packit |
0b5880 |
yes)
|
|
Packit |
0b5880 |
enable_subunit=true
|
|
Packit |
0b5880 |
echo "Enabled subunit support"
|
|
Packit |
0b5880 |
;;
|
|
Packit |
0b5880 |
no)
|
|
Packit |
0b5880 |
enable_subunit=false
|
|
Packit |
0b5880 |
echo "Disabled subunit support"
|
|
Packit |
0b5880 |
;;
|
|
Packit |
0b5880 |
autodetect)
|
|
Packit |
0b5880 |
echo "Subunit support will enable automatically."
|
|
Packit |
0b5880 |
;;
|
|
Packit |
0b5880 |
*) AC_MSG_ERROR(bad value ${enableval} for --enable-subunit) ;;
|
|
Packit |
0b5880 |
esac],
|
|
Packit |
0b5880 |
[echo "Subunit support will enable automatically."
|
|
Packit |
0b5880 |
enable_subunit=autodetect])
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
AC_ARG_ENABLE(fork,
|
|
Packit |
0b5880 |
AC_HELP_STRING([--enable-fork],
|
|
Packit |
0b5880 |
[enable support for fork @<:@default=autodetect@:>@]),
|
|
Packit |
0b5880 |
[case "${enableval}" in
|
|
Packit |
0b5880 |
yes) enable_fork=true ;;
|
|
Packit |
0b5880 |
no) enable_fork=false ;;
|
|
Packit |
0b5880 |
*) AC_MSG_ERROR(bad value ${enableval} for --enable-fork) ;;
|
|
Packit |
0b5880 |
esac], [enable_fork=true ])
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
AC_ARG_ENABLE(snprintf-replacement,
|
|
Packit |
0b5880 |
AC_HELP_STRING([--enable-snprintf-replacement],
|
|
Packit |
0b5880 |
[enable check snprintf replacement, (even if the system provides a C99 compliant version) @<:@default=autodetect@:>@]),
|
|
Packit |
0b5880 |
[case "${enableval}" in
|
|
Packit |
0b5880 |
yes) enable_snprintf_replacement=true ;;
|
|
Packit |
0b5880 |
*) AC_MSG_ERROR(bad value ${enableval} for --enable-snprintf-replacement) ;;
|
|
Packit |
0b5880 |
esac], [enable_snprintf_replacement=autodetect ])
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
AC_ARG_ENABLE(timer-replacement,
|
|
Packit |
0b5880 |
AC_HELP_STRING([--enable-timer-replacement],
|
|
Packit |
0b5880 |
[enable check timer replacement, (even if the system provides timer_create, timer_settime, and timer_delete) @<:@default=autodetect@:>@]),
|
|
Packit |
0b5880 |
[case "${enableval}" in
|
|
Packit |
0b5880 |
yes) enable_timer_replacement=true ;;
|
|
Packit |
0b5880 |
*) AC_MSG_ERROR(bad value ${enableval} for --enable-timer-replacement) ;;
|
|
Packit |
0b5880 |
esac], [enable_timer_replacement=autodetect ])
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
# Checks for programs.
|
|
Packit |
0b5880 |
AC_PROG_SED
|
|
Packit |
0b5880 |
AC_PROG_AWK
|
|
Packit |
0b5880 |
AC_PROG_CC
|
|
Packit |
0b5880 |
# Automake wants this for per-target CFLAGS
|
|
Packit |
0b5880 |
AM_PROG_CC_C_O
|
|
Packit |
0b5880 |
AC_PROG_INSTALL
|
|
Packit |
0b5880 |
AC_PROG_LN_S
|
|
Packit |
0b5880 |
# for non-POSIX archivers like the one on OS X
|
|
Packit |
0b5880 |
# use m4_ifdef to work on older automake (1.11)
|
|
Packit |
0b5880 |
m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
|
|
Packit |
0b5880 |
AC_PROG_LIBTOOL
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
# initialize libtool to build .la files
|
|
Packit |
0b5880 |
LT_INIT
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
# add these options to CFLAGS if the compiler supports them
|
|
Packit |
0b5880 |
AC_DEFUN([AX_CFLAGS_ADD],[AX_C_CHECK_FLAG($1, , , CFLAGS="$CFLAGS $1")])
|
|
Packit |
0b5880 |
# Do not use the -ansi flag, currently there is a bug in MinGW/MinGW-w64
|
|
Packit |
0b5880 |
# which prevents Check from compiling. Add after this is resolved:
|
|
Packit |
0b5880 |
# sourceforge.net/p/mingw/bugs/2024
|
|
Packit |
0b5880 |
#AX_CFLAGS_WARN_ALL_ANSI
|
|
Packit |
0b5880 |
# Do not use the -pedantic flag, as on solaris it has a different
|
|
Packit |
0b5880 |
# meaning than on gcc. Using the flag causes the build to fail.
|
|
Packit |
0b5880 |
AX_CFLAGS_ADD([-Wextra])
|
|
Packit |
0b5880 |
AX_CFLAGS_ADD([-Wstrict-prototypes])
|
|
Packit |
0b5880 |
AX_CFLAGS_ADD([-Wmissing-prototypes])
|
|
Packit |
0b5880 |
AX_CFLAGS_ADD([-Wwrite-strings])
|
|
Packit |
0b5880 |
AX_CFLAGS_ADD([-Wno-variadic-macros])
|
|
Packit |
0b5880 |
AX_CFLAGS_ADD([-Wimport])
|
|
Packit |
0b5880 |
AX_CFLAGS_ADD([-Wfatal-errors])
|
|
Packit |
0b5880 |
AX_CFLAGS_ADD([-Wformat=2])
|
|
Packit |
0b5880 |
AX_CFLAGS_ADD([-Winit-self])
|
|
Packit |
0b5880 |
AX_CFLAGS_ADD([-Wmissing-include-dirs])
|
|
Packit |
0b5880 |
AX_CFLAGS_ADD([-Wswitch-default])
|
|
Packit |
0b5880 |
AX_CFLAGS_ADD([-Wunknown-pragmas])
|
|
Packit |
0b5880 |
# The following flag is to enable C99 support on AIX, which is
|
|
Packit |
0b5880 |
# necessary for variable macros in check.h
|
|
Packit |
0b5880 |
case "${host_os}" in
|
|
Packit |
0b5880 |
*aix*)
|
|
Packit |
0b5880 |
if ! test "$GCC" = "yes"; then
|
|
Packit |
0b5880 |
AX_CFLAGS_ADD([-qlanglvl=stdc99])
|
|
Packit |
0b5880 |
fi
|
|
Packit |
0b5880 |
;;
|
|
Packit |
0b5880 |
*)
|
|
Packit |
0b5880 |
;;
|
|
Packit |
0b5880 |
esac
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
AC_CHECK_PROGS(GCOV, gcov, false)
|
|
Packit |
0b5880 |
AC_CHECK_PROGS(LCOV, lcov, false)
|
|
Packit |
0b5880 |
AC_CHECK_PROGS(GENHTML, genhtml, false)
|
|
Packit |
0b5880 |
AC_CHECK_PROGS(TEX, tex, false)
|
|
Packit |
0b5880 |
if test "$TEX" = "false"; then
|
|
Packit |
0b5880 |
# Make it [somewhat] clear to maintainers that tex is missing. Not an error
|
|
Packit |
0b5880 |
# though because 'make install' (which users need) does not build the docs
|
|
Packit |
0b5880 |
# anyway.
|
|
Packit |
0b5880 |
AC_MSG_WARN(tex not installed: cannot rebuild HTML documentation.)
|
|
Packit |
0b5880 |
fi
|
|
Packit |
0b5880 |
AC_CHECK_PROGS(FILTERDIFF, filterdiff, false)
|
|
Packit |
0b5880 |
if test "$FILTERDIFF" = "false"; then
|
|
Packit |
0b5880 |
# Make it [somewhat] clear to maintainers that filterdiff is missing.
|
|
Packit |
0b5880 |
# This is not an error, but will prevent builds from being
|
|
Packit |
0b5880 |
# reproducible.
|
|
Packit |
0b5880 |
AC_MSG_WARN(filterdiff not installed; build will not be reproducible.)
|
|
Packit |
0b5880 |
fi
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
AM_CONDITIONAL(USE_FILTERDIFF, [test x"$FILTERDIFF" = x"filterdiff"])
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
# Checks for pthread implementation.
|
|
Packit |
0b5880 |
ACX_PTHREAD
|
|
Packit |
0b5880 |
CC="$PTHREAD_CC"
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
# Check if floor is in the math library, and if so add -lm to LIBS
|
|
Packit |
0b5880 |
AC_CHECK_LIB([m], [floor])
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
# Check if clock_gettime, timer_create, timer_settime, and timer_delete are available in lib rt, and if so,
|
|
Packit |
0b5880 |
# add -lrt to LIBS
|
|
Packit |
0b5880 |
AC_CHECK_LIB([rt], [clock_gettime, timer_create, timer_settime, timer_delete])
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
# check that struct timespec is defined in time.h. If not, we need to
|
|
Packit |
0b5880 |
# define it in libcompat.h. Note the optional inclusion of pthread.h.
|
|
Packit |
0b5880 |
# On MinGW and MinGW-w64, the pthread.h file contains the timespec
|
|
Packit |
0b5880 |
# definition.
|
|
Packit |
0b5880 |
AC_CHECK_MEMBERS([struct timespec.tv_sec, struct timespec.tv_nsec], [], [AC_DEFINE_UNQUOTED(STRUCT_TIMESPEC_DEFINITION_MISSING, 1, "Need to define the timespec structure")], [
|
|
Packit |
0b5880 |
#include <time.h>
|
|
Packit |
0b5880 |
#if defined(HAVE_PTHREAD)
|
|
Packit |
0b5880 |
#include <pthread.h>
|
|
Packit |
0b5880 |
#endif /* HAVE_PTHREAD */
|
|
Packit |
0b5880 |
])
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
# check that struct itimerspec is defined in time.h. If not, we need to
|
|
Packit |
0b5880 |
# define it in libcompat.h. Note the optional inclusion of pthread.h.
|
|
Packit |
0b5880 |
# On MinGW and MinGW-w64, the pthread.h file contains the itimerspec
|
|
Packit |
0b5880 |
# definition.
|
|
Packit |
0b5880 |
AC_CHECK_MEMBERS([struct itimerspec.it_interval, struct itimerspec.it_value], [], [AC_DEFINE_UNQUOTED(STRUCT_ITIMERSPEC_DEFINITION_MISSING, 1, "Need to define the itimerspec structure")], [
|
|
Packit |
0b5880 |
#include <time.h>
|
|
Packit |
0b5880 |
#if defined(HAVE_PTHREAD)
|
|
Packit |
0b5880 |
#include <pthread.h>
|
|
Packit |
0b5880 |
#endif /* HAVE_PTHREAD */
|
|
Packit |
0b5880 |
])
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
# Checks for header files.
|
|
Packit |
0b5880 |
AC_HEADER_STDC
|
|
Packit |
0b5880 |
AC_HEADER_SYS_WAIT
|
|
Packit |
0b5880 |
AC_CHECK_HEADERS([fcntl.h stddef.h stdlib.h string.h sys/time.h unistd.h])
|
|
Packit |
0b5880 |
AX_CREATE_STDINT_H(check_stdint.h)
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
AS_IF([test x"$enable_subunit" != "xfalse" && test x"$enable_subunit" != "xtrue"], [
|
|
Packit |
0b5880 |
PKG_CHECK_EXISTS([libsubunit], [:], [enable_subunit=false])
|
|
Packit |
0b5880 |
])
|
|
Packit |
0b5880 |
AS_IF([test x"$enable_subunit" != "xfalse"], [
|
|
Packit |
0b5880 |
PKG_CHECK_MODULES([LIBSUBUNIT], [libsubunit])
|
|
Packit |
0b5880 |
])
|
|
Packit |
0b5880 |
if test "xfalse" = x"$enable_subunit"; then
|
|
Packit |
0b5880 |
ENABLE_SUBUNIT="0"
|
|
Packit |
0b5880 |
LIBSUBUNIT_PC=""
|
|
Packit |
0b5880 |
else
|
|
Packit |
0b5880 |
ENABLE_SUBUNIT="1"
|
|
Packit |
0b5880 |
LIBSUBUNIT_PC="libsubunit"
|
|
Packit |
0b5880 |
fi
|
|
Packit |
0b5880 |
AC_SUBST(ENABLE_SUBUNIT)
|
|
Packit |
0b5880 |
AC_SUBST([LIBSUBUNIT_PC])
|
|
Packit |
0b5880 |
AC_DEFINE_UNQUOTED(ENABLE_SUBUNIT, $ENABLE_SUBUNIT, [Subunit protocol result output])
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
AM_CONDITIONAL(SUBUNIT, test x"$enable_subunit" != "xfalse")
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
# Check for POSIX regular expressions support.
|
|
Packit |
0b5880 |
AC_CHECK_HEADERS([regex.h], HAVE_REGEX_H=1, HAVE_REGEX_H=0)
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
if test "x$HAVE_REGEX_H" = "x1"; then
|
|
Packit |
0b5880 |
AC_CHECK_FUNCS([regcomp regexec], HAVE_REGEX=1, HAVE_REGEX=0)
|
|
Packit |
0b5880 |
else
|
|
Packit |
0b5880 |
HAVE_REGEX=0
|
|
Packit |
0b5880 |
fi
|
|
Packit |
0b5880 |
AC_SUBST(HAVE_REGEX)
|
|
Packit |
0b5880 |
AC_DEFINE_UNQUOTED(HAVE_REGEX, $HAVE_REGEX, "Regular expressions are supported")
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
if test "x$HAVE_REGEX" = "x1"; then
|
|
Packit |
0b5880 |
ENABLE_REGEX="1"
|
|
Packit |
0b5880 |
else
|
|
Packit |
0b5880 |
ENABLE_REGEX="0"
|
|
Packit |
0b5880 |
fi
|
|
Packit |
0b5880 |
AC_SUBST(ENABLE_REGEX)
|
|
Packit |
0b5880 |
AC_DEFINE_UNQUOTED(ENABLE_REGEX, $ENABLE_REGEX, "Regular expressions are supported and enabled")
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
# Checks for typedefs, structures, and compiler characteristics.
|
|
Packit |
0b5880 |
AC_C_CONST
|
|
Packit |
0b5880 |
AC_TYPE_PID_T
|
|
Packit |
0b5880 |
AC_TYPE_SIZE_T
|
|
Packit |
0b5880 |
AC_TYPE_INTMAX_T
|
|
Packit |
0b5880 |
AC_TYPE_UINTMAX_T
|
|
Packit |
0b5880 |
AC_TYPE_UINT32_T
|
|
Packit |
0b5880 |
AC_HEADER_TIME
|
|
Packit |
0b5880 |
AC_STRUCT_TM
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
AC_CHECK_SIZEOF(int, 4)
|
|
Packit |
0b5880 |
AC_CHECK_SIZEOF(short, 2)
|
|
Packit |
0b5880 |
AC_CHECK_SIZEOF(long, 4)
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
# The following two checks will attempt to include pthread.h. The
|
|
Packit |
0b5880 |
# reason is MinGW and MinGW-w64 have been known to put the time
|
|
Packit |
0b5880 |
# related definitions in the pthread headers. Without include
|
|
Packit |
0b5880 |
# pthread.h, these checks may mistakenly fail to find the
|
|
Packit |
0b5880 |
# definitions.
|
|
Packit |
0b5880 |
AC_CHECK_TYPE(clockid_t, [], [AC_DEFINE([clockid_t], [int], [clockid_t])], [
|
|
Packit |
0b5880 |
AC_INCLUDES_DEFAULT
|
|
Packit |
0b5880 |
#if defined(HAVE_PTHREAD)
|
|
Packit |
0b5880 |
#include <pthread.h>
|
|
Packit |
0b5880 |
#endif /* HAVE_PTHREAD */
|
|
Packit |
0b5880 |
])
|
|
Packit |
0b5880 |
AC_CHECK_TYPE(timer_t, [], [AC_DEFINE([timer_t], [int], [timer_t])], [
|
|
Packit |
0b5880 |
AC_INCLUDES_DEFAULT
|
|
Packit |
0b5880 |
#if defined(HAVE_PTHREAD)
|
|
Packit |
0b5880 |
#include <pthread.h>
|
|
Packit |
0b5880 |
#endif /* HAVE_PTHREAD */
|
|
Packit |
0b5880 |
])
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
# Checks for library functions.
|
|
Packit |
0b5880 |
AC_FUNC_MALLOC
|
|
Packit |
0b5880 |
AC_FUNC_REALLOC
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
# Check if the timer_create(), timer_settime(), and timer_delete()
|
|
Packit |
0b5880 |
# functions on the system are available and suitable, or need to be
|
|
Packit |
0b5880 |
# replaced with Check's replacement of these functions.
|
|
Packit |
0b5880 |
HW_LIBRT_TIMERS
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
# The following checks will replace missing functions from libcompat
|
|
Packit |
0b5880 |
AC_REPLACE_FUNCS([alarm clock_gettime getline gettimeofday localtime_r strdup strsignal])
|
|
Packit |
0b5880 |
AC_CHECK_DECLS([alarm, clock_gettime, getline, gettimeofday, localtime_r, strdup, strsignal])
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
# The following checks are to only detect if the functions exist, but
|
|
Packit |
0b5880 |
# not replace them
|
|
Packit |
0b5880 |
AC_CHECK_DECLS([setenv])
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
AC_CHECK_FUNCS([setitimer])
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
# Checks for functions not available in Windows
|
|
Packit |
0b5880 |
if test "xtrue" = x"$enable_fork"; then
|
|
Packit |
0b5880 |
AC_CHECK_FUNCS([fork], HAVE_FORK=1, HAVE_FORK=0)
|
|
Packit |
0b5880 |
else
|
|
Packit |
0b5880 |
HAVE_FORK=0
|
|
Packit |
0b5880 |
fi
|
|
Packit |
0b5880 |
AC_SUBST(HAVE_FORK)
|
|
Packit |
0b5880 |
AC_CHECK_FUNCS([sigaction])
|
|
Packit |
0b5880 |
AC_CHECK_FUNCS([mkstemp])
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
# Check if the system's snprintf (and its variations) are C99 compliant.
|
|
Packit |
0b5880 |
# If they are not, use the version in libcompat.
|
|
Packit |
0b5880 |
HW_FUNC_VSNPRINTF
|
|
Packit |
0b5880 |
HW_FUNC_SNPRINTF
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
# Check for whether we can install checkmk (we have a usable awk)
|
|
Packit |
0b5880 |
AC_ARG_VAR([AWK_PATH],[Awk interpreter command])
|
|
Packit |
0b5880 |
AC_PATH_PROG(AWK_PATH, $AWK, [*NO AWK*])
|
|
Packit |
0b5880 |
AM_CONDITIONAL([INSTALL_CHECKMK], [test "x$AWK_PATH" != 'x*NO AWK*'])
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
# Certain awk implementations disagree with each other on how to
|
|
Packit |
0b5880 |
# substitute doubled backslashes in gsub()
|
|
Packit |
0b5880 |
AC_SUBST(AWK_GSUB_DBL_BSLASH, '\\\\')
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
AS_IF([test "x$AWK_PATH" = 'x*NO AWK*'],
|
|
Packit |
0b5880 |
[AC_MSG_WARN([Couldn't find a usable awk; won't install checkmk.])],
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
# Determine correct number of backslashes for gsub's replacement
|
|
Packit |
0b5880 |
# value.
|
|
Packit |
0b5880 |
[AS_IF([echo '\' |
|
|
Packit |
0b5880 |
"$AWK_PATH" '{ gsub("\\\\", "\\\\", $0); print }' |
|
|
Packit |
0b5880 |
grep '^\\$' >/dev/null 2>&1], AWK_GSUB_DBL_BSLASH='\\\\\\\\')
|
|
Packit |
0b5880 |
AC_CONFIG_FILES(checkmk/checkmk)
|
|
Packit |
0b5880 |
AC_CONFIG_COMMANDS([checkmk-x], [chmod +x checkmk/checkmk])])
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
# Output files
|
|
Packit |
0b5880 |
AC_CONFIG_HEADERS([config.h])
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
AC_CONFIG_FILES([check.pc
|
|
Packit |
0b5880 |
Makefile
|
|
Packit |
0b5880 |
checkmk/Makefile
|
|
Packit |
0b5880 |
doc/Makefile
|
|
Packit |
0b5880 |
lib/Makefile
|
|
Packit |
0b5880 |
src/check.h
|
|
Packit |
0b5880 |
src/Makefile
|
|
Packit |
0b5880 |
tests/Makefile
|
|
Packit |
0b5880 |
tests/test_vars])
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
AC_OUTPUT
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
# Finally, print a summary of the Check's compile options
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
echo
|
|
Packit |
0b5880 |
echo "=========================================="
|
|
Packit |
0b5880 |
echo "Summary of Check $CHECK_MAJOR_VERSION.$CHECK_MINOR_VERSION.$CHECK_MICRO_VERSION options:"
|
|
Packit |
0b5880 |
echo
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
if test "x0" = x"$HAVE_FORK"; then
|
|
Packit |
0b5880 |
result="no"
|
|
Packit |
0b5880 |
else
|
|
Packit |
0b5880 |
result="yes"
|
|
Packit |
0b5880 |
fi
|
|
Packit |
0b5880 |
echo "fork mode ............................ $result"
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
case "$hw_cv_librt_timers_posix" in
|
|
Packit |
0b5880 |
"yes")
|
|
Packit |
0b5880 |
result="no"
|
|
Packit |
0b5880 |
;;
|
|
Packit |
0b5880 |
"no")
|
|
Packit |
0b5880 |
result="yes"
|
|
Packit |
0b5880 |
;;
|
|
Packit |
0b5880 |
*)
|
|
Packit |
0b5880 |
# The AC_REPLACE_FUNCS macro was invoked,
|
|
Packit |
0b5880 |
# meaning we are cross compiling.
|
|
Packit |
0b5880 |
if test "xno" = x"$ac_cv_func_timer_create"; then
|
|
Packit |
0b5880 |
result="yes"
|
|
Packit |
0b5880 |
else
|
|
Packit |
0b5880 |
result="no"
|
|
Packit |
0b5880 |
fi
|
|
Packit |
0b5880 |
;;
|
|
Packit |
0b5880 |
esac
|
|
Packit |
0b5880 |
echo "high resolution timer replacement .... $result"
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
if test "xno" = x"$hw_cv_func_snprintf_c99"; then
|
|
Packit |
0b5880 |
result="yes"
|
|
Packit |
0b5880 |
else
|
|
Packit |
0b5880 |
result="no"
|
|
Packit |
0b5880 |
fi
|
|
Packit |
0b5880 |
echo "snprintf replacement ................. $result"
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
if test "xfalse" = x"$enable_subunit"; then
|
|
Packit |
0b5880 |
result="no"
|
|
Packit |
0b5880 |
else
|
|
Packit |
0b5880 |
result="yes"
|
|
Packit |
0b5880 |
fi
|
|
Packit |
0b5880 |
echo "subunit support....................... $result"
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
if test "xtrue" = x"$enable_timeout_tests"; then
|
|
Packit |
0b5880 |
result="yes"
|
|
Packit |
0b5880 |
else
|
|
Packit |
0b5880 |
result="no"
|
|
Packit |
0b5880 |
fi
|
|
Packit |
0b5880 |
echo "timeout unit tests ................... $result"
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
if test "x0" = x"$ENABLE_REGEX"; then
|
|
Packit |
0b5880 |
result="no"
|
|
Packit |
0b5880 |
else
|
|
Packit |
0b5880 |
result="yes"
|
|
Packit |
0b5880 |
fi
|
|
Packit |
0b5880 |
echo "POSIX regular expressions ............ $result"
|
|
Packit |
0b5880 |
|
|
Packit |
0b5880 |
echo "=========================================="
|