configure.ac revision 27bcc9111b63e94d091c3fa47e81fe52b806cd3e
1ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De MarchiAC_PREREQ(2.60)
2cb48c9b2e611251c68bd0b8f349312330310f644Lucas De MarchiAC_INIT([kmod],
3f9e2167b10a25f2894a49fe5033348086758d172Lucas De Marchi	[19],
4e17cc3afccc46bf89a3a6f2568f9d630fd91e366Lucas De Marchi	[linux-modules@vger.kernel.org],
5cb48c9b2e611251c68bd0b8f349312330310f644Lucas De Marchi	[kmod],
6bb05bc8ac139449c3fda63e16ba8e3f45d5f290eLucas De Marchi	[http://git.kernel.org/?p=utils/kernel/kmod/kmod.git])
7586fc304d85b2a31ae764377b4ddfb64cc9f221cLucas De Marchi
8586fc304d85b2a31ae764377b4ddfb64cc9f221cLucas De MarchiAC_CONFIG_SRCDIR([libkmod/libkmod.c])
9ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De MarchiAC_CONFIG_AUX_DIR([build-aux])
10a597c8bbf5dcd490fb0ba701d6e0fb1e66cd91f5Jan EngelhardtAM_INIT_AUTOMAKE([check-news foreign 1.11 silent-rules
118edd5bb292fb128148191648a3f266027d3b56d8Lucas De Marchi	tar-pax no-dist-gzip dist-xz subdir-objects color-tests parallel-tests])
12ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De MarchiAC_PROG_CC_STDC
13ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De MarchiAC_USE_SYSTEM_EXTENSIONS
14ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De MarchiAC_SYS_LARGEFILE
15ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De MarchiAC_CONFIG_MACRO_DIR([m4])
16fe8bf3b0092b6cf86081be57e2b2a74d3ea3b0eaLuis Felipe Strano Moraesm4_ifndef([AM_SILENT_RULES], [m4_define([AM_SILENT_RULES],[])])
17ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De MarchiAM_SILENT_RULES([yes])
18ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De MarchiLT_INIT([disable-static pic-only])
19ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De MarchiAC_PREFIX_DEFAULT([/usr])
20f5cc26c77d2f332a9b40f51f0ec72e95711edf1eAnders OlofssonAM_MAINTAINER_MODE([enable])
21ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De Marchi
22b7016153ec87dba2b0f0d182cc8f1e3b12f4dfafLucas De MarchiAS_IF([test "x$enable_static" = "xyes"],
23b7016153ec87dba2b0f0d182cc8f1e3b12f4dfafLucas De Marchi      [AC_MSG_ERROR([--enable-static is not supported by kmod])])
24b7016153ec87dba2b0f0d182cc8f1e3b12f4dfafLucas De Marchi
25b7016153ec87dba2b0f0d182cc8f1e3b12f4dfafLucas De Marchi
263ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi#####################################################################
273ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi# Program checks and configurations
283ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi#####################################################################
293ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi
30648a842bfdb8b3b37122581aebdc9328d2fdfc60Lucas De MarchiAC_PROG_CC
31648a842bfdb8b3b37122581aebdc9328d2fdfc60Lucas De MarchiAC_PROG_CC_C99
32648a842bfdb8b3b37122581aebdc9328d2fdfc60Lucas De MarchiAM_PROG_CC_C_O
33648a842bfdb8b3b37122581aebdc9328d2fdfc60Lucas De MarchiAC_PROG_GCC_TRADITIONAL
34708624a4ebffc515da2f9e2fdbdce79fc9c0aaafGustavo Sverzut BarbieriAC_C_BIGENDIAN
35648a842bfdb8b3b37122581aebdc9328d2fdfc60Lucas De Marchi
369faa7b376c1e1a48d8763829bab0ac4f0b924b01Kay SieversAC_PROG_SED
379faa7b376c1e1a48d8763829bab0ac4f0b924b01Kay SieversAC_PROG_MKDIR_P
387b3a74fc67993e6fb85918ec8c2f71c90903a4d4Jan EngelhardtPKG_PROG_PKG_CONFIG
39bccb4b2545a409a909d2ad1bc19a73300ae07c49Lucas De MarchiAC_PATH_PROG([XSLTPROC], [xsltproc])
403d8226edfea12b951f6e257b087ec7453135ed10Gustavo Sverzut Barbieri
413ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi
423ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi#####################################################################
433ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi# Function and structure checks
443ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi#####################################################################
453ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi
46d005aeb7529ab690c7b7119f0ef545e2c07a1ceaLucas De MarchiAC_CHECK_FUNCS_ONCE(__xstat)
4741a51c2af915bc99851446cf604fac99eca1848fCristian RodríguezAC_CHECK_FUNCS_ONCE([__secure_getenv secure_getenv])
4855112d19f7067dff89b1481d5bd8cc49139c4ecbLucas De MarchiAC_CHECK_FUNCS_ONCE([finit_module])
49d005aeb7529ab690c7b7119f0ef545e2c07a1ceaLucas De Marchi
503ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi# dietlibc doesn't have st.st_mtim struct member
513ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De MarchiAC_CHECK_MEMBERS([struct stat.st_mtim], [], [], [#include <sys/stat.h>])
523ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi
5304c0956e207e3b27a700494f8dc77f902cd53731Lucas De Marchi# musl 1.0 and bionic 4.4 don't have strndupa
5404c0956e207e3b27a700494f8dc77f902cd53731Lucas De MarchiAC_CHECK_DECLS_ONCE([strndupa])
5504c0956e207e3b27a700494f8dc77f902cd53731Lucas De Marchi
569b34db1ae63427269f918b2868b4cfcb50e6259bRandy MacLeod# RHEL 5 and older do not have be32toh
579b34db1ae63427269f918b2868b4cfcb50e6259bRandy MacLeodAC_CHECK_DECLS_ONCE([be32toh])
589b34db1ae63427269f918b2868b4cfcb50e6259bRandy MacLeod
59144d1826f1a0fcd6cc59c4535f0a8145163c640cKees Cook# Check kernel headers
60144d1826f1a0fcd6cc59c4535f0a8145163c640cKees CookAC_CHECK_HEADERS_ONCE([linux/module.h])
61144d1826f1a0fcd6cc59c4535f0a8145163c640cKees Cook
62dc8ed09f8f21d17ef9481001683d7edfdb308983Thomas PetazzoniAC_MSG_CHECKING([whether _Static_assert() is supported])
63dc8ed09f8f21d17ef9481001683d7edfdb308983Thomas PetazzoniAC_COMPILE_IFELSE(
64dc8ed09f8f21d17ef9481001683d7edfdb308983Thomas Petazzoni	[AC_LANG_SOURCE([[_Static_assert(1, "Test");]])],
65dc8ed09f8f21d17ef9481001683d7edfdb308983Thomas Petazzoni        [AC_DEFINE([HAVE_STATIC_ASSERT], [1], [Define if _Static_assert() is available])
66dc8ed09f8f21d17ef9481001683d7edfdb308983Thomas Petazzoni	 AC_MSG_RESULT([yes])],
67dc8ed09f8f21d17ef9481001683d7edfdb308983Thomas Petazzoni	[AC_MSG_RESULT([no])])
683ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi
693ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi#####################################################################
703ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi# --with-
713ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi#####################################################################
723ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi
73e79bf83b0648a44585dc5960f7022a9a8f4ab40cKay SieversAC_ARG_WITH([rootlibdir],
74e79bf83b0648a44585dc5960f7022a9a8f4ab40cKay Sievers        AS_HELP_STRING([--with-rootlibdir=DIR], [rootfs directory to install shared libraries]),
75e79bf83b0648a44585dc5960f7022a9a8f4ab40cKay Sievers        [], [with_rootlibdir=$libdir])
76e79bf83b0648a44585dc5960f7022a9a8f4ab40cKay SieversAC_SUBST([rootlibdir], [$with_rootlibdir])
77e79bf83b0648a44585dc5960f7022a9a8f4ab40cKay Sievers
78b182f8fb5e5765dd5c935aa7b3775e382662b318Jan EngelhardtAC_ARG_WITH([xz],
79b182f8fb5e5765dd5c935aa7b3775e382662b318Jan Engelhardt	AS_HELP_STRING([--with-xz], [handle Xz-compressed modules @<:@default=disabled@:>@]),
80b182f8fb5e5765dd5c935aa7b3775e382662b318Jan Engelhardt	[], [with_xz=no])
81b182f8fb5e5765dd5c935aa7b3775e382662b318Jan EngelhardtAS_IF([test "x$with_xz" != "xno"], [
82b182f8fb5e5765dd5c935aa7b3775e382662b318Jan Engelhardt	PKG_CHECK_MODULES([liblzma], [liblzma >= 4.99])
83b182f8fb5e5765dd5c935aa7b3775e382662b318Jan Engelhardt	AC_DEFINE([ENABLE_XZ], [1], [Enable Xz for modules.])
84b182f8fb5e5765dd5c935aa7b3775e382662b318Jan Engelhardt], [
85b182f8fb5e5765dd5c935aa7b3775e382662b318Jan Engelhardt	AC_MSG_NOTICE([Xz support not requested])
86b182f8fb5e5765dd5c935aa7b3775e382662b318Jan Engelhardt])
87b182f8fb5e5765dd5c935aa7b3775e382662b318Jan Engelhardt
885a51a357a8fad00582631592969f6d410228b8a7Jan EngelhardtAC_ARG_WITH([zlib],
895a51a357a8fad00582631592969f6d410228b8a7Jan Engelhardt	AS_HELP_STRING([--with-zlib], [handle gzipped modules @<:@default=disabled@:>@]),
905a51a357a8fad00582631592969f6d410228b8a7Jan Engelhardt	[], [with_zlib=no])
915a51a357a8fad00582631592969f6d410228b8a7Jan EngelhardtAS_IF([test "x$with_zlib" != "xno"], [
927b3a74fc67993e6fb85918ec8c2f71c90903a4d4Jan Engelhardt	PKG_CHECK_MODULES([zlib], [zlib])
937b3a74fc67993e6fb85918ec8c2f71c90903a4d4Jan Engelhardt	AC_DEFINE([ENABLE_ZLIB], [1], [Enable zlib for modules.])
94cfb908bf660871f9475b485806e004ddcc5ced18Lucas De Marchi], [
95cfb908bf660871f9475b485806e004ddcc5ced18Lucas De Marchi	AC_MSG_NOTICE([zlib support not requested])
96cfb908bf660871f9475b485806e004ddcc5ced18Lucas De Marchi])
973d8226edfea12b951f6e257b087ec7453135ed10Gustavo Sverzut Barbieri
9880cf2c8f05813b04a5479746ce3ddaef00ea240dLucas De MarchiAC_ARG_WITH([bashcompletiondir],
9980cf2c8f05813b04a5479746ce3ddaef00ea240dLucas De Marchi	AS_HELP_STRING([--with-bashcompletiondir=DIR], [Bash completions directory]),
10080cf2c8f05813b04a5479746ce3ddaef00ea240dLucas De Marchi	[],
10180cf2c8f05813b04a5479746ce3ddaef00ea240dLucas De Marchi	[AS_IF([$($PKG_CONFIG --exists bash-completion)], [
10280cf2c8f05813b04a5479746ce3ddaef00ea240dLucas De Marchi		with_bashcompletiondir=$($PKG_CONFIG --variable=completionsdir bash-completion)
10380cf2c8f05813b04a5479746ce3ddaef00ea240dLucas De Marchi	] , [
10480cf2c8f05813b04a5479746ce3ddaef00ea240dLucas De Marchi		with_bashcompletiondir=${datadir}/bash-completion/completions
10580cf2c8f05813b04a5479746ce3ddaef00ea240dLucas De Marchi	])])
10680cf2c8f05813b04a5479746ce3ddaef00ea240dLucas De MarchiAC_SUBST([bashcompletiondir], [$with_bashcompletiondir])
1073ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi
1083ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi#####################################################################
1093ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi# --enable-
1103ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi#####################################################################
1113ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi
1123ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De MarchiAC_ARG_ENABLE([tools],
1133ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi        AS_HELP_STRING([--disable-tools], [disable building tools that provide same functionality as module-init-tools @<:@default=enabled@:>@]),
1143ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi	[], enable_tools=yes)
1153ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De MarchiAM_CONDITIONAL([BUILD_TOOLS], [test "x$enable_tools" = "xyes"])
1163ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi
1178631552d3d48092932c6fb93baa6e38fb3ca951aColin WaltersAC_ARG_ENABLE([manpages],
1188631552d3d48092932c6fb93baa6e38fb3ca951aColin Walters        AS_HELP_STRING([--disable-manpages], [disable manpages @<:@default=enabled@:>@]),
1198631552d3d48092932c6fb93baa6e38fb3ca951aColin Walters	[], enable_manpages=yes)
1208631552d3d48092932c6fb93baa6e38fb3ca951aColin WaltersAM_CONDITIONAL([BUILD_MANPAGES], [test "x$enable_manpages" = "xyes"])
1218631552d3d48092932c6fb93baa6e38fb3ca951aColin Walters
1223ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De MarchiAC_ARG_ENABLE([logging],
1233ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi	AS_HELP_STRING([--disable-logging], [disable system logging @<:@default=enabled@:>@]),
1243ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi	[], enable_logging=yes)
1253ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De MarchiAS_IF([test "x$enable_logging" = "xyes"], [
1263ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi	AC_DEFINE(ENABLE_LOGGING, [1], [System logging.])
1273ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi])
1283ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi
129ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De MarchiAC_ARG_ENABLE([debug],
130ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De Marchi	AS_HELP_STRING([--enable-debug], [enable debug messages @<:@default=disabled@:>@]),
131ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De Marchi	[], [enable_debug=no])
132ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De MarchiAS_IF([test "x$enable_debug" = "xyes"], [
133ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De Marchi	AC_DEFINE(ENABLE_DEBUG, [1], [Debug messages.])
134ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De Marchi])
135ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De Marchi
1363a33a7a566c221e13c426c0d2f3519ebe8f70a34Lucas De MarchiAC_ARG_ENABLE([python],
1373a33a7a566c221e13c426c0d2f3519ebe8f70a34Lucas De Marchi	AS_HELP_STRING([--enable-python], [enable Python libkmod bindings @<:@default=disabled@:>@]),
1383a33a7a566c221e13c426c0d2f3519ebe8f70a34Lucas De Marchi	[], [enable_python=no])
1393a33a7a566c221e13c426c0d2f3519ebe8f70a34Lucas De MarchiAS_IF([test "x$enable_python" = "xyes"], [
1403a33a7a566c221e13c426c0d2f3519ebe8f70a34Lucas De Marchi	AM_PATH_PYTHON(,,[:])
1413a33a7a566c221e13c426c0d2f3519ebe8f70a34Lucas De Marchi	AC_PATH_PROG([CYTHON], [cython], [:])
1423a33a7a566c221e13c426c0d2f3519ebe8f70a34Lucas De Marchi
1433a33a7a566c221e13c426c0d2f3519ebe8f70a34Lucas De Marchi	PKG_CHECK_MODULES([PYTHON], [python-${PYTHON_VERSION}],
1443a33a7a566c221e13c426c0d2f3519ebe8f70a34Lucas De Marchi			  [have_python=yes],
1453a33a7a566c221e13c426c0d2f3519ebe8f70a34Lucas De Marchi			  [PKG_CHECK_MODULES([PYTHON], [python],
1463a33a7a566c221e13c426c0d2f3519ebe8f70a34Lucas De Marchi					     [have_python=yes],
1473a33a7a566c221e13c426c0d2f3519ebe8f70a34Lucas De Marchi					     [have_python=no])])
1483a33a7a566c221e13c426c0d2f3519ebe8f70a34Lucas De Marchi
1493a33a7a566c221e13c426c0d2f3519ebe8f70a34Lucas De Marchi	AS_IF([test "x$have_python" = xno],
1503a33a7a566c221e13c426c0d2f3519ebe8f70a34Lucas De Marchi	      [AC_MSG_ERROR([*** python support requested but libraries not found])])
1513a33a7a566c221e13c426c0d2f3519ebe8f70a34Lucas De Marchi])
1523a33a7a566c221e13c426c0d2f3519ebe8f70a34Lucas De MarchiAM_CONDITIONAL([BUILD_PYTHON], [test "x$enable_python" = "xyes"])
1533a33a7a566c221e13c426c0d2f3519ebe8f70a34Lucas De Marchi
154e9b0d1b40e645fd583f090601f4ae2a7926888a1Lucas De MarchiAC_ARG_ENABLE([coverage],
155e9b0d1b40e645fd583f090601f4ae2a7926888a1Lucas De Marchi	AS_HELP_STRING([--enable-coverage], [enable test coverage @<:@default=disabled@:>@]),
156e9b0d1b40e645fd583f090601f4ae2a7926888a1Lucas De Marchi	[], [enable_coverage=no])
157e9b0d1b40e645fd583f090601f4ae2a7926888a1Lucas De MarchiAS_IF([test "x$enable_coverage" = "xyes"], [
158e9b0d1b40e645fd583f090601f4ae2a7926888a1Lucas De Marchi	AC_CHECK_PROG(have_coverage, [lcov], [yes], [no])
159e9b0d1b40e645fd583f090601f4ae2a7926888a1Lucas De Marchi	AS_IF([test "x$have_coverage" = xno],[
160e9b0d1b40e645fd583f090601f4ae2a7926888a1Lucas De Marchi		AC_MSG_ERROR([*** lcov support requested but the program was not found])
161e9b0d1b40e645fd583f090601f4ae2a7926888a1Lucas De Marchi	], [
162e9b0d1b40e645fd583f090601f4ae2a7926888a1Lucas De Marchi		lcov_version_major="`lcov --version | cut -d ' ' -f 4 | cut -d '.' -f 1`"
163e9b0d1b40e645fd583f090601f4ae2a7926888a1Lucas De Marchi		lcov_version_minor="`lcov --version | cut -d ' ' -f 4 | cut -d '.' -f 2`"
164e9b0d1b40e645fd583f090601f4ae2a7926888a1Lucas De Marchi		AS_IF([test "$lcov_version_major" -lt 1 -o "$lcov_version_minor" -lt 10], [
165e9b0d1b40e645fd583f090601f4ae2a7926888a1Lucas De Marchi			AC_MSG_ERROR([*** lcov version is too old. 1.10 required])
166e9b0d1b40e645fd583f090601f4ae2a7926888a1Lucas De Marchi		], [
167e9b0d1b40e645fd583f090601f4ae2a7926888a1Lucas De Marchi			have_coverage=yes
168e9b0d1b40e645fd583f090601f4ae2a7926888a1Lucas De Marchi                        CC_CHECK_FLAGS_APPEND([with_coverage_cflags], [CFLAGS], [\
169e9b0d1b40e645fd583f090601f4ae2a7926888a1Lucas De Marchi                        -fprofile-arcs \
170e9b0d1b40e645fd583f090601f4ae2a7926888a1Lucas De Marchi                        -ftest-coverage])
171e9b0d1b40e645fd583f090601f4ae2a7926888a1Lucas De Marchi		])
172e9b0d1b40e645fd583f090601f4ae2a7926888a1Lucas De Marchi        ])
173e9b0d1b40e645fd583f090601f4ae2a7926888a1Lucas De Marchi])
174e9b0d1b40e645fd583f090601f4ae2a7926888a1Lucas De MarchiAM_CONDITIONAL([ENABLE_COVERAGE], [test "x$enable_coverage" = "xyes"])
175e9b0d1b40e645fd583f090601f4ae2a7926888a1Lucas De Marchi
1763ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchim4_ifdef([GTK_DOC_CHECK], [
1773ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De MarchiGTK_DOC_CHECK([1.14],[--flavour no-tmpl-flat])
1783ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi], [
1793ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De MarchiAM_CONDITIONAL([ENABLE_GTK_DOC], false)])
1803ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi
1813ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi
1823ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi#####################################################################
1833ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi# Default CFLAGS and LDFLAGS
1843ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi#####################################################################
1856068aaaea8e7cdc6039e6fd7a1aeab9db9d0225bLucas De Marchi
186e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De MarchiCC_CHECK_FLAGS_APPEND(with_cflags, [CFLAGS], [\
187e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -pipe \
188e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -DANOTHER_BRICK_IN_THE \
189e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -Wall \
190e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -W \
191e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -Wextra \
192e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -Wno-inline \
193e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -Wvla \
194e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -Wundef \
195e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -Wformat=2 \
196e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -Wlogical-op \
197e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -Wsign-compare \
198e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -Wformat-security \
199e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -Wmissing-include-dirs \
200e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -Wformat-nonliteral \
201e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -Wold-style-definition \
202e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -Wpointer-arith \
203e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -Winit-self \
204e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -Wdeclaration-after-statement \
205e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -Wfloat-equal \
206e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -Wmissing-prototypes \
207e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -Wstrict-prototypes \
208e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -Wredundant-decls \
209e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -Wmissing-declarations \
210e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -Wmissing-noreturn \
211e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -Wshadow \
212e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -Wendif-labels \
213db62153ea0beedbc6941e1d438c0b6e7189e78d9Lucas De Marchi		       -Wstrict-aliasing=3 \
214e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -Wwrite-strings \
215e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -Wno-long-long \
216e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -Wno-overlength-strings \
217e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -Wno-unused-parameter \
218e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -Wno-missing-field-initializers \
219e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -Wno-unused-result \
220e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -Wnested-externs \
221e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -Wchar-subscripts \
222e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -Wtype-limits \
223e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -Wuninitialized \
224e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -fno-common \
225e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -fdiagnostics-show-option \
226e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -fvisibility=hidden \
227e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -ffunction-sections \
228e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -fdata-sections])
229e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi
23027bcc9111b63e94d091c3fa47e81fe52b806cd3eLucas De MarchiAS_CASE([$CFLAGS], [*-O[[12345\ ]]*],
23127bcc9111b63e94d091c3fa47e81fe52b806cd3eLucas De Marchi	[CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\
23227bcc9111b63e94d091c3fa47e81fe52b806cd3eLucas De Marchi	 -flto -ffat-lto-objects])],
23327bcc9111b63e94d091c3fa47e81fe52b806cd3eLucas De Marchi	[AC_MSG_RESULT([skipping -flto, optimization not enabled])])
23427bcc9111b63e94d091c3fa47e81fe52b806cd3eLucas De Marchi
23527bcc9111b63e94d091c3fa47e81fe52b806cd3eLucas De MarchiAS_CASE([$CFLAGS], [*-O[[12345\ ]]*],
23627bcc9111b63e94d091c3fa47e81fe52b806cd3eLucas De Marchi        [CC_CHECK_FLAGS_APPEND([with_cppflags], [CPPFLAGS], [\
23727bcc9111b63e94d091c3fa47e81fe52b806cd3eLucas De Marchi               -Wp,-D_FORTIFY_SOURCE=2])],
23827bcc9111b63e94d091c3fa47e81fe52b806cd3eLucas De Marchi        [AC_MSG_RESULT([skipping -D_FORTIFY_SOURCE, optimization not enabled])])
23927bcc9111b63e94d091c3fa47e81fe52b806cd3eLucas De Marchi
24027bcc9111b63e94d091c3fa47e81fe52b806cd3eLucas De MarchiAC_SUBST([OUR_CFLAGS], "$with_cflags $with_coverage_cflags")
241e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi
242e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De MarchiCC_CHECK_FLAGS_APPEND([with_ldflags], [LDFLAGS], [ \
243e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -Wl,--as-needed \
244e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi		       -Wl,--gc-sections])
24584aaaedfa6295ebe1f24b114b35ab0f53c138bbdLucas De MarchiAC_SUBST([OUR_LDFLAGS], $with_ldflags)
2463ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi
2473ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi#####################################################################
2483ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi# Generate files from *.in
2493ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi#####################################################################
2503ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi
251ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De MarchiAC_CONFIG_HEADERS(config.h)
252ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De MarchiAC_CONFIG_FILES([
253ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De Marchi	Makefile
254904b57d022b0187bc5c6eeeacf2d5bf566ca8881Lucas De Marchi	man/Makefile
255646b83b841a4591d00223cda14ce1530ec4dbd39Lucas De Marchi	libkmod/docs/Makefile
256646b83b841a4591d00223cda14ce1530ec4dbd39Lucas De Marchi	libkmod/docs/version.xml
257ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De Marchi])
258ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De Marchi
2593ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi
2603ef7208ecfa2fb3edc0d3f6344811e686907c94cLucas De Marchi#####################################################################
261646b83b841a4591d00223cda14ce1530ec4dbd39Lucas De Marchi
262ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De MarchiAC_OUTPUT
263ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De MarchiAC_MSG_RESULT([
264ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De Marchi	$PACKAGE $VERSION
26580cf2c8f05813b04a5479746ce3ddaef00ea240dLucas De Marchi	=======
266ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De Marchi
267ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De Marchi	prefix:			${prefix}
268ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De Marchi	sysconfdir:		${sysconfdir}
269ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De Marchi	libdir:			${libdir}
270e79bf83b0648a44585dc5960f7022a9a8f4ab40cKay Sievers	rootlibdir:		${rootlibdir}
271ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De Marchi	includedir:		${includedir}
2727c41c2dd8c1357d10cdee912c43614fa47c8d4ecLucas De Marchi	bindir:			${bindir}
27380cf2c8f05813b04a5479746ce3ddaef00ea240dLucas De Marchi	Bash completions dir:   ${with_bashcompletiondir}
274ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De Marchi
275ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De Marchi	compiler:		${CC}
276e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi	cflags:			${with_cflags} ${CFLAGS}
277e48f37657dc03aee9aace60bf14ef9af489bf47cLucas De Marchi	ldflags:		${with_ldflags} ${LDFLAGS}
278ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De Marchi
2797c41c2dd8c1357d10cdee912c43614fa47c8d4ecLucas De Marchi	tools:			${enable_tools}
2803a33a7a566c221e13c426c0d2f3519ebe8f70a34Lucas De Marchi	python bindings:	${enable_python}
281ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De Marchi	logging:		${enable_logging}
282b182f8fb5e5765dd5c935aa7b3775e382662b318Jan Engelhardt	compression:		xz=${with_xz}  zlib=${with_zlib}
283ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De Marchi	debug:			${enable_debug}
284e9b0d1b40e645fd583f090601f4ae2a7926888a1Lucas De Marchi	coverage:		${enable_coverage}
285646b83b841a4591d00223cda14ce1530ec4dbd39Lucas De Marchi	doc:			${enable_gtk_doc}
286382de85c94ce6b057acc6e3513e314f34fef966bLucas De Marchi	man:			${enable_manpages}
287ecd40ee4992009e8b49f2f8088dd9ab896802ecLucas De Marchi])
288