xref: /aosp_15_r20/external/kmod/configure.ac (revision cc4ad7da8cefe208cb129ac2aa9a357c7c72deb2)
1*cc4ad7daSAndroid Build Coastguard WorkerAC_PREREQ(2.64)
2*cc4ad7daSAndroid Build Coastguard WorkerAC_INIT([kmod],
3*cc4ad7daSAndroid Build Coastguard Worker	[32],
4*cc4ad7daSAndroid Build Coastguard Worker	[[email protected]],
5*cc4ad7daSAndroid Build Coastguard Worker	[kmod],
6*cc4ad7daSAndroid Build Coastguard Worker	[http://git.kernel.org/?p=utils/kernel/kmod/kmod.git])
7*cc4ad7daSAndroid Build Coastguard Worker
8*cc4ad7daSAndroid Build Coastguard WorkerAC_CONFIG_SRCDIR([libkmod/libkmod.c])
9*cc4ad7daSAndroid Build Coastguard WorkerAC_CONFIG_MACRO_DIR([m4])
10*cc4ad7daSAndroid Build Coastguard WorkerAC_CONFIG_HEADERS(config.h)
11*cc4ad7daSAndroid Build Coastguard WorkerAC_CONFIG_AUX_DIR([build-aux])
12*cc4ad7daSAndroid Build Coastguard Worker
13*cc4ad7daSAndroid Build Coastguard WorkerAC_USE_SYSTEM_EXTENSIONS
14*cc4ad7daSAndroid Build Coastguard WorkerAC_SYS_LARGEFILE
15*cc4ad7daSAndroid Build Coastguard WorkerAC_PREFIX_DEFAULT([/usr])
16*cc4ad7daSAndroid Build Coastguard WorkerAM_MAINTAINER_MODE([enable])
17*cc4ad7daSAndroid Build Coastguard WorkerAM_INIT_AUTOMAKE([check-news foreign 1.11 silent-rules tar-pax no-dist-gzip dist-xz subdir-objects color-tests parallel-tests])
18*cc4ad7daSAndroid Build Coastguard WorkerAM_SILENT_RULES([yes])
19*cc4ad7daSAndroid Build Coastguard WorkerLT_INIT([disable-static pic-only])
20*cc4ad7daSAndroid Build Coastguard Worker
21*cc4ad7daSAndroid Build Coastguard WorkerAS_IF([test "x$enable_static" = "xyes"], [AC_MSG_ERROR([--enable-static is not supported by kmod])])
22*cc4ad7daSAndroid Build Coastguard WorkerAS_IF([test "x$enable_largefile" = "xno"], [AC_MSG_ERROR([--disable-largefile is not supported by kmod])])
23*cc4ad7daSAndroid Build Coastguard Worker
24*cc4ad7daSAndroid Build Coastguard Workermodule_compressions=""
25*cc4ad7daSAndroid Build Coastguard Workermodule_signatures="legacy"
26*cc4ad7daSAndroid Build Coastguard Worker
27*cc4ad7daSAndroid Build Coastguard Worker#####################################################################
28*cc4ad7daSAndroid Build Coastguard Worker# Program checks and configurations
29*cc4ad7daSAndroid Build Coastguard Worker#####################################################################
30*cc4ad7daSAndroid Build Coastguard Worker
31*cc4ad7daSAndroid Build Coastguard WorkerAC_PROG_SED
32*cc4ad7daSAndroid Build Coastguard WorkerAC_PROG_MKDIR_P
33*cc4ad7daSAndroid Build Coastguard WorkerAC_PROG_LN_S
34*cc4ad7daSAndroid Build Coastguard WorkerPKG_PROG_PKG_CONFIG
35*cc4ad7daSAndroid Build Coastguard WorkerAC_PATH_PROG([XSLTPROC], [xsltproc])
36*cc4ad7daSAndroid Build Coastguard Worker
37*cc4ad7daSAndroid Build Coastguard WorkerAC_PROG_CC_C99
38*cc4ad7daSAndroid Build Coastguard Worker
39*cc4ad7daSAndroid Build Coastguard Worker#####################################################################
40*cc4ad7daSAndroid Build Coastguard Worker# Function and structure checks
41*cc4ad7daSAndroid Build Coastguard Worker#####################################################################
42*cc4ad7daSAndroid Build Coastguard Worker
43*cc4ad7daSAndroid Build Coastguard WorkerAC_CHECK_FUNCS_ONCE(__xstat)
44*cc4ad7daSAndroid Build Coastguard WorkerAC_CHECK_FUNCS_ONCE([__secure_getenv secure_getenv])
45*cc4ad7daSAndroid Build Coastguard WorkerAC_CHECK_FUNCS_ONCE([finit_module])
46*cc4ad7daSAndroid Build Coastguard Worker
47*cc4ad7daSAndroid Build Coastguard WorkerCC_CHECK_FUNC_BUILTIN([__builtin_clz])
48*cc4ad7daSAndroid Build Coastguard WorkerCC_CHECK_FUNC_BUILTIN([__builtin_types_compatible_p])
49*cc4ad7daSAndroid Build Coastguard WorkerCC_CHECK_FUNC_BUILTIN([__builtin_uaddl_overflow], [ ], [ ])
50*cc4ad7daSAndroid Build Coastguard WorkerCC_CHECK_FUNC_BUILTIN([__builtin_uaddll_overflow], [ ], [ ])
51*cc4ad7daSAndroid Build Coastguard Worker
52*cc4ad7daSAndroid Build Coastguard Worker# dietlibc doesn't have st.st_mtim struct member
53*cc4ad7daSAndroid Build Coastguard WorkerAC_CHECK_MEMBERS([struct stat.st_mtim], [], [], [#include <sys/stat.h>])
54*cc4ad7daSAndroid Build Coastguard Worker
55*cc4ad7daSAndroid Build Coastguard Worker# musl 1.0 and bionic 4.4 don't have strndupa
56*cc4ad7daSAndroid Build Coastguard WorkerAC_CHECK_DECLS_ONCE([strndupa])
57*cc4ad7daSAndroid Build Coastguard Worker
58*cc4ad7daSAndroid Build Coastguard Worker# RHEL 5 and older do not have be32toh
59*cc4ad7daSAndroid Build Coastguard WorkerAC_CHECK_DECLS_ONCE([be32toh])
60*cc4ad7daSAndroid Build Coastguard Worker
61*cc4ad7daSAndroid Build Coastguard Worker# Check kernel headers
62*cc4ad7daSAndroid Build Coastguard WorkerAC_CHECK_HEADERS_ONCE([linux/module.h])
63*cc4ad7daSAndroid Build Coastguard Worker
64*cc4ad7daSAndroid Build Coastguard WorkerAC_MSG_CHECKING([whether _Static_assert() is supported])
65*cc4ad7daSAndroid Build Coastguard WorkerAC_COMPILE_IFELSE(
66*cc4ad7daSAndroid Build Coastguard Worker	[AC_LANG_SOURCE([[_Static_assert(1, "Test");]])],
67*cc4ad7daSAndroid Build Coastguard Worker        [AC_DEFINE([HAVE_STATIC_ASSERT], [1], [Define if _Static_assert() is available])
68*cc4ad7daSAndroid Build Coastguard Worker	 AC_MSG_RESULT([yes])],
69*cc4ad7daSAndroid Build Coastguard Worker	[AC_MSG_RESULT([no])])
70*cc4ad7daSAndroid Build Coastguard Worker
71*cc4ad7daSAndroid Build Coastguard WorkerAC_MSG_CHECKING([whether _Noreturn is supported])
72*cc4ad7daSAndroid Build Coastguard WorkerAC_COMPILE_IFELSE(
73*cc4ad7daSAndroid Build Coastguard Worker	[AC_LANG_SOURCE([[#include <stdlib.h>
74*cc4ad7daSAndroid Build Coastguard Worker	_Noreturn int foo(void) { exit(0); }]])],
75*cc4ad7daSAndroid Build Coastguard Worker        [AC_DEFINE([HAVE_NORETURN], [1], [Define if _Noreturn is available])
76*cc4ad7daSAndroid Build Coastguard Worker	 AC_MSG_RESULT([yes])],
77*cc4ad7daSAndroid Build Coastguard Worker	[AC_MSG_RESULT([no])])
78*cc4ad7daSAndroid Build Coastguard Worker
79*cc4ad7daSAndroid Build Coastguard Worker
80*cc4ad7daSAndroid Build Coastguard Worker#####################################################################
81*cc4ad7daSAndroid Build Coastguard Worker# --with-
82*cc4ad7daSAndroid Build Coastguard Worker#####################################################################
83*cc4ad7daSAndroid Build Coastguard Worker
84*cc4ad7daSAndroid Build Coastguard WorkerAC_ARG_WITH([distconfdir], AS_HELP_STRING([--with-distconfdir=DIR], [directory to search for distribution configuration files]),
85*cc4ad7daSAndroid Build Coastguard Worker        [], [with_distconfdir='${prefix}/lib'])
86*cc4ad7daSAndroid Build Coastguard WorkerAC_SUBST([distconfdir], [$with_distconfdir])
87*cc4ad7daSAndroid Build Coastguard Worker
88*cc4ad7daSAndroid Build Coastguard WorkerAC_ARG_WITH([rootlibdir],
89*cc4ad7daSAndroid Build Coastguard Worker        AS_HELP_STRING([--with-rootlibdir=DIR], [rootfs directory to install shared libraries]),
90*cc4ad7daSAndroid Build Coastguard Worker        [], [with_rootlibdir=$libdir])
91*cc4ad7daSAndroid Build Coastguard WorkerAC_SUBST([rootlibdir], [$with_rootlibdir])
92*cc4ad7daSAndroid Build Coastguard Worker
93*cc4ad7daSAndroid Build Coastguard Worker# Ideally this would be $prefix/lib/modules but default to /lib/modules for compatibility with earlier versions
94*cc4ad7daSAndroid Build Coastguard WorkerAC_ARG_WITH([module_directory],
95*cc4ad7daSAndroid Build Coastguard Worker        AS_HELP_STRING([--with-module-directory=DIR], [directory in which to look for kernel modules @<:@default=/lib/modules@:>@]),
96*cc4ad7daSAndroid Build Coastguard Worker        [], [with_module_directory=/lib/modules])
97*cc4ad7daSAndroid Build Coastguard WorkerAC_SUBST([module_directory], [$with_module_directory])
98*cc4ad7daSAndroid Build Coastguard Worker
99*cc4ad7daSAndroid Build Coastguard Worker# Check all directory arguments for consistency.
100*cc4ad7daSAndroid Build Coastguard Workerfor ac_var in	distconfdir rootlibdir module_directory
101*cc4ad7daSAndroid Build Coastguard Workerdo
102*cc4ad7daSAndroid Build Coastguard Worker  eval ac_val=\$$ac_var
103*cc4ad7daSAndroid Build Coastguard Worker  # Remove trailing slashes.
104*cc4ad7daSAndroid Build Coastguard Worker  case $ac_val in
105*cc4ad7daSAndroid Build Coastguard Worker    */ )
106*cc4ad7daSAndroid Build Coastguard Worker      ac_val=`expr "X$ac_val" : 'X\(.*@<:@^/@:>@\)' \| "X$ac_val" : 'X\(.*\)'`
107*cc4ad7daSAndroid Build Coastguard Worker      eval $ac_var=\$ac_val;;
108*cc4ad7daSAndroid Build Coastguard Worker  esac
109*cc4ad7daSAndroid Build Coastguard Worker  # Be sure to have absolute directory names.
110*cc4ad7daSAndroid Build Coastguard Worker  case $ac_val in
111*cc4ad7daSAndroid Build Coastguard Worker    @<:@\\/$@:>@* | ?:@<:@\\/@:>@* )  continue;;
112*cc4ad7daSAndroid Build Coastguard Worker  esac
113*cc4ad7daSAndroid Build Coastguard Worker  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
114*cc4ad7daSAndroid Build Coastguard Workerdone
115*cc4ad7daSAndroid Build Coastguard Worker
116*cc4ad7daSAndroid Build Coastguard WorkerAC_ARG_WITH([zstd],
117*cc4ad7daSAndroid Build Coastguard Worker	AS_HELP_STRING([--with-zstd], [handle Zstandard-compressed modules @<:@default=disabled@:>@]),
118*cc4ad7daSAndroid Build Coastguard Worker	[], [with_zstd=no])
119*cc4ad7daSAndroid Build Coastguard WorkerAS_IF([test "x$with_zstd" != "xno"], [
120*cc4ad7daSAndroid Build Coastguard Worker	PKG_CHECK_MODULES([libzstd], [libzstd >= 1.4.4], [LIBS="$LIBS $libzstd_LIBS"])
121*cc4ad7daSAndroid Build Coastguard Worker	AC_DEFINE([ENABLE_ZSTD], [1], [Enable Zstandard for modules.])
122*cc4ad7daSAndroid Build Coastguard Worker	module_compressions="zstd $module_compressions"
123*cc4ad7daSAndroid Build Coastguard Worker], [
124*cc4ad7daSAndroid Build Coastguard Worker	AC_MSG_NOTICE([Zstandard support not requested])
125*cc4ad7daSAndroid Build Coastguard Worker])
126*cc4ad7daSAndroid Build Coastguard WorkerCC_FEATURE_APPEND([with_features], [with_zstd], [ZSTD])
127*cc4ad7daSAndroid Build Coastguard Worker
128*cc4ad7daSAndroid Build Coastguard WorkerAC_ARG_WITH([xz],
129*cc4ad7daSAndroid Build Coastguard Worker	AS_HELP_STRING([--with-xz], [handle Xz-compressed modules @<:@default=disabled@:>@]),
130*cc4ad7daSAndroid Build Coastguard Worker	[], [with_xz=no])
131*cc4ad7daSAndroid Build Coastguard WorkerAS_IF([test "x$with_xz" != "xno"], [
132*cc4ad7daSAndroid Build Coastguard Worker	PKG_CHECK_MODULES([liblzma], [liblzma >= 4.99], [LIBS="$LIBS $liblzma_LIBS"])
133*cc4ad7daSAndroid Build Coastguard Worker	AC_DEFINE([ENABLE_XZ], [1], [Enable Xz for modules.])
134*cc4ad7daSAndroid Build Coastguard Worker	module_compressions="xz $module_compressions"
135*cc4ad7daSAndroid Build Coastguard Worker], [
136*cc4ad7daSAndroid Build Coastguard Worker	AC_MSG_NOTICE([Xz support not requested])
137*cc4ad7daSAndroid Build Coastguard Worker])
138*cc4ad7daSAndroid Build Coastguard WorkerCC_FEATURE_APPEND([with_features], [with_xz], [XZ])
139*cc4ad7daSAndroid Build Coastguard Worker
140*cc4ad7daSAndroid Build Coastguard WorkerAC_ARG_WITH([zlib],
141*cc4ad7daSAndroid Build Coastguard Worker	AS_HELP_STRING([--with-zlib], [handle gzipped modules @<:@default=disabled@:>@]),
142*cc4ad7daSAndroid Build Coastguard Worker	[], [with_zlib=no])
143*cc4ad7daSAndroid Build Coastguard WorkerAS_IF([test "x$with_zlib" != "xno"], [
144*cc4ad7daSAndroid Build Coastguard Worker	PKG_CHECK_MODULES([zlib], [zlib], [LIBS="$LIBS $zlib_LIBS"])
145*cc4ad7daSAndroid Build Coastguard Worker	AC_DEFINE([ENABLE_ZLIB], [1], [Enable zlib for modules.])
146*cc4ad7daSAndroid Build Coastguard Worker	module_compressions="gzip $module_compressions"
147*cc4ad7daSAndroid Build Coastguard Worker], [
148*cc4ad7daSAndroid Build Coastguard Worker	AC_MSG_NOTICE([zlib support not requested])
149*cc4ad7daSAndroid Build Coastguard Worker])
150*cc4ad7daSAndroid Build Coastguard WorkerCC_FEATURE_APPEND([with_features], [with_zlib], [ZLIB])
151*cc4ad7daSAndroid Build Coastguard Worker
152*cc4ad7daSAndroid Build Coastguard WorkerAC_ARG_WITH([openssl],
153*cc4ad7daSAndroid Build Coastguard Worker	AS_HELP_STRING([--with-openssl], [handle PKCS7 signatures @<:@default=disabled@:>@]),
154*cc4ad7daSAndroid Build Coastguard Worker	[], [with_openssl=no])
155*cc4ad7daSAndroid Build Coastguard WorkerAS_IF([test "x$with_openssl" != "xno"], [
156*cc4ad7daSAndroid Build Coastguard Worker	PKG_CHECK_MODULES([libcrypto], [libcrypto >= 1.1.0], [LIBS="$LIBS $libcrypto_LIBS"])
157*cc4ad7daSAndroid Build Coastguard Worker	AC_DEFINE([ENABLE_OPENSSL], [1], [Enable openssl for modinfo.])
158*cc4ad7daSAndroid Build Coastguard Worker	module_signatures="PKCS7 $module_signatures"
159*cc4ad7daSAndroid Build Coastguard Worker], [
160*cc4ad7daSAndroid Build Coastguard Worker	AC_MSG_NOTICE([openssl support not requested])
161*cc4ad7daSAndroid Build Coastguard Worker])
162*cc4ad7daSAndroid Build Coastguard WorkerCC_FEATURE_APPEND([with_features], [with_openssl], [LIBCRYPTO])
163*cc4ad7daSAndroid Build Coastguard Worker
164*cc4ad7daSAndroid Build Coastguard WorkerAC_ARG_WITH([bashcompletiondir],
165*cc4ad7daSAndroid Build Coastguard Worker	AS_HELP_STRING([--with-bashcompletiondir=DIR], [Bash completions directory]),
166*cc4ad7daSAndroid Build Coastguard Worker	[],
167*cc4ad7daSAndroid Build Coastguard Worker	[AS_IF([$($PKG_CONFIG --exists bash-completion)], [
168*cc4ad7daSAndroid Build Coastguard Worker		with_bashcompletiondir=$($PKG_CONFIG --variable=completionsdir bash-completion)
169*cc4ad7daSAndroid Build Coastguard Worker	] , [
170*cc4ad7daSAndroid Build Coastguard Worker		with_bashcompletiondir=${datadir}/bash-completion/completions
171*cc4ad7daSAndroid Build Coastguard Worker	])])
172*cc4ad7daSAndroid Build Coastguard WorkerAC_SUBST([bashcompletiondir], [$with_bashcompletiondir])
173*cc4ad7daSAndroid Build Coastguard Worker
174*cc4ad7daSAndroid Build Coastguard Worker#####################################################################
175*cc4ad7daSAndroid Build Coastguard Worker# --enable-
176*cc4ad7daSAndroid Build Coastguard Worker#####################################################################
177*cc4ad7daSAndroid Build Coastguard Worker
178*cc4ad7daSAndroid Build Coastguard WorkerAC_ARG_ENABLE([tools],
179*cc4ad7daSAndroid Build Coastguard Worker        AS_HELP_STRING([--disable-tools], [disable building tools that provide same functionality as module-init-tools @<:@default=enabled@:>@]),
180*cc4ad7daSAndroid Build Coastguard Worker	[], enable_tools=yes)
181*cc4ad7daSAndroid Build Coastguard WorkerAM_CONDITIONAL([BUILD_TOOLS], [test "x$enable_tools" = "xyes"])
182*cc4ad7daSAndroid Build Coastguard Worker
183*cc4ad7daSAndroid Build Coastguard WorkerAC_ARG_ENABLE([manpages],
184*cc4ad7daSAndroid Build Coastguard Worker        AS_HELP_STRING([--disable-manpages], [disable manpages @<:@default=enabled@:>@]),
185*cc4ad7daSAndroid Build Coastguard Worker	[], enable_manpages=yes)
186*cc4ad7daSAndroid Build Coastguard WorkerAM_CONDITIONAL([BUILD_MANPAGES], [test "x$enable_manpages" = "xyes"])
187*cc4ad7daSAndroid Build Coastguard Worker
188*cc4ad7daSAndroid Build Coastguard WorkerAC_ARG_ENABLE([test-modules],
189*cc4ad7daSAndroid Build Coastguard Worker        AS_HELP_STRING([--disable-test-modules], [disable building test modules during make check: cached modules will be used @<:@default=enabled@:>@]),
190*cc4ad7daSAndroid Build Coastguard Worker	[], enable_test_modules=yes)
191*cc4ad7daSAndroid Build Coastguard WorkerAM_CONDITIONAL([BUILD_MODULES], [test "x$enable_test_modules" = "xyes"])
192*cc4ad7daSAndroid Build Coastguard Worker
193*cc4ad7daSAndroid Build Coastguard WorkerAC_ARG_ENABLE([logging],
194*cc4ad7daSAndroid Build Coastguard Worker	AS_HELP_STRING([--disable-logging], [disable system logging @<:@default=enabled@:>@]),
195*cc4ad7daSAndroid Build Coastguard Worker	[], enable_logging=yes)
196*cc4ad7daSAndroid Build Coastguard WorkerAS_IF([test "x$enable_logging" = "xyes"], [
197*cc4ad7daSAndroid Build Coastguard Worker	AC_DEFINE(ENABLE_LOGGING, [1], [System logging.])
198*cc4ad7daSAndroid Build Coastguard Worker])
199*cc4ad7daSAndroid Build Coastguard Worker
200*cc4ad7daSAndroid Build Coastguard WorkerAC_ARG_ENABLE([debug],
201*cc4ad7daSAndroid Build Coastguard Worker	AS_HELP_STRING([--enable-debug], [enable debug messages @<:@default=disabled@:>@]),
202*cc4ad7daSAndroid Build Coastguard Worker	[], [enable_debug=no])
203*cc4ad7daSAndroid Build Coastguard WorkerAS_IF([test "x$enable_debug" = "xyes"], [
204*cc4ad7daSAndroid Build Coastguard Worker	AC_DEFINE(ENABLE_DEBUG, [1], [Debug messages.])
205*cc4ad7daSAndroid Build Coastguard Worker])
206*cc4ad7daSAndroid Build Coastguard Worker
207*cc4ad7daSAndroid Build Coastguard WorkerAC_ARG_ENABLE([coverage],
208*cc4ad7daSAndroid Build Coastguard Worker	AS_HELP_STRING([--enable-coverage], [enable test coverage @<:@default=disabled@:>@]),
209*cc4ad7daSAndroid Build Coastguard Worker	[], [enable_coverage=no])
210*cc4ad7daSAndroid Build Coastguard WorkerAS_IF([test "x$enable_coverage" = "xyes"], [
211*cc4ad7daSAndroid Build Coastguard Worker	AC_CHECK_PROG(have_coverage, [lcov], [yes], [no])
212*cc4ad7daSAndroid Build Coastguard Worker	AS_IF([test "x$have_coverage" = xno],[
213*cc4ad7daSAndroid Build Coastguard Worker		AC_MSG_ERROR([*** lcov support requested but the program was not found])
214*cc4ad7daSAndroid Build Coastguard Worker	], [
215*cc4ad7daSAndroid Build Coastguard Worker		lcov_version_major="`lcov --version | cut -d ' ' -f 4 | cut -d '.' -f 1`"
216*cc4ad7daSAndroid Build Coastguard Worker		lcov_version_minor="`lcov --version | cut -d ' ' -f 4 | cut -d '.' -f 2`"
217*cc4ad7daSAndroid Build Coastguard Worker		AS_IF([test "$lcov_version_major" -lt 1 -o "$lcov_version_minor" -lt 10], [
218*cc4ad7daSAndroid Build Coastguard Worker			AC_MSG_ERROR([*** lcov version is too old. 1.10 required])
219*cc4ad7daSAndroid Build Coastguard Worker		], [
220*cc4ad7daSAndroid Build Coastguard Worker			have_coverage=yes
221*cc4ad7daSAndroid Build Coastguard Worker                        CC_CHECK_FLAGS_APPEND([with_coverage_cflags], [CFLAGS], [\
222*cc4ad7daSAndroid Build Coastguard Worker                        -fprofile-arcs \
223*cc4ad7daSAndroid Build Coastguard Worker                        -ftest-coverage])
224*cc4ad7daSAndroid Build Coastguard Worker		])
225*cc4ad7daSAndroid Build Coastguard Worker        ])
226*cc4ad7daSAndroid Build Coastguard Worker])
227*cc4ad7daSAndroid Build Coastguard WorkerAM_CONDITIONAL([ENABLE_COVERAGE], [test "x$enable_coverage" = "xyes"])
228*cc4ad7daSAndroid Build Coastguard Worker
229*cc4ad7daSAndroid Build Coastguard Workerm4_ifdef([GTK_DOC_CHECK], [
230*cc4ad7daSAndroid Build Coastguard WorkerGTK_DOC_CHECK([1.14],[--flavour no-tmpl-flat])
231*cc4ad7daSAndroid Build Coastguard Worker], [
232*cc4ad7daSAndroid Build Coastguard WorkerAM_CONDITIONAL([ENABLE_GTK_DOC], false)])
233*cc4ad7daSAndroid Build Coastguard Worker
234*cc4ad7daSAndroid Build Coastguard Worker#####################################################################
235*cc4ad7daSAndroid Build Coastguard Worker# Default CFLAGS and LDFLAGS
236*cc4ad7daSAndroid Build Coastguard Worker#####################################################################
237*cc4ad7daSAndroid Build Coastguard Worker
238*cc4ad7daSAndroid Build Coastguard WorkerCC_CHECK_FLAGS_APPEND(with_cflags, [CFLAGS], [\
239*cc4ad7daSAndroid Build Coastguard Worker		       -pipe \
240*cc4ad7daSAndroid Build Coastguard Worker		       -DANOTHER_BRICK_IN_THE \
241*cc4ad7daSAndroid Build Coastguard Worker		       -Wall \
242*cc4ad7daSAndroid Build Coastguard Worker		       -W \
243*cc4ad7daSAndroid Build Coastguard Worker		       -Wextra \
244*cc4ad7daSAndroid Build Coastguard Worker		       -Wno-inline \
245*cc4ad7daSAndroid Build Coastguard Worker		       -Wvla \
246*cc4ad7daSAndroid Build Coastguard Worker		       -Wundef \
247*cc4ad7daSAndroid Build Coastguard Worker		       -Wformat=2 \
248*cc4ad7daSAndroid Build Coastguard Worker		       -Wlogical-op \
249*cc4ad7daSAndroid Build Coastguard Worker		       -Wsign-compare \
250*cc4ad7daSAndroid Build Coastguard Worker		       -Wformat-security \
251*cc4ad7daSAndroid Build Coastguard Worker		       -Wmissing-include-dirs \
252*cc4ad7daSAndroid Build Coastguard Worker		       -Wformat-nonliteral \
253*cc4ad7daSAndroid Build Coastguard Worker		       -Wold-style-definition \
254*cc4ad7daSAndroid Build Coastguard Worker		       -Wpointer-arith \
255*cc4ad7daSAndroid Build Coastguard Worker		       -Winit-self \
256*cc4ad7daSAndroid Build Coastguard Worker		       -Wdeclaration-after-statement \
257*cc4ad7daSAndroid Build Coastguard Worker		       -Wfloat-equal \
258*cc4ad7daSAndroid Build Coastguard Worker		       -Wmissing-prototypes \
259*cc4ad7daSAndroid Build Coastguard Worker		       -Wstrict-prototypes \
260*cc4ad7daSAndroid Build Coastguard Worker		       -Wredundant-decls \
261*cc4ad7daSAndroid Build Coastguard Worker		       -Wmissing-declarations \
262*cc4ad7daSAndroid Build Coastguard Worker		       -Wmissing-noreturn \
263*cc4ad7daSAndroid Build Coastguard Worker		       -Wshadow \
264*cc4ad7daSAndroid Build Coastguard Worker		       -Wendif-labels \
265*cc4ad7daSAndroid Build Coastguard Worker		       -Wstrict-aliasing=3 \
266*cc4ad7daSAndroid Build Coastguard Worker		       -Wwrite-strings \
267*cc4ad7daSAndroid Build Coastguard Worker		       -Wno-long-long \
268*cc4ad7daSAndroid Build Coastguard Worker		       -Wno-overlength-strings \
269*cc4ad7daSAndroid Build Coastguard Worker		       -Wno-unused-parameter \
270*cc4ad7daSAndroid Build Coastguard Worker		       -Wno-missing-field-initializers \
271*cc4ad7daSAndroid Build Coastguard Worker		       -Wno-unused-result \
272*cc4ad7daSAndroid Build Coastguard Worker		       -Wnested-externs \
273*cc4ad7daSAndroid Build Coastguard Worker		       -Wchar-subscripts \
274*cc4ad7daSAndroid Build Coastguard Worker		       -Wtype-limits \
275*cc4ad7daSAndroid Build Coastguard Worker		       -Wuninitialized \
276*cc4ad7daSAndroid Build Coastguard Worker		       -fno-common \
277*cc4ad7daSAndroid Build Coastguard Worker		       -fdiagnostics-show-option \
278*cc4ad7daSAndroid Build Coastguard Worker		       -fvisibility=hidden \
279*cc4ad7daSAndroid Build Coastguard Worker		       -ffunction-sections \
280*cc4ad7daSAndroid Build Coastguard Worker		       -fdata-sections])
281*cc4ad7daSAndroid Build Coastguard WorkerAC_SUBST([OUR_CFLAGS], "$with_cflags $with_coverage_cflags")
282*cc4ad7daSAndroid Build Coastguard Worker
283*cc4ad7daSAndroid Build Coastguard Worker
284*cc4ad7daSAndroid Build Coastguard WorkerCC_CHECK_FLAGS_APPEND([with_ldflags], [LDFLAGS], [ \
285*cc4ad7daSAndroid Build Coastguard Worker		       -Wl,--as-needed \
286*cc4ad7daSAndroid Build Coastguard Worker		       -Wl,--no-undefined \
287*cc4ad7daSAndroid Build Coastguard Worker		       -Wl,--gc-sections])
288*cc4ad7daSAndroid Build Coastguard WorkerAC_SUBST([OUR_LDFLAGS], $with_ldflags)
289*cc4ad7daSAndroid Build Coastguard Worker
290*cc4ad7daSAndroid Build Coastguard WorkerAC_DEFINE_UNQUOTED(KMOD_FEATURES, ["$with_features"], [Features in this build])
291*cc4ad7daSAndroid Build Coastguard Worker
292*cc4ad7daSAndroid Build Coastguard Worker#####################################################################
293*cc4ad7daSAndroid Build Coastguard Worker# Generate files from *.in
294*cc4ad7daSAndroid Build Coastguard Worker#####################################################################
295*cc4ad7daSAndroid Build Coastguard Worker
296*cc4ad7daSAndroid Build Coastguard WorkerAC_SUBST([module_compressions], $module_compressions)
297*cc4ad7daSAndroid Build Coastguard WorkerAC_SUBST([module_signatures], $module_signatures)
298*cc4ad7daSAndroid Build Coastguard Worker
299*cc4ad7daSAndroid Build Coastguard WorkerAC_CONFIG_FILES([
300*cc4ad7daSAndroid Build Coastguard Worker	Makefile
301*cc4ad7daSAndroid Build Coastguard Worker	man/Makefile
302*cc4ad7daSAndroid Build Coastguard Worker	libkmod/docs/Makefile
303*cc4ad7daSAndroid Build Coastguard Worker	libkmod/docs/version.xml
304*cc4ad7daSAndroid Build Coastguard Worker	libkmod/libkmod.pc
305*cc4ad7daSAndroid Build Coastguard Worker	tools/kmod.pc
306*cc4ad7daSAndroid Build Coastguard Worker])
307*cc4ad7daSAndroid Build Coastguard Worker
308*cc4ad7daSAndroid Build Coastguard Worker
309*cc4ad7daSAndroid Build Coastguard Worker#####################################################################
310*cc4ad7daSAndroid Build Coastguard Worker
311*cc4ad7daSAndroid Build Coastguard WorkerAC_OUTPUT
312*cc4ad7daSAndroid Build Coastguard WorkerAC_MSG_RESULT([
313*cc4ad7daSAndroid Build Coastguard Worker	$PACKAGE $VERSION
314*cc4ad7daSAndroid Build Coastguard Worker	=======
315*cc4ad7daSAndroid Build Coastguard Worker
316*cc4ad7daSAndroid Build Coastguard Worker	module_directory:	${module_directory}
317*cc4ad7daSAndroid Build Coastguard Worker	prefix:			${prefix}
318*cc4ad7daSAndroid Build Coastguard Worker	sysconfdir:		${sysconfdir}
319*cc4ad7daSAndroid Build Coastguard Worker	distconfdir:		${distconfdir}
320*cc4ad7daSAndroid Build Coastguard Worker	libdir:			${libdir}
321*cc4ad7daSAndroid Build Coastguard Worker	rootlibdir:		${rootlibdir}
322*cc4ad7daSAndroid Build Coastguard Worker	includedir:		${includedir}
323*cc4ad7daSAndroid Build Coastguard Worker	bindir:			${bindir}
324*cc4ad7daSAndroid Build Coastguard Worker	Bash completions dir:   ${with_bashcompletiondir}
325*cc4ad7daSAndroid Build Coastguard Worker
326*cc4ad7daSAndroid Build Coastguard Worker	compiler:		${CC}
327*cc4ad7daSAndroid Build Coastguard Worker	cflags:			${with_cflags} ${CFLAGS}
328*cc4ad7daSAndroid Build Coastguard Worker	ldflags:		${with_ldflags} ${LDFLAGS}
329*cc4ad7daSAndroid Build Coastguard Worker
330*cc4ad7daSAndroid Build Coastguard Worker	tools:			${enable_tools}
331*cc4ad7daSAndroid Build Coastguard Worker	logging:		${enable_logging}
332*cc4ad7daSAndroid Build Coastguard Worker	compression:		zstd=${with_zstd}  xz=${with_xz}  zlib=${with_zlib}
333*cc4ad7daSAndroid Build Coastguard Worker	debug:			${enable_debug}
334*cc4ad7daSAndroid Build Coastguard Worker	coverage:		${enable_coverage}
335*cc4ad7daSAndroid Build Coastguard Worker	doc:			${enable_gtk_doc}
336*cc4ad7daSAndroid Build Coastguard Worker	man:			${enable_manpages}
337*cc4ad7daSAndroid Build Coastguard Worker	test-modules:           ${enable_test_modules}
338*cc4ad7daSAndroid Build Coastguard Worker
339*cc4ad7daSAndroid Build Coastguard Worker	features:               ${with_features}
340*cc4ad7daSAndroid Build Coastguard Worker])
341