X-Git-Url: https://ruderich.org/simon/gitweb/?p=coloredstderr%2Fcoloredstderr.git;a=blobdiff_plain;f=configure.ac;h=73c7545d1d4f3aa3dc48ad6f032f6b3f4dc0353d;hp=e17afdf7dbf41d4265fb4d2b9159c402a037e54a;hb=8a65b4486febf00e3fad5bafc3773a811e675a4c;hpb=2f1aa1cdd321301db62e25280356bee9a2ac5dfa diff --git a/configure.ac b/configure.ac index e17afdf..73c7545 100644 --- a/configure.ac +++ b/configure.ac @@ -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 . 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 ]]) 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