]> git.ipfire.org Git - thirdparty/kmod.git/blob - configure.ac
build-sys: use AS_IF
[thirdparty/kmod.git] / configure.ac
1 AC_PREREQ(2.60)
2 AC_INIT([kmod],
3 [2],
4 [linux-modules@vger.kernel.org],
5 [kmod],
6 [http://git.profusion.mobi/cgit.cgi/kmod.git/])
7
8 AC_CONFIG_SRCDIR([libkmod/libkmod.c])
9 AC_CONFIG_AUX_DIR([build-aux])
10 AM_INIT_AUTOMAKE([check-news foreign 1.11 silent-rules
11 tar-pax no-dist-gzip dist-xz subdir-objects])
12 AC_PROG_CC_STDC
13 AC_USE_SYSTEM_EXTENSIONS
14 AC_SYS_LARGEFILE
15 AC_CONFIG_MACRO_DIR([m4])
16 m4_ifndef([AM_SILENT_RULES], [m4_define([AM_SILENT_RULES],[])])
17 AM_SILENT_RULES([yes])
18 LT_INIT([disable-static pic-only])
19 AC_PREFIX_DEFAULT([/usr])
20
21 AC_PROG_CC
22 AC_PROG_CC_C99
23 AC_C_TYPEOF
24 AM_PROG_CC_C_O
25 AC_PROG_GCC_TRADITIONAL
26 AC_C_BIGENDIAN
27
28 AC_PROG_SED
29 AC_PROG_MKDIR_P
30
31 required_private_libs=""
32
33 AC_ARG_WITH([rootprefix],
34 AS_HELP_STRING([--with-rootprefix=DIR], [rootfs directory prefix for config files and kernel modules]),
35 [], [with_rootprefix=""])
36 AC_SUBST([rootprefix], [$with_rootprefix])
37
38 AC_ARG_WITH([rootlibdir],
39 AS_HELP_STRING([--with-rootlibdir=DIR], [rootfs directory to install shared libraries]),
40 [], [with_rootlibdir=$libdir])
41 AC_SUBST([rootlibdir], [$with_rootlibdir])
42
43 AC_ARG_ENABLE([tools],
44 AS_HELP_STRING([--disable-tools], [disable building tools that provide same functionality as module-init-tools @<:@default=enabled@:>@]),
45 [], enable_tools=yes)
46 AM_CONDITIONAL([BUILD_TOOLS], [test "x$enable_tools" = "xyes"])
47
48 AC_ARG_ENABLE([logging],
49 AS_HELP_STRING([--disable-logging], [disable system logging @<:@default=enabled@:>@]),
50 [], enable_logging=yes)
51 AS_IF([test "x$enable_logging" = "xyes"], [
52 AC_DEFINE(ENABLE_LOGGING, [1], [System logging.])
53 ])
54
55 AC_ARG_ENABLE([zlib],
56 AS_HELP_STRING([--enable-zlib], [handle gzipped modules @<:@default=disabled@:>@]),
57 [], enable_zlib=no)
58 AS_IF([test "x$enable_zlib" != "xno"], [
59 AC_CHECK_LIB([z], [gzopen], [
60 zlib_libs="-lz"
61 required_private_libs="${required_private_libs} ${zlib_libs}"
62 AC_DEFINE(ENABLE_ZLIB, [1], [Enable zlib for modules.])
63 AC_SUBST(zlib_libs)
64 ],
65 [AC_MSG_ERROR([zlib is not present])
66 ])
67 ], [
68 AC_MSG_NOTICE([zlib support not requested])
69 zlib_libs=""
70 ])
71
72 AC_ARG_ENABLE([debug],
73 AS_HELP_STRING([--enable-debug], [enable debug messages @<:@default=disabled@:>@]),
74 [], [enable_debug=no])
75 AS_IF([test "x$enable_debug" = "xyes"], [
76 AC_DEFINE(ENABLE_DEBUG, [1], [Debug messages.])
77 ])
78
79 CC_CHECK_CFLAGS_APPEND([ \
80 -pipe \
81 -DANOTHER_BRICK_IN_THE \
82 -Wall \
83 -W \
84 -Wextra \
85 -Wno-inline \
86 -Wvla \
87 -Wundef \
88 -Wformat=2 \
89 -Wlogical-op \
90 -Wsign-compare \
91 -Wformat-security \
92 -Wmissing-include-dirs \
93 -Wformat-nonliteral \
94 -Wold-style-definition \
95 -Wpointer-arith \
96 -Winit-self \
97 -Wdeclaration-after-statement \
98 -Wfloat-equal \
99 -Wmissing-prototypes \
100 -Wstrict-prototypes \
101 -Wredundant-decls \
102 -Wmissing-declarations \
103 -Wmissing-noreturn \
104 -Wshadow \
105 -Wendif-labels \
106 -Wstrict-aliasing=2 \
107 -Wwrite-strings \
108 -Wno-long-long \
109 -Wno-overlength-strings \
110 -Wno-unused-parameter \
111 -Wno-missing-field-initializers \
112 -Wno-unused-result \
113 -Wnested-externs \
114 -Wchar-subscripts \
115 -Wtype-limits \
116 -Wuninitialized \
117 -fno-common \
118 -fdiagnostics-show-option \
119 -fvisibility=hidden \
120 -ffunction-sections \
121 -fdata-sections \
122 -Wl,--as-needed \
123 -Wl,--gc-sections])
124
125
126 AC_SUBST(required_private_libs)
127
128 AC_CONFIG_HEADERS(config.h)
129 AC_CONFIG_FILES([
130 Makefile
131 ])
132
133 AC_OUTPUT
134 AC_MSG_RESULT([
135 $PACKAGE $VERSION
136 ========
137
138 prefix: ${prefix}
139 rootprefix: ${rootprefix}
140 sysconfdir: ${sysconfdir}
141 libdir: ${libdir}
142 rootlibdir: ${rootlibdir}
143 includedir: ${includedir}
144 bindir: ${bindir}
145
146 compiler: ${CC}
147 cflags: ${CFLAGS}
148 ldflags: ${LDFLAGS}
149
150 tools: ${enable_tools}
151 logging: ${enable_logging}
152 zlib: ${enable_zlib}
153 debug: ${enable_debug}
154 ])