]> ruderich.org/simon Gitweb - coloredstderr/coloredstderr.git/blobdiff - configure.ac
Use likely()/unlikely() macros to improve branch prediction.
[coloredstderr/coloredstderr.git] / configure.ac
index 6064f08d64e638b92ca4896337ee0f8ef296b08c..ec5b65898d6d14f161557937e89f17406eb71732 100644 (file)
@@ -28,22 +28,33 @@ LT_PREREQ([2.4])
 LT_INIT([disable-static])
 
 AC_PROG_CC
-
 dnl Used by test suite.
 AC_PROG_SED
 AC_PROG_EGREP
 
-AC_C_INLINE
+if test "x$GCC" = xyes; then
+    CFLAGS="-Wall -Wextra -Wconversion $CFLAGS"
+fi
 
-AC_CHECK_HEADERS([fcntl.h])
+AC_CHECK_HEADERS([fcntl.h error.h])
 
+AC_TYPE_PID_T
 AC_TYPE_SIZE_T
 AC_TYPE_SSIZE_T
 
-AC_FUNC_MALLOC
-AC_FUNC_REALLOC
+AC_C_INLINE
+
+AC_FUNC_FORK
 AC_CHECK_FUNCS([dup2 memmove setenv strdup])
 
+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([debug],
@@ -52,5 +63,8 @@ AC_ARG_ENABLE([debug],
                    AC_DEFINE([DEBUG], 1, [Define to enable debug output.])
                fi])
 
+dnl Used in tests/Makefile.am to build the test only if error() is available.
+AM_CONDITIONAL([HAVE_ERROR_H],[test "x$ac_cv_header_error_h" = xyes])
+
 AC_CONFIG_FILES([Makefile src/Makefile tests/Makefile])
 AC_OUTPUT