dnl Copyright (C) 2013 Simon Ruderich
dnl
dnl This program is free software: you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
dnl the Free Software Foundation, either version 3 of the License, or
dnl (at your option) any later version.
dnl
dnl This program is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
dnl GNU General Public License for more details.
dnl
dnl You should have received a copy of the GNU General Public License
dnl along with this program. If not, see .
AC_PREREQ([2.69])
AC_INIT([coloredstderr],[0.1],[simon@ruderich.org])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_SRCDIR([src/coloredstderr.c])
AM_PROG_AR
AM_INIT_AUTOMAKE([foreign -Wall -Werror])
LT_PREREQ([2.4])
LT_INIT([disable-static])
AC_PROG_CC
dnl Used by test suite.
AC_PROG_SED
AC_PROG_EGREP
if test "x$GCC" = xyes; then
CFLAGS="-Wall -Wextra -Wconversion $CFLAGS"
fi
AC_CHECK_HEADERS([err.h error.h])
AC_CHECK_HEADERS([fcntl.h],
[],[AC_MSG_ERROR([header is required])])
AC_TYPE_PID_T
AC_TYPE_SIZE_T
AC_TYPE_SSIZE_T
AC_C_INLINE
AX_C___ATTRIBUTE__
AC_CHECK_MEMBER([struct _IO_FILE._fileno],
[AC_DEFINE([HAVE_STRUCT__IO_FILE__FILENO], 1,
[Define to 1 if `_fileno' is a member of `struct _IO_FILE'.])],
[],[[#include ]]) dnl ' fix for vim syntax coloring
AC_FUNC_FORK
AC_CHECK_FUNCS([memmove setenv],
[],[AC_MSG_ERROR([function is required])])
AC_CHECK_FUNCS([execvpe])
dnl These are not in POSIX.
AC_CHECK_FUNCS([fwrite_unlocked fputs_unlocked fputc_unlocked])
dnl Internal functions in libc implementations which must be hooked.
AC_CHECK_FUNCS([__overflow __swbuf])
dnl Thanks to gperftools' configure.ac (https://code.google.com/p/gperftools).
AC_MSG_CHECKING([for __builtin_expect])
AC_LINK_IFELSE([AC_LANG_PROGRAM([],[return __builtin_expect(main != 0, 1)])],
[AC_DEFINE([HAVE___BUILTIN_EXPECT], 1,
[Define to 1 if the compiler supports __builtin_expect().])
AC_MSG_RESULT([yes])],
[AC_MSG_RESULT([no])])
AC_SEARCH_LIBS([dlsym], [dl], [], [AC_MSG_ERROR([dlsym() is required])])
AC_ARG_ENABLE([warnings],
[AS_HELP_STRING([--enable-warnings],[enable warning output])],
[if test "x$enableval" = xyes; then
AC_DEFINE([WARNING], 1, [Define to 1 enable warning output.])
fi])
AC_ARG_ENABLE([debug],
[AS_HELP_STRING([--enable-debug],[enable debug output])],
[if test "x$enableval" = xyes; then
AC_DEFINE([DEBUG], 1, [Define to 1 enable debug output.])
dnl DEBUG implies WARNING
AC_DEFINE([WARNING], 1)
fi])
dnl Used in tests/Makefile.am to build the test only if function is available.
AM_CONDITIONAL([HAVE_ERR_H],[test "x$ac_cv_header_err_h" = xyes])
AM_CONDITIONAL([HAVE_ERROR_H],[test "x$ac_cv_header_error_h" = xyes])
AM_CONDITIONAL([HAVE_VFORK],[test "x$ac_cv_func_vfork_works" = xyes])
AC_CONFIG_FILES([Makefile src/Makefile tests/Makefile])
AC_OUTPUT