]> ruderich.org/simon Gitweb - coloredstderr/coloredstderr.git/blobdiff - configure.ac
update copyright year
[coloredstderr/coloredstderr.git] / configure.ac
index e17afdf7dbf41d4265fb4d2b9159c402a037e54a..73c7545d1d4f3aa3dc48ad6f032f6b3f4dc0353d 100644 (file)
@@ -1,4 +1,4 @@
-dnl Copyright (C) 2013  Simon Ruderich
+dnl Copyright (C) 2013-2015  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
@@ -15,7 +15,7 @@ dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
 AC_PREREQ([2.69])
-AC_INIT([coloredstderr],[0.1],[simon@ruderich.org])
+AC_INIT([coloredstderr],[0.2],[simon@ruderich.org])
 
 AC_CONFIG_AUX_DIR([build-aux])
 AC_CONFIG_MACRO_DIR([m4])
@@ -36,7 +36,9 @@ if test "x$GCC" = xyes; then
     CFLAGS="-Wall -Wextra -Wconversion $CFLAGS"
 fi
 
-AC_CHECK_HEADERS([fcntl.h error.h])
+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
@@ -44,9 +46,21 @@ AC_TYPE_SSIZE_T
 
 AC_C_INLINE
 AX_C___ATTRIBUTE__
+AX_TLS
+
+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 <libio.h>]]) dnl ' fix for vim syntax coloring
 
 AC_FUNC_FORK
-AC_CHECK_FUNCS([dup2 memmove setenv strdup])
+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])
@@ -58,15 +72,28 @@ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[return __builtin_expect(main != 0, 1)])],
 
 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 enable debug output.])
+                   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 error() is available.
+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
+
+if test x"$ac_cv_tls" = x"none"; then
+    AC_MSG_WARN([thread-local storage not supported by compiler, \
+possible race condition in threaded programs])
+fi