1 # Copyright © 2013 Red Hat, Inc.
3 # Permission to use, copy, modify, distribute, and sell this software and its
4 # documentation for any purpose is hereby granted without fee, provided that
5 # the above copyright notice appear in all copies and that both that copyright
6 # notice and this permission notice appear in supporting documentation, and
7 # that the name of the copyright holders not be used in advertising or
8 # publicity pertaining to distribution of the software without specific,
9 # written prior permission. The copyright holders make no representations
10 # about the suitability of this software for any purpose. It is provided "as
11 # is" without express or implied warranty.
13 # THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
14 # INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
15 # EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
16 # CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
17 # DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 # TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
23 # change meson version too
26 [https://bugs.freedesktop.org/enter_bug.cgi?product=libevdev],
28 [http://freedesktop.org/wiki/Software/libevdev/])
30 AC_CONFIG_SRCDIR([libevdev/libevdev.c])
31 AC_CONFIG_HEADERS([config.h])
32 AC_CONFIG_MACRO_DIR([m4])
33 AC_CONFIG_AUX_DIR([build-aux])
34 AC_USE_SYSTEM_EXTENSIONS
36 AM_INIT_AUTOMAKE([1.11 foreign no-dist-gzip dist-xz subdir-objects])
39 # Use symbol versioning instead.
40 LIBEVDEV_LT_VERSION=5:0:3
41 AC_SUBST(LIBEVDEV_LT_VERSION)
44 AM_SILENT_RULES([yes])
55 if test "x$lt_cv_prog_gnu_ld" = "xyes"; then
56 CC_CHECK_FLAGS_APPEND([with_ldflags], [LDFLAGS], [\
62 AC_SUBST([GNU_LD_FLAGS], $with_ldflags)
64 AC_CHECK_LIB([m], [round])
67 PKG_CHECK_MODULES(CHECK, [check >= 0.9.9], [HAVE_CHECK="yes"], [HAVE_CHECK="no"])
68 if test "x$HAVE_CHECK" = "xyes"; then
69 AC_PATH_PROG(VALGRIND, [valgrind])
71 AC_MSG_WARN([check not found - skipping building unit tests])
73 AM_CONDITIONAL(HAVE_VALGRIND, [test "x$VALGRIND" != "x"])
74 AM_CONDITIONAL(ENABLE_RUNTIME_TESTS, [test "x$HAVE_CHECK" = "xyes"])
75 AM_CONDITIONAL(ENABLE_STATIC_LINK_TEST, [test "x$enable_static" = "xyes"])
78 if test "x$GCC" = "xyes"; then
79 CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\
82 -Wno-unused-parameter \
84 -Wmissing-prototypes \
87 -fno-strict-aliasing \
90 -fno-strict-aliasing \
91 -fdiagnostics-show-option \
94 AC_SUBST([GCC_CFLAGS], $with_cflags)
96 AC_PATH_PROG(DOXYGEN, [doxygen])
97 if test "x$DOXYGEN" = "x"; then
98 AC_MSG_WARN([doxygen not found - required for documentation])
103 AM_CONDITIONAL([HAVE_DOXYGEN], [test "x$have_doxygen" = "xyes"])
105 AC_MSG_CHECKING([whether to build with gcov])
106 AC_ARG_ENABLE([gcov],
107 [AS_HELP_STRING([--enable-gcov],
108 [Whether to enable coverage testing (default:disabled)])],
112 AS_IF([test "x$enable_gcov" != "xno"],
114 GCOV_CFLAGS="-fprofile-arcs -ftest-coverage"
115 GCOV_LDFLAGS="-lgcov"
119 AM_CONDITIONAL([GCOV_ENABLED], [test "x$enable_gcov" != "xno"])
120 AC_SUBST([GCOV_CFLAGS])
121 AC_SUBST([GCOV_LDFLAGS])
122 AC_MSG_RESULT([$enable_gcov])
124 AC_MSG_CHECKING([whether to build with coverity support])
125 AC_ARG_ENABLE([coverity],
126 [AS_HELP_STRING([--enable-coverity],
127 [Whether to build with coverity support (default: disabled)])],
129 [enable_coverity=no],
131 AS_IF([test "x$enable_coverity" != "xno"],
133 AC_DEFINE([_Float128], [__uint128_t], [Override for coverity])
134 AC_DEFINE([_Float32], [int], [Override for coverity])
135 AC_DEFINE([_Float32x], [int], [Override for coverity])
136 AC_DEFINE([_Float64], [long], [Override for coverity])
137 AC_DEFINE([_Float64x], [long], [Override for coverity])
141 AC_MSG_RESULT([$enable_coverity])
144 AM_PATH_PYTHON([2.6])
146 # nm to check for leaking symbols in the static library
147 AC_PATH_PROG(NM, [nm])
148 AM_CONDITIONAL(HAVE_NM, [test "x$NM" != "x"])
149 if test "x$enable_static" = "xno"; then
150 static_symbol_leaks_test="no - static build disabled"
152 if test "x$NM" = "x"; then
153 AC_MSG_WARN([nm not found - skipping symbol leak test])
155 static_symbol_leaks_test="no - nm not found"
158 static_symbol_leaks_test="yes"
162 AM_CONDITIONAL(ENABLE_STATIC_SYMBOL_LEAKS_TEST, [test "x$static_symbol_leaks_test" = "xyes"])
164 AC_CONFIG_FILES([Makefile
178 Build documentation ${have_doxygen}
179 Enable unit-tests ${HAVE_CHECK}
180 Enable profiling ${enable_gcov}
181 Enable coverity support ${enable_coverity}
182 Static library symbol check ${static_symbol_leaks_test}