m4/ax_c___attribute__.m4: Add.
[coloredstderr/coloredstderr.git] / configure.ac
1 dnl Copyright (C) 2013  Simon Ruderich
2 dnl
3 dnl This program is free software: you can redistribute it and/or modify
4 dnl it under the terms of the GNU General Public License as published by
5 dnl the Free Software Foundation, either version 3 of the License, or
6 dnl (at your option) any later version.
7 dnl
8 dnl This program is distributed in the hope that it will be useful,
9 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
10 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11 dnl GNU General Public License for more details.
12 dnl
13 dnl You should have received a copy of the GNU General Public License
14 dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
15
16
17 AC_PREREQ([2.69])
18 AC_INIT([coloredstderr],[0.1],[simon@ruderich.org])
19
20 AC_CONFIG_AUX_DIR([build-aux])
21 AC_CONFIG_MACRO_DIR([m4])
22 AC_CONFIG_HEADERS([config.h])
23 AC_CONFIG_SRCDIR([src/coloredstderr.c])
24
25 AM_PROG_AR
26 AM_INIT_AUTOMAKE([foreign -Wall -Werror])
27 LT_PREREQ([2.4])
28 LT_INIT([disable-static])
29
30 AC_PROG_CC
31 dnl Used by test suite.
32 AC_PROG_SED
33 AC_PROG_EGREP
34
35 if test "x$GCC" = xyes; then
36     CFLAGS="-Wall -Wextra -Wconversion $CFLAGS"
37 fi
38
39 AC_CHECK_HEADERS([fcntl.h error.h])
40
41 AC_TYPE_PID_T
42 AC_TYPE_SIZE_T
43 AC_TYPE_SSIZE_T
44
45 AC_C_INLINE
46 AX_C___ATTRIBUTE__
47
48 AC_FUNC_FORK
49 AC_CHECK_FUNCS([memmove setenv],
50                [],[AC_MSG_ERROR([function is required])])
51 AC_CHECK_FUNCS([execvpe])
52
53 dnl Thanks to gperftools' configure.ac (https://code.google.com/p/gperftools).
54 AC_MSG_CHECKING([for __builtin_expect])
55 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[return __builtin_expect(main != 0, 1)])],
56                [AC_DEFINE([HAVE___BUILTIN_EXPECT], 1,
57                           [Define to 1 if the compiler supports __builtin_expect().])
58                 AC_MSG_RESULT([yes])],
59                [AC_MSG_RESULT([no])])
60
61 AC_SEARCH_LIBS([dlsym], [dl], [], [AC_MSG_ERROR([dlsym() is required])])
62
63 AC_ARG_ENABLE([warnings],
64               [AS_HELP_STRING([--enable-warnings],[enable warning output])],
65               [if test "x$enableval" = xyes; then
66                    AC_DEFINE([WARNING], 1, [Define to 1 enable warning output.])
67                fi])
68 AC_ARG_ENABLE([debug],
69               [AS_HELP_STRING([--enable-debug],[enable debug output])],
70               [if test "x$enableval" = xyes; then
71                    AC_DEFINE([DEBUG], 1, [Define to 1 enable debug output.])
72                    dnl DEBUG implies WARNING
73                    AC_DEFINE([WARNING], 1)
74                fi])
75
76 dnl Used in tests/Makefile.am to build the test only if error() is available.
77 AM_CONDITIONAL([HAVE_ERROR_H],[test "x$ac_cv_header_error_h" = xyes])
78 AM_CONDITIONAL([HAVE_VFORK],[test "x$ac_cv_func_vfork_works" = xyes])
79
80 AC_CONFIG_FILES([Makefile src/Makefile tests/Makefile])
81 AC_OUTPUT