]>
Commit | Line | Data |
---|---|---|
034d378b | 1 | AC_INIT([util-linux], |
38c75b59 | 2 | m4_esyscmd([tools/git-version-gen .tarball-version]), |
5564a8c7 SK |
3 | [kzak@redhat.com],, |
4 | [http://www.kernel.org/pub/linux/utils/util-linux/]) | |
baf39af1 | 5 | |
b0e6b25e | 6 | |
034d378b | 7 | AC_PREREQ([2.60]) |
48d7b13a | 8 | |
034d378b | 9 | AC_CONFIG_AUX_DIR([config]) |
b12991dd | 10 | AC_CONFIG_MACRO_DIR([m4]) |
eaf70198 SK |
11 | dnl AC_USE_SYSTEM_EXTENSIONS must be called before any macros that run |
12 | dnl the compiler (like AC_PROG_LIBTOOL) to avoid autoconf errors. | |
13 | AC_USE_SYSTEM_EXTENSIONS | |
333034f6 | 14 | AM_INIT_AUTOMAKE([-Wall foreign 1.10 tar-pax dist-bzip2 no-dist-gzip dist-xz -Wno-portability subdir-objects]) |
48d7b13a | 15 | |
eb35c251 | 16 | m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])], |
f06b4328 | 17 | [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])]) |
eb35c251 | 18 | |
034d378b | 19 | AC_CONFIG_SRCDIR([sys-utils/mount.c]) |
15a9b48c SK |
20 | AC_PREFIX_DEFAULT([/usr]) |
21 | ||
33b0be6d KZ |
22 | dnl version details from <major>.<minor>[-<suffix>] |
23 | PACKAGE_VERSION_MAJOR=$(echo $PACKAGE_VERSION | awk -F. '{print $1}') | |
24 | PACKAGE_VERSION_MINOR=$(echo $PACKAGE_VERSION | awk -F. '{print $2}' \ | |
f06b4328 | 25 | | awk -F- '{print $1}') |
b0e6b25e KZ |
26 | |
27 | PACKAGE_VERSION_RELEASE=$(echo $PACKAGE_VERSION | awk -F. '{print $3}' \ | |
28 | | sed 's/.*@<:@^@<:@:digit:@:>@@:>@.*/0/') | |
29 | ||
a0948ffe | 30 | |
33b0be6d KZ |
31 | dnl libblkid version |
32 | LIBBLKID_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE" | |
cd150a42 | 33 | LIBBLKID_DATE="07-Sep-2015" |
dc2b8d87 KZ |
34 | LIBBLKID_LT_MAJOR=1 |
35 | LIBBLKID_LT_MINOR=1 | |
36 | LIBBLKID_LT_MICRO=0 | |
37 | LIBBLKID_VERSION_INFO=`expr $LIBBLKID_LT_MAJOR + $LIBBLKID_LT_MINOR`:$LIBBLKID_LT_MICRO:$LIBBLKID_LT_MINOR | |
a0948ffe | 38 | |
f6076f55 KZ |
39 | dnl libuuid version |
40 | LIBUUID_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE" | |
dc2b8d87 KZ |
41 | LIBUUID_LT_MAJOR=1 |
42 | LIBUUID_LT_MINOR=3 | |
43 | LIBUUID_LT_MICRO=0 | |
44 | LIBUUID_VERSION_INFO=`expr $LIBUUID_LT_MAJOR + $LIBUUID_LT_MINOR`:$LIBUUID_LT_MICRO:$LIBUUID_LT_MINOR | |
f6076f55 | 45 | |
f1cde479 KZ |
46 | dnl libmount version |
47 | LIBMOUNT_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE" | |
48 | LIBMOUNT_LT_MAJOR=1 | |
49 | LIBMOUNT_LT_MINOR=1 | |
50 | LIBMOUNT_LT_MICRO=0 | |
51 | LIBMOUNT_VERSION_INFO=`expr $LIBMOUNT_LT_MAJOR + $LIBMOUNT_LT_MINOR`:$LIBMOUNT_LT_MICRO:$LIBMOUNT_LT_MINOR | |
52 | ||
1a4d989e OO |
53 | dnl libsmartcols version |
54 | LIBSMARTCOLS_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE" | |
55 | LIBSMARTCOLS_LT_MAJOR=1 | |
56 | LIBSMARTCOLS_LT_MINOR=1 | |
57 | LIBSMARTCOLS_LT_MICRO=0 | |
58 | LIBSMARTCOLS_VERSION_INFO=`expr $LIBSMARTCOLS_LT_MAJOR + $LIBSMARTCOLS_LT_MINOR`:$LIBSMARTCOLS_LT_MICRO:$LIBSMARTCOLS_LT_MINOR | |
59 | ||
0bb4c979 KZ |
60 | dnl libfdisk version |
61 | LIBFDISK_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE" | |
62 | LIBFDISK_LT_MAJOR=1 | |
63 | LIBFDISK_LT_MINOR=1 | |
64 | LIBFDISK_LT_MICRO=0 | |
65 | LIBFDISK_VERSION_INFO=`expr $LIBFDISK_LT_MAJOR + $LIBFDISK_LT_MINOR`:$LIBFDISK_LT_MICRO:$LIBFDISK_LT_MINOR | |
66 | ||
15a9b48c | 67 | # Check whether exec_prefix=/usr: |
9f57e6e8 SK |
68 | AS_CASE([$exec_prefix:$prefix], |
69 | [NONE:NONE | NONE:/usr | /usr:*], | |
70 | [AC_MSG_NOTICE([Default --exec-prefix detected.]) | |
17794746 KZ |
71 | AS_CASE([$bindir], ['${exec_prefix}/bin'], [bindir=/bin; AC_MSG_NOTICE([ --bindir defaults to /bin]) ]) |
72 | AS_CASE([$sbindir], ['${exec_prefix}/sbin'], [sbindir=/sbin; AC_MSG_NOTICE([ --sbindir defaults to /sbin])]) | |
73 | AS_CASE([$libdir], ['${exec_prefix}/lib'], [libdir=/lib; AC_MSG_NOTICE([ --libdir defaults to /lib]) ]) | |
9f57e6e8 SK |
74 | ] |
75 | ) | |
76 | ||
77 | AS_CASE([$prefix:$localstatedir], | |
3745d4a9 | 78 | [NONE:'${prefix}/var' | /usr:'${prefix}/var'], |
9f57e6e8 SK |
79 | [localstatedir=/run |
80 | AC_MSG_NOTICE([ --localstatedir defaults to /run]) | |
81 | ] | |
82 | ) | |
11935cd3 | 83 | AC_SUBST([localstatedir]) |
07a16b9d | 84 | |
b0a0d7d5 | 85 | |
996fb358 | 86 | # The original default values of {bin,sbin,lib}dir |
aaf3e8f5 | 87 | usrbin_execdir='${exec_prefix}/bin' |
30688dde | 88 | AC_SUBST([usrbin_execdir]) |
996fb358 | 89 | |
aaf3e8f5 | 90 | usrsbin_execdir='${exec_prefix}/sbin' |
30688dde | 91 | AC_SUBST([usrsbin_execdir]) |
996fb358 | 92 | |
9f57e6e8 | 93 | AS_CASE([$libdir], |
b2b61efc | 94 | ['${exec_prefix}/'* | '${prefix}/'* | /usr/* | "${prefix}"/* ], |
9f57e6e8 SK |
95 | [usrlib_execdir=$libdir], |
96 | [usrlib_execdir='${exec_prefix}'$libdir] | |
97 | ) | |
30688dde | 98 | AC_SUBST([usrlib_execdir]) |
996fb358 | 99 | |
bdf5f542 | 100 | |
31c9c1c4 | 101 | AM_PROG_CC_C_O |
48d7b13a | 102 | AC_PROG_CC_STDC |
a6996860 | 103 | AC_CANONICAL_HOST |
85b4c147 | 104 | AC_C_CONST |
e79829db | 105 | AC_C_VOLATILE |
fbaec83b | 106 | AC_C_BIGENDIAN |
b12991dd | 107 | |
0e60bc9b | 108 | dnl Compiler warnings |
b1b54edf | 109 | UL_WARN_ADD([-fno-common]) |
9dc72d0b | 110 | UL_WARN_ADD([-Wall]) |
b1b54edf | 111 | UL_WARN_ADD([-Werror=sequence-point]) |
0e60bc9b | 112 | UL_WARN_ADD([-Wextra]) |
4230d576 KZ |
113 | UL_WARN_ADD([-Wextra-semi]) |
114 | UL_WARN_ADD([-Wembedded-directive]) | |
b1b54edf KZ |
115 | UL_WARN_ADD([-Wmissing-declarations]) |
116 | UL_WARN_ADD([-Wmissing-parameter-type]) | |
117 | UL_WARN_ADD([-Wmissing-prototypes]) | |
0e60bc9b | 118 | UL_WARN_ADD([-Wno-missing-field-initializers]) |
b1b54edf | 119 | UL_WARN_ADD([-Wredundant-decls]) |
0e60bc9b KZ |
120 | UL_WARN_ADD([-Wsign-compare]) |
121 | UL_WARN_ADD([-Wtype-limits]) | |
122 | UL_WARN_ADD([-Wuninitialized]) | |
b1b54edf KZ |
123 | UL_WARN_ADD([-Wunused-but-set-parameter]) |
124 | UL_WARN_ADD([-Wunused-but-set-variable]) | |
0e60bc9b | 125 | UL_WARN_ADD([-Wunused-parameter]) |
0e60bc9b | 126 | UL_WARN_ADD([-Wunused-result]) |
bec5c9db | 127 | UL_WARN_ADD([-Wunused-variable]) |
dcd33c3e KZ |
128 | UL_WARN_ADD([-Wnested-externs]) |
129 | UL_WARN_ADD([-Wpointer-arith]) | |
130 | UL_WARN_ADD([-Wstrict-prototypes]) | |
131 | UL_WARN_ADD([-Wformat-security]) | |
d79654f4 | 132 | UL_WARN_ADD([-Wimplicit-function-declaration]) |
0e60bc9b KZ |
133 | AC_SUBST([WARN_CFLAGS]) |
134 | ||
034d378b | 135 | UL_WARN_ADD([-Wno-clobbered], [BSD_WARN_CFLAGS]) |
7697771d KZ |
136 | AC_SUBST([BSD_WARN_CFLAGS]) |
137 | ||
b12991dd KZ |
138 | dnl libtool-2 |
139 | LT_INIT | |
48d7b13a | 140 | |
fd0f4132 SK |
141 | m4_ifndef([PKG_PROG_PKG_CONFIG], |
142 | [m4_fatal([Could not locate the pkg-config autoconf | |
143 | macros. These are usually located in /usr/share/aclocal/pkg.m4. | |
144 | If your macros are in a different location, try setting the | |
145 | environment variable AL_OPTS="-I/other/macro/dir" before running | |
146 | ./autogen.sh or autoreconf again.])]) | |
d06d028a KZ |
147 | PKG_PROG_PKG_CONFIG |
148 | ||
22aa5166 KZ |
149 | GTK_DOC_CHECK([1.10]) |
150 | AC_PATH_PROG([XSLTPROC], [xsltproc]) | |
151 | ||
8026fa9b | 152 | |
8c182554 | 153 | linux_os=no |
8026fa9b KZ |
154 | bsd_os=no |
155 | AS_CASE([${host_os}], | |
156 | [*linux*], | |
157 | [linux_os=yes], | |
158 | [*bsd*], | |
159 | [bsd_os=yes]) | |
034d378b | 160 | AM_CONDITIONAL([LINUX], [test "x$linux_os" = xyes]) |
8026fa9b KZ |
161 | AM_CONDITIONAL([BSD], [test "x$bsd_os" = xyes]) |
162 | ||
8c182554 | 163 | |
3c6e292c | 164 | dnl define ARCH_<NAME> conditionals |
034d378b SK |
165 | UL_SET_ARCH([I86], [i?86-*]) |
166 | UL_SET_ARCH([86_64], [x86_64*]) | |
167 | UL_SET_ARCH([IA64], [ia64*]) | |
168 | UL_SET_ARCH([S390], [s390*]) | |
169 | UL_SET_ARCH([SPARC], [sparc*]) | |
170 | UL_SET_ARCH([PPC], [ppc*|powerpc*]) | |
171 | UL_SET_ARCH([M68K], [m68*]) | |
172 | UL_SET_ARCH([MIPS], [mips*]) | |
173 | UL_SET_ARCH([HPPA], [hppa*]) | |
3c6e292c | 174 | |
48d7b13a | 175 | AC_SYS_LARGEFILE |
2c656779 | 176 | AC_HEADER_ASSERT |
48d7b13a | 177 | |
f8d75a66 | 178 | dnl Don't forget to maintain alternatively allowed versions in autogen.sh! |
91c520bc | 179 | AM_GNU_GETTEXT_VERSION([0.18.3]) |
09734b00 | 180 | AM_GNU_GETTEXT([external]) |
3013eb9d SK |
181 | |
182 | AS_IF([test -d "$srcdir/po"], [ | |
183 | ALL_LINGUAS=`cd $srcdir/po > /dev/null && echo *.po | sed 's/\.po//g'` | |
184 | ], [ | |
185 | ALL_LINGUAS="af am ar as be bg bn_IN bn ca cs cy da de el en_GB es et eu_ES fa fi fr gl gu he hi hr hu hy id is it ja ka kn ko ku lo lt lv mk ml mr ms my nb nl nn no nso or pa pl pt_BR pt ro ru si sk sl sq sr@Latn sr sv ta te th tr uk ur vi zh_CN zh_TW zu" | |
186 | ]) | |
09734b00 | 187 | |
e460a5bf | 188 | AC_CHECK_HEADERS([linux/compiler.h linux/blkpg.h linux/major.h], [], [], [ |
48d7b13a KZ |
189 | #ifdef HAVE_LINUX_COMPILER_H |
190 | #include <linux/compiler.h> | |
191 | #endif | |
192 | ]) | |
f06b4328 SK |
193 | AC_CHECK_HEADERS([ \ |
194 | asm/io.h \ | |
195 | err.h \ | |
a0948ffe | 196 | errno.h \ |
f06b4328 | 197 | fcntl.h \ |
a0948ffe | 198 | getopt.h \ |
f06b4328 | 199 | inttypes.h \ |
5a971329 | 200 | linux/btrfs.h \ |
f06b4328 SK |
201 | linux/cdrom.h \ |
202 | linux/falloc.h \ | |
5b0289b9 | 203 | linux/watchdog.h \ |
a0948ffe | 204 | linux/fd.h \ |
f06b4328 | 205 | linux/raw.h \ |
a0948ffe | 206 | linux/tiocl.h \ |
8596f639 | 207 | linux/gsmmux.h \ |
a0948ffe | 208 | linux/version.h \ |
48469f90 | 209 | linux/securebits.h \ |
8b7f16fc | 210 | locale.h \ |
607c2a72 | 211 | mntent.h \ |
f06b4328 | 212 | net/if.h \ |
754fed0c | 213 | net/if_dl.h \ |
f06b4328 SK |
214 | netinet/in.h \ |
215 | paths.h \ | |
216 | pty.h \ | |
fe2c9909 | 217 | security/pam_appl.h \ |
f06b4328 | 218 | stdint.h \ |
78288764 | 219 | stdio_ext.h \ |
a0948ffe | 220 | stdlib.h \ |
1a1eb4e1 KZ |
221 | endian.h \ |
222 | byteswap.h \ | |
223 | sys/endian.h \ | |
a0948ffe KZ |
224 | sys/disk.h \ |
225 | sys/disklabel.h \ | |
f06b4328 | 226 | sys/file.h \ |
bf962c0a | 227 | sys/io.h \ |
f06b4328 SK |
228 | sys/ioccom.h \ |
229 | sys/ioctl.h \ | |
a0948ffe | 230 | sys/mkdev.h \ |
4ebac79f | 231 | sys/param.h \ |
a0948ffe KZ |
232 | sys/prctl.h \ |
233 | sys/queue.h \ | |
f06b4328 | 234 | sys/resource.h \ |
2a7c1f70 | 235 | sys/socket.h \ |
f06b4328 | 236 | sys/sockio.h \ |
a0948ffe | 237 | sys/stat.h \ |
f06b4328 SK |
238 | sys/swap.h \ |
239 | sys/syscall.h \ | |
240 | sys/time.h \ | |
87ee2658 | 241 | sys/timex.h \ |
00c505d9 | 242 | sys/ttydefaults.h \ |
a0948ffe | 243 | sys/types.h \ |
754fed0c | 244 | sys/un.h \ |
f06b4328 SK |
245 | unistd.h \ |
246 | ]) | |
dc61d398 | 247 | |
fe2c9909 WJ |
248 | AC_CHECK_HEADERS([security/pam_misc.h], |
249 | [AM_CONDITIONAL([HAVE_LINUXPAM], [true])], | |
250 | [AM_CONDITIONAL([HAVE_LINUXPAM], [false])], [ | |
251 | #ifdef HAVE_SECURITY_PAM_APPL_H | |
252 | #include <security/pam_appl.h> | |
253 | #endif | |
254 | ]) | |
255 | ||
256 | AC_CHECK_HEADERS([security/openpam.h], [], [], [ | |
257 | #ifdef HAVE_SECURITY_PAM_APPL_H | |
258 | #include <security/pam_appl.h> | |
259 | #endif | |
260 | ]) | |
261 | ||
a67387b7 KZ |
262 | AC_CHECK_HEADERS([langinfo.h], |
263 | [AM_CONDITIONAL([HAVE_LANGINFO], [true])], | |
264 | [AM_CONDITIONAL([HAVE_LANGINFO], [false])]) | |
265 | ||
16ba8d58 KZ |
266 | dnl Convert some ac_cv_header_* variables to have_* |
267 | dnl | |
5a971329 | 268 | have_linux_btrfs_h=$ac_cv_header_linux_btrfs_h |
16ba8d58 | 269 | have_linux_raw_h=$ac_cv_header_linux_raw_h |
48469f90 | 270 | have_linux_securebits_h=$ac_cv_header_linux_securebits_h |
5b0289b9 | 271 | have_linux_watchdog_h=$ac_cv_header_linux_watchdog_h |
fe2c9909 | 272 | have_security_pam_appl_h=$ac_cv_header_security_pam_appl_h |
ff0cb84d | 273 | have_security_pam_misc_h=$ac_cv_header_security_pam_misc_h |
fe2c9909 | 274 | have_security_openpam_h=$ac_cv_header_security_openpam_h |
a67387b7 KZ |
275 | |
276 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | |
277 | #include <time.h> | |
278 | #include <unistd.h> | |
279 | ]], [[ | |
280 | int a = 0; | |
281 | struct tm *tm = localtime(0); | |
282 | if (a == -1) /* false */ | |
f06b4328 | 283 | sleep(tm->tm_gmtoff); |
a67387b7 | 284 | ]])], |
034d378b | 285 | [AC_DEFINE([HAVE_TM_GMTOFF], [1], [Does struct tm have a field tm_gmtoff?]) |
a67387b7 KZ |
286 | ]) |
287 | ||
288 | AC_CHECK_MEMBERS([struct termios.c_line],,, | |
289 | [[#include <termios.h>]]) | |
290 | ||
291 | AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec],,, | |
292 | [#include <sys/stat.h>]) | |
293 | ||
a67387b7 KZ |
294 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM( |
295 | [[ | |
296 | #ifdef HAVE_SYS_SWAP_H | |
297 | # include <sys/swap.h> | |
298 | #endif | |
299 | #include <unistd.h> | |
300 | ]], | |
301 | [[swapon("/dev/null", 0);]])], | |
034d378b | 302 | [AC_DEFINE([SWAPON_HAS_TWO_ARGS], [1], [Is swapon() declared with two parameters?]) |
a67387b7 KZ |
303 | ], |
304 | [AC_MSG_NOTICE([Your libc thinks that swapon has 1 arg only.]) | |
305 | ]) | |
dc61d398 KZ |
306 | |
307 | ||
a88057d9 TP |
308 | AC_CHECK_DECLS([_NL_TIME_WEEK_1STDAY],[],[],[[#include <langinfo.h>]]) |
309 | ||
2a7c1f70 | 310 | AC_CHECK_DECL([llseek], |
034d378b | 311 | [AC_DEFINE([HAVE_LLSEEK_PROTOTYPE], [1], |
2a7c1f70 KZ |
312 | [Define to 1 if have llseek prototype])], |
313 | [], | |
314 | [#include <unistd.h>]) | |
315 | ||
316 | AC_CHECK_DECL([lseek64], | |
034d378b | 317 | [AC_DEFINE([HAVE_LSEEK64_PROTOTYPE], [1], |
2a7c1f70 KZ |
318 | [Define to 1 if have lseek64 prototype])], |
319 | [], | |
320 | [#define _LARGEFILE_SOURCE | |
321 | #define _LARGEFILE64_SOURCE | |
322 | #include <unistd.h>]) | |
323 | ||
0e9b73d3 | 324 | AC_CHECK_DECL([environ], |
034d378b | 325 | [AC_DEFINE([HAVE_ENVIRON_DECL], [1], |
0e9b73d3 SK |
326 | [Define to 1 if have **environ prototype])], |
327 | ) | |
328 | ||
329 | AC_CHECK_DECL([strsignal], | |
034d378b | 330 | [AC_DEFINE([HAVE_STRSIGNAL_DECL], [1], |
0e9b73d3 SK |
331 | [Define to 1 if have strsignal function prototype])], |
332 | ) | |
333 | ||
f06b4328 | 334 | AC_CHECK_FUNCS([ \ |
78288764 | 335 | __fpending \ |
075f4bfd | 336 | secure_getenv \ |
f06b4328 | 337 | __secure_getenv \ |
eb76ca98 FG |
338 | err \ |
339 | errx \ | |
bf962c0a | 340 | fsync \ |
473c5fb8 | 341 | utimensat \ |
bf962c0a | 342 | getdomainname \ |
f06b4328 SK |
343 | getdtablesize \ |
344 | getexecname \ | |
345 | getmntinfo \ | |
346 | getrlimit \ | |
c829aebc | 347 | getsgnam \ |
f06b4328 | 348 | inotify_init \ |
3ac22f7a | 349 | jrand48 \ |
bf962c0a | 350 | lchown \ |
a0948ffe KZ |
351 | llseek \ |
352 | lseek64 \ | |
02887b73 | 353 | mempcpy \ |
f06b4328 | 354 | nanosleep \ |
7d3a07d8 | 355 | ntp_gettime \ |
f06b4328 SK |
356 | personality \ |
357 | posix_fadvise \ | |
358 | prctl \ | |
9c7955da | 359 | qsort_r \ |
f06b4328 | 360 | rpmatch \ |
485a8bfa | 361 | scandirat \ |
69045d3d KZ |
362 | setresgid \ |
363 | setresuid \ | |
15167589 | 364 | sched_setattr \ |
f06b4328 SK |
365 | sigqueue \ |
366 | srandom \ | |
367 | strnchr \ | |
69b7e41e KZ |
368 | strndup \ |
369 | strnlen \ | |
f06b4328 | 370 | sysconf \ |
88e0f3df | 371 | sysinfo \ |
f06b4328 SK |
372 | updwtmp \ |
373 | usleep \ | |
eb76ca98 FG |
374 | warn \ |
375 | warnx \ | |
f06b4328 | 376 | ]) |
48d7b13a | 377 | AC_FUNC_FSEEKO |
48d7b13a | 378 | |
940fd28c | 379 | AC_CHECK_FUNCS([openat fstatat unlinkat], [have_openat=yes], [have_openat=no]) |
465e9973 | 380 | AC_CHECK_FUNCS([ioperm iopl], [have_io=yes]) |
90d5285d KZ |
381 | AC_CHECK_FUNCS([futimens], [have_futimens=yes]) |
382 | AC_CHECK_FUNCS([inotify_init1], [have_inotify_init1=yes]) | |
f9c4d138 | 383 | AC_CHECK_FUNCS([open_memstream], [have_open_memstream=yes],[have_open_memstream=no]) |
e52b58e6 | 384 | AC_CHECK_FUNCS([reboot], [have_reboot=yes],[have_reboot=no]) |
465e9973 | 385 | |
378543e1 | 386 | dnl lib/mononotic.c may require -lrt |
254743e4 KZ |
387 | AC_CHECK_FUNCS([clock_gettime], [], |
388 | [AC_CHECK_LIB([rt], [clock_gettime], [REALTIME_LIBS="-lrt"])] | |
389 | ) | |
bd9b94d1 | 390 | |
254743e4 | 391 | have_timer="no" |
f07a82c9 | 392 | AC_CHECK_FUNCS([timer_create], |
254743e4 KZ |
393 | [have_time="yes"], |
394 | [AC_CHECK_LIB([rt], [timer_create], [ | |
395 | have_timer="yes" | |
396 | REALTIME_LIBS="-lrt" | |
bf6be9f5 LT |
397 | ],[ |
398 | AC_SEARCH_LIBS([timer_create], [rt], [ | |
399 | AC_MSG_RESULT(yes) | |
400 | have_timer="yes" | |
401 | REALTIME_LIBS="-lrt -lpthread" | |
402 | ],[], [-lpthread] | |
403 | ) | |
404 | ])] | |
254743e4 | 405 | ) |
8fc4a886 | 406 | |
f07a82c9 KZ |
407 | AC_SUBST([REALTIME_LIBS]) |
408 | ||
409 | ||
410 | AC_CHECK_LIB([rtas], [rtas_get_sysparm], [ | |
411 | RTAS_LIBS="-lrtas" | |
412 | AC_DEFINE_UNQUOTED([HAVE_LIBRTAS], [1], [Define if librtas exists]), [], | |
413 | ]) | |
414 | AC_SUBST([RTAS_LIBS]) | |
415 | ||
8fc4a886 | 416 | |
034d378b SK |
417 | AC_CHECK_MEMBER([struct sockaddr.sa_len], |
418 | AC_DEFINE_UNQUOTED([HAVE_SA_LEN], [1], [Define if struct sockaddr contains sa_len]), [], | |
754fed0c KZ |
419 | [#include <sys/types.h> |
420 | #include <sys/socket.h>]) | |
421 | ||
60cc9f94 | 422 | SOCKET_LIBS= |
60cc9f94 | 423 | AC_SEARCH_LIBS([socket], [socket], |
3013eb9d SK |
424 | [AS_IF([test x"$ac_cv_search_socket" != x"none required"], |
425 | [SOCKET_LIBS="$SOCKET_LIBS -lsocket"]) | |
426 | ]) | |
60cc9f94 FG |
427 | AC_SUBST([SOCKET_LIBS]) |
428 | ||
d58c47d9 FG |
429 | |
430 | have_dirfd=no | |
431 | AC_CHECK_FUNCS([dirfd], [have_dirfd=yes], [have_dirfd=no]) | |
3013eb9d | 432 | AS_IF([test x"$have_dirfd" = xno], [ |
d58c47d9 FG |
433 | AC_CHECK_DECLS([dirfd], |
434 | [have_dirfd=yes], [have_dirfd=no], | |
435 | [#include <sys/types.h> | |
436 | #include <dirent.h>]) | |
3013eb9d | 437 | ]) |
d58c47d9 FG |
438 | |
439 | have_ddfd=no | |
3013eb9d | 440 | AS_IF([test x"$have_dirfd" = xno], [ |
d58c47d9 FG |
441 | AC_CHECK_MEMBERS([DIR.dd_fd], |
442 | [have_ddfd=yes], [have_ddfd=no], | |
443 | [#include <sys/types.h> | |
444 | #include <dirent.h>]) | |
3013eb9d | 445 | ]) |
d58c47d9 | 446 | |
9f57e6e8 SK |
447 | AS_CASE([$have_dirfd:$have_ddfd], |
448 | [no:no], | |
449 | [AC_MSG_ERROR([cannot find a method to get filedescriptor of directory])] | |
450 | ) | |
d58c47d9 FG |
451 | |
452 | ||
d6abf168 SK |
453 | AC_MSG_CHECKING([whether program_invocation_short_name is defined]) |
454 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | |
37edac9a | 455 | #include <errno.h> |
d6abf168 SK |
456 | ]], [[ |
457 | program_invocation_short_name = "test"; | |
458 | ]])], [ | |
459 | AC_MSG_RESULT([yes]) | |
460 | AC_DEFINE([HAVE_PROGRAM_INVOCATION_SHORT_NAME], [1], | |
461 | [Define if program_invocation_short_name is defined]) | |
462 | ], [ | |
463 | AC_MSG_RESULT([no]) | |
464 | ]) | |
465 | ||
a804f444 FG |
466 | |
467 | AC_MSG_CHECKING([whether __progname is defined]) | |
468 | AC_LINK_IFELSE([AC_LANG_PROGRAM([extern char *__progname;], | |
f06b4328 | 469 | [if (*__progname == 0) return;])], |
034d378b SK |
470 | AC_DEFINE([HAVE___PROGNAME], [1], [Define if __progname is defined]) |
471 | AC_MSG_RESULT([yes]), | |
472 | AC_MSG_RESULT([no])) | |
a804f444 | 473 | |
8569410c | 474 | dnl Static compilation |
fddfd4e0 | 475 | m4_define([UL_STATIC_PROGRAMS], [losetup, mount, umount, fdisk, sfdisk, blkid, nsenter, unshare]) |
8569410c SK |
476 | |
477 | AC_ARG_ENABLE([static-programs], | |
478 | [AS_HELP_STRING([--enable-static-programs=LIST], | |
479 | [link static the programs in LIST (comma-separated, | |
132ea941 | 480 | supported for ]m4_defn([UL_STATIC_PROGRAMS])[)])]) |
8569410c | 481 | |
9f57e6e8 SK |
482 | AS_CASE([$enable_static_programs], |
483 | [yes], | |
d924b10b | 484 | [enable_static_programs=m4_quote(UL_STATIC_PROGRAMS)], |
9f57e6e8 SK |
485 | [no], |
486 | [enable_static_programs=] | |
487 | ) | |
8569410c | 488 | |
8569410c | 489 | dnl Set all the individual AM_CONDITIONALs |
132ea941 | 490 | m4_foreach([UL_PRG], m4_defn([UL_STATIC_PROGRAMS]), [ |
9f57e6e8 SK |
491 | AS_CASE([,$enable_static_programs,], |
492 | [*,UL_PRG,*], [static_[]UL_PRG=yes] | |
493 | ) | |
d924b10b | 494 | AS_IF([test "x$static_[]UL_PRG" = xyes], [AC_MSG_NOTICE([enable static build: UL_PRG.])]) |
132ea941 KZ |
495 | AM_CONDITIONAL([HAVE_STATIC_]m4_toupper(UL_PRG), |
496 | [test "x$static_[]UL_PRG" = xyes]) | |
8569410c SK |
497 | ]) |
498 | ||
08b1c219 KZ |
499 | |
500 | AC_ARG_ENABLE([all-programs], | |
501 | AS_HELP_STRING([--disable-all-programs], [disable everything, might be overridden by --enable-<name>]), | |
502 | [], [enable_all_programs=undefined] | |
503 | ) | |
504 | ||
505 | AS_CASE([$enable_all_programs], | |
7477f356 KZ |
506 | [yes], [AC_MSG_WARN([force to build all programs by default]) |
507 | ul_default_estate=check], | |
08b1c219 | 508 | [no], [AC_MSG_WARN([disable all programs by default]) |
7477f356 | 509 | ul_default_estate=no] |
08b1c219 KZ |
510 | ) |
511 | ||
512 | ||
d7a01582 | 513 | AX_CHECK_TLS |
3ac22f7a | 514 | |
13f5473e KZ |
515 | AC_DEFUN([UL_SCANF_TYPE_MODIFIER], [dnl |
516 | # include <stdio.h> | |
3eeb5808 | 517 | # include <stdlib.h> |
13f5473e KZ |
518 | int main() |
519 | { | |
520 | int i; | |
521 | char *s; | |
522 | i = sscanf("x", $1, &s); | |
4f310fae | 523 | free(s); |
13f5473e KZ |
524 | if (i == 1) |
525 | return 0; | |
526 | return 1; | |
527 | }]) | |
528 | ||
c8494d88 RM |
529 | ul_save_CPPFLAGS="$CPPFLAGS" |
530 | CPPFLAGS="-Werror ${CPPFLAGS}" | |
13f5473e KZ |
531 | AC_CACHE_VAL([scanf_cv_alloc_modifier], |
532 | AC_RUN_IFELSE([AC_LANG_SOURCE([UL_SCANF_TYPE_MODIFIER(["%ms"])])], | |
533 | [scanf_cv_alloc_modifier=ms], | |
534 | AC_RUN_IFELSE([AC_LANG_SOURCE([UL_SCANF_TYPE_MODIFIER(["%as"])])], | |
535 | [scanf_cv_alloc_modifier=as], | |
536 | [scanf_cv_alloc_modifier=no] | |
537 | ) | |
b420e279 | 538 | , |
d0202f1c SAS |
539 | |
540 | [AC_COMPILE_IFELSE([AC_LANG_SOURCE([ | |
541 | #include <stdio.h> | |
695e4e1a | 542 | #include <unistd.h> |
d0202f1c SAS |
543 | |
544 | #ifdef __GLIBC__ | |
545 | ||
546 | #if !(__GLIBC_PREREQ(2, 7)) | |
547 | #error %m is not available | |
548 | #endif | |
549 | ||
695e4e1a | 550 | #elif defined(_POSIX_VERSION) |
d0202f1c | 551 | |
695e4e1a MF |
552 | #if _POSIX_VERSION < 200809L |
553 | #error %m is not available | |
554 | #endif | |
555 | ||
556 | #else | |
d0202f1c SAS |
557 | #error Your C-library is not supported. |
558 | #endif | |
559 | ])], | |
560 | [scanf_cv_alloc_modifier=ms], | |
561 | [scanf_cv_alloc_modifier=no])] | |
13f5473e KZ |
562 | ) |
563 | ) | |
c8494d88 | 564 | CPPFLAGS="$ul_save_CPPFLAGS" |
13f5473e KZ |
565 | |
566 | AC_MSG_CHECKING([scanf string alloc modifiers]) | |
9f57e6e8 SK |
567 | AS_CASE([$scanf_cv_alloc_modifier], |
568 | [ms], | |
569 | [AC_MSG_RESULT([(%ms) yes]) | |
570 | AC_DEFINE([HAVE_SCANF_MS_MODIFIER], [1], [scanf %ms modifier]) | |
571 | have_scanf_alloc_modifier=yes], | |
572 | [as], | |
573 | [AC_MSG_RESULT([(%as) yes]) | |
574 | have_scanf_alloc_modifier=yes | |
575 | AC_DEFINE([HAVE_SCANF_AS_MODIFIER], [1], [scanf %as modifier])], | |
576 | [AC_MSG_RESULT([no]) | |
577 | have_scanf_alloc_modifier=no] | |
578 | ) | |
13f5473e | 579 | |
17d71034 KZ |
580 | |
581 | AC_ARG_WITH([util], AS_HELP_STRING([--without-util], [compile without libutil]), | |
582 | [], [with_util=auto] | |
583 | ) | |
584 | AS_IF([test "x$with_util" = xno], [ | |
585 | AM_CONDITIONAL([HAVE_UTIL], [false]) | |
586 | have_util=no | |
587 | ], [ | |
588 | UL_CHECK_LIB([util], [openpty]) | |
589 | ]) | |
590 | ||
591 | ||
3aecf79d KZ |
592 | AC_CHECK_TYPES([union semun], [], [], [[ |
593 | #include <sys/sem.h> | |
594 | ]]) | |
034d378b | 595 | AC_CHECK_TYPES([loff_t]) |
3aecf79d KZ |
596 | |
597 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | |
598 | #include <wchar.h> | |
599 | #include <wctype.h> | |
600 | #include <stdio.h> | |
601 | ]], [[ | |
602 | wchar_t wc; | |
603 | wint_t w; | |
604 | w = fgetwc(stdin); | |
605 | if (w == WEOF) exit(1); | |
606 | wc = w; | |
607 | fputwc(wc,stdout); | |
608 | ]])], | |
034d378b | 609 | [AC_DEFINE([HAVE_WIDECHAR], [1], [Do we have wide character support?]) |
3aecf79d KZ |
610 | ]) |
611 | ||
612 | AC_CHECK_TYPES([cpu_set_t], [have_cpu_set_t=yes], [], [[ | |
613 | #include <sched.h> | |
614 | ]]) | |
615 | ||
034d378b | 616 | AM_CONDITIONAL([HAVE_CPU_SET_T], [test "x$have_cpu_set_t" = xyes]) |
3aecf79d | 617 | |
b09bc508 MF |
618 | AC_CHECK_TYPES([sighandler_t], [], [], [[ |
619 | #include <signal.h> | |
620 | ]]) | |
621 | ||
3aecf79d KZ |
622 | AC_CHECK_DECLS([CPU_ALLOC], [], [], [[ |
623 | #include <sched.h> | |
624 | ]]) | |
625 | ||
8d35bdc9 KZ |
626 | # on Solaris, you can't mix and match standards, since we use c99 |
627 | # aparently at this stage, XOPEN_SOURCE will conflict. As workaround, | |
628 | # check for crypt.h and use that without XOPEN_SOURCE. | |
629 | AC_CHECK_HEADERS([crypt.h]) | |
630 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[ | |
631 | #ifdef HAVE_CRYPT_H | |
632 | #include <crypt.h> | |
633 | #else | |
634 | #define _XOPEN_SOURCE | |
635 | #include <unistd.h> | |
636 | #endif | |
637 | ]], [[ | |
638 | char *c = crypt("abc","pw"); | |
639 | ]])],[],[ | |
640 | LIBS="$LIBS -lcrypt" | |
641 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | |
642 | #ifdef HAVE_CRYPT_H | |
643 | #include <crypt.h> | |
644 | #else | |
645 | #define _XOPEN_SOURCE | |
646 | #include <unistd.h> | |
647 | #endif | |
648 | ]], [[ | |
649 | char *c = crypt("abc","pw"); | |
650 | ]])],[ | |
034d378b | 651 | AC_DEFINE([HAVE_LIBCRYPT], [1], [Do we need -lcrypt?]) |
8d35bdc9 KZ |
652 | have_libcrypt=yes |
653 | ],[ | |
654 | AC_MSG_ERROR([crypt() is not available]) | |
655 | ]) | |
656 | ]) | |
034d378b | 657 | AM_CONDITIONAL([HAVE_LIBCRYPT], [test "x$have_libcrypt" = xyes]) |
8d35bdc9 | 658 | |
13f5473e | 659 | |
75ad4910 KZ |
660 | AC_ARG_WITH([selinux], |
661 | AS_HELP_STRING([--with-selinux], [compile with SELinux support]), | |
034d378b | 662 | [], [with_selinux=no] |
75ad4910 KZ |
663 | ) |
664 | ||
3013eb9d | 665 | AS_IF([test "x$with_selinux" = xno], [ |
034d378b | 666 | AM_CONDITIONAL([HAVE_SELINUX], [false]) |
3013eb9d | 667 | ], [ |
7e34c79f | 668 | PKG_CHECK_MODULES([SELINUX], [libselinux >= 2.0], |
034d378b | 669 | [AC_DEFINE([HAVE_LIBSELINUX], [1], [Define if SELinux is available]) |
7e34c79f | 670 | UL_PKG_STATIC([SELINUX_LIBS_STATIC], [libselinux]) |
034d378b | 671 | AM_CONDITIONAL([HAVE_SELINUX], [true]) |
7e34c79f KZ |
672 | have_selinux=yes], |
673 | [have_selinux=no]) | |
674 | ||
9f57e6e8 SK |
675 | AS_CASE([$with_selinux:$have_selinux], |
676 | [yes:no], [AC_MSG_ERROR([SELinux selected but libselinux not found or too old])] | |
677 | ) | |
312f04f4 | 678 | |
3013eb9d | 679 | AS_IF([test "x$have_selinux" = xyes], [ |
312f04f4 KZ |
680 | UL_SET_FLAGS([], [], [$SELINUX_LIBS]) |
681 | # This function is missing in old libselinux 1.xx versions | |
682 | AC_CHECK_FUNCS([security_get_initial_context]) | |
683 | UL_RESTORE_FLAGS | |
3013eb9d SK |
684 | ]) |
685 | ]) | |
75ad4910 KZ |
686 | AC_SUBST([SELINUX_LIBS]) |
687 | AC_SUBST([SELINUX_LIBS_STATIC]) | |
688 | ||
0273afda | 689 | |
75ad4910 KZ |
690 | AC_ARG_WITH([audit], |
691 | AS_HELP_STRING([--with-audit], [compile with audit support]), | |
034d378b | 692 | [], [with_audit=no] |
75ad4910 KZ |
693 | ) |
694 | ||
3013eb9d | 695 | AS_IF([test "x$with_audit" = xno], [ |
034d378b | 696 | AM_CONDITIONAL([HAVE_AUDIT], [false]) |
3013eb9d | 697 | ], [ |
034d378b | 698 | UL_CHECK_LIB([audit], [audit_log_user_message]) |
9f57e6e8 SK |
699 | AS_CASE([$with_audit:$have_audit], |
700 | [yes:no], | |
701 | [AC_MSG_ERROR([Audit selected but libaudit not found (or does not support audit_log_user_message())])] | |
702 | ) | |
3013eb9d | 703 | ]) |
75ad4910 KZ |
704 | |
705 | AC_ARG_WITH([udev], AS_HELP_STRING([--without-udev], [compile without udev support]), | |
034d378b | 706 | [], [with_udev=auto] |
75ad4910 KZ |
707 | ) |
708 | ||
3013eb9d | 709 | AS_IF([test "x$with_udev" = xno], [ |
034d378b | 710 | AM_CONDITIONAL([HAVE_UDEV], [false]) |
3013eb9d | 711 | ], [ |
034d378b | 712 | UL_CHECK_LIB([udev], [udev_new]) |
9f57e6e8 SK |
713 | AS_CASE([$with_udev:$have_udev], |
714 | [yes:no], | |
715 | [AC_MSG_ERROR([udev selected but libudev not found])] | |
716 | ) | |
3013eb9d | 717 | ]) |
75ad4910 KZ |
718 | |
719 | AC_ARG_WITH([ncurses], | |
720 | AS_HELP_STRING([--with-ncurses], [build with non-wide ncurses, default is wide version | |
f06b4328 | 721 | (--without-ncurses disables all ncurses(w) support)]), |
034d378b | 722 | [], [with_ncurses=auto] |
75ad4910 | 723 | ) |
034d378b | 724 | AM_CONDITIONAL([HAVE_NCURSES], [false]) |
3013eb9d | 725 | AS_IF([test "x$with_ncurses" != xno], [ |
75ad4910 | 726 | have_ncurses=no |
2b8f22bd MF |
727 | |
728 | dnl First try to find the pkg-config module. | |
729 | PKG_CHECK_MODULES(NCURSESW, [ncursesw], [ | |
730 | have_ncurses=yes | |
731 | NCURSES_LIBS=${NCURSESW_LIBS} | |
732 | NCURSES_CFLAGS=${NCURSESW_CFLAGS} | |
733 | AC_DEFINE([HAVE_LIBNCURSESW]) | |
f1512be8 | 734 | CURSES_LIB_NAME="ncursesw" |
2b8f22bd MF |
735 | ], [ |
736 | PKG_CHECK_MODULES(NCURSES, [ncurses], [ | |
737 | have_ncurses=yes | |
738 | AC_DEFINE([HAVE_LIBNCURSES]) | |
f1512be8 | 739 | CURSES_LIB_NAME="ncursesw" |
2b8f22bd MF |
740 | ], [:]) |
741 | ]) | |
742 | ||
743 | AS_IF([test "x$have_ncurses" = xyes], [ | |
744 | dnl If that worked, setup the defines that the code expects. | |
745 | save_CPPFLAGS="$CPPFLAGS" | |
746 | CPPFLAGS="$CPPFLAGS $NCURSES_CFLAGS" | |
747 | AC_CHECK_HEADERS([ncurses.h]) | |
748 | CPPFLAGS="$save_CPPFLAGS" | |
749 | ], [ | |
750 | dnl If that failed, fall back to classic searching. | |
751 | AC_CHECK_HEADERS([ncurses.h ncurses/ncurses.h], [ | |
752 | AS_IF([test "x$with_ncurses" = xauto], [ | |
753 | UL_CHECK_LIB([ncursesw], [initscr], [ncurses]) | |
754 | AS_IF([test "x$have_ncurses" = xyes], [ | |
755 | AC_CHECK_HEADERS([ncursesw/ncurses.h]) | |
756 | NCURSES_LIBS="-lncursesw" | |
f1512be8 | 757 | CURSES_LIB_NAME="ncursesw" |
2b8f22bd | 758 | ]) |
3013eb9d | 759 | ]) |
2b8f22bd MF |
760 | AS_IF([test "x$have_ncurses" = xno], [ |
761 | UL_CHECK_LIB(ncurses, initscr) | |
762 | AS_IF([test "x$have_ncurses" = xyes], [ | |
763 | NCURSES_LIBS="-lncurses" | |
f1512be8 | 764 | CURSES_LIB_NAME="ncurses" |
2b8f22bd | 765 | ]) |
3013eb9d SK |
766 | ]) |
767 | ]) | |
75ad4910 | 768 | ]) |
2b8f22bd | 769 | |
43cc76e2 KZ |
770 | AS_CASE([$with_ncurses:$have_ncurses], |
771 | [yes:no], [AC_MSG_ERROR([ncurses or ncursesw selected, but library not found])] | |
772 | ) | |
773 | ||
3013eb9d | 774 | ]) |
2b8f22bd | 775 | AC_SUBST([NCURSES_CFLAGS]) |
75ad4910 KZ |
776 | AC_SUBST([NCURSES_LIBS]) |
777 | ||
778 | ||
779 | AC_ARG_WITH([slang], | |
780 | AS_HELP_STRING([--with-slang], [compile cfdisk with slang]), | |
034d378b | 781 | [], [with_slang=no] |
75ad4910 | 782 | ) |
50ea6795 | 783 | have_slang=no |
3013eb9d | 784 | AS_IF([test "x$with_slang" = xyes], [ |
75ad4910 KZ |
785 | AC_CHECK_HEADERS([slang.h slang/slang.h]) |
786 | AC_CHECK_HEADERS([slcurses.h slang/slcurses.h], | |
50ea6795 | 787 | [have_slang=yes], [], [ |
75ad4910 KZ |
788 | #ifdef HAVE_SLANG_H |
789 | #include <slang.h> | |
790 | #elif defined(HAVE_SLANG_SLANG_H) | |
791 | #include <slang/slang.h> | |
792 | #endif | |
793 | ]) | |
3013eb9d | 794 | AS_IF([test "x$have_slang" = xno], [ |
f1512be8 KZ |
795 | AC_MSG_ERROR([slang selected but slcurses.h not found])], |
796 | [CURSES_LIB_NAME=slang | |
3013eb9d SK |
797 | ]) |
798 | ]) | |
034d378b | 799 | AM_CONDITIONAL([HAVE_SLANG], [test "x$have_slang" = xyes]) |
50ea6795 | 800 | |
50ea6795 | 801 | |
f1512be8 KZ |
802 | AS_IF([test "x$have_slang" = xyes -o "x$have_ncurses" = xyes], [ |
803 | AC_CHECK_LIB([$CURSES_LIB_NAME], use_default_colors, [ | |
804 | AC_DEFINE(HAVE_USE_DEFAULT_COLORS, 1, | |
7556c944 KZ |
805 | [Define if curses library has the use_default_colors().]) |
806 | ]) | |
807 | AC_CHECK_LIB([$CURSES_LIB_NAME], resizeterm, [ | |
808 | AC_DEFINE(HAVE_RESIZETERM, 1, | |
809 | [Define if curses library has the resizeterm().]) | |
f1512be8 KZ |
810 | ]) |
811 | ]) | |
812 | ||
50ea6795 | 813 | |
17d71034 KZ |
814 | AC_ARG_WITH([tinfo], AS_HELP_STRING([--without-tinfo], [compile without libtinfo]), |
815 | [], [with_tinfo=auto] | |
816 | ) | |
817 | have_tinfo=no | |
818 | AS_IF([test "x$with_tinfo" != xno], [ | |
819 | dnl Try pkg-config for libtinfo | |
820 | PKG_CHECK_MODULES(TINFO, [tinfo], [ | |
821 | dnl pkg-config success | |
822 | have_tinfo=yes | |
823 | UL_PKG_STATIC([TINFO_LIBS_STATIC], [tinfo])], [ | |
824 | ||
825 | dnl If pkg-config failed, fall back to classic searching. | |
826 | AC_CHECK_LIB([tinfo], [tgetent], [ | |
ccf92e6d KZ |
827 | have_tinfo=yes |
828 | TINFO_LIBS="-ltinfo" | |
587652b4 | 829 | TINFO_LIBS_STATIC="-ltinfo" |
ccf92e6d | 830 | TINFO_CFLAGS=""]) |
17d71034 | 831 | ]) |
2b8f22bd MF |
832 | ]) |
833 | AC_SUBST([TINFO_LIBS]) | |
0b28c2ec | 834 | AC_SUBST([TINFO_LIBS_STATIC]) |
ccf92e6d | 835 | AC_SUBST([TINFO_CFLAGS]) |
b88e6b02 | 836 | AM_CONDITIONAL([HAVE_TINFO], [test "x$have_tinfo" = xyes]) |
254743e4 | 837 | AS_IF([test "x$have_tinfo" = xyes], [ |
17d71034 | 838 | AC_DEFINE(HAVE_LIBTINFO, 1, [Define if libtinfo available.]) |
4310faf9 | 839 | ]) |
75ad4910 KZ |
840 | |
841 | ||
0b28c2ec KZ |
842 | AC_ARG_WITH([readline], |
843 | AS_HELP_STRING([--with-readline], [compile with GNU Readline support]), | |
844 | [], [with_readline=auto] | |
845 | ) | |
846 | ||
847 | AS_IF([test "x$with_readline" = xno], [ | |
848 | AM_CONDITIONAL([HAVE_READLINE], [false]) | |
849 | ], [ | |
850 | UL_CHECK_LIB([readline], [readline]) | |
851 | AS_CASE([$with_readline:$have_readline], | |
852 | [yes:no], | |
853 | [AC_MSG_ERROR([readline selected but libreadline not found ])], | |
854 | [*:yes], | |
855 | [READLINE_LIBS="-lreadline" | |
856 | READLINE_LIBS_STATIC="-lreadline $TINFO_LIBS_STATIC"] | |
857 | ) | |
858 | ]) | |
859 | AC_SUBST([READLINE_LIBS]) | |
860 | AC_SUBST([READLINE_LIBS_STATIC]) | |
861 | ||
862 | ||
75ad4910 KZ |
863 | AC_ARG_WITH([utempter], |
864 | AS_HELP_STRING([--with-utempter], [compile script(1) with libutempter]), | |
034d378b | 865 | [], [with_utempter=no] |
75ad4910 KZ |
866 | ) |
867 | ||
3013eb9d | 868 | AS_IF([test "x$with_utempter" = xyes], [ |
034d378b | 869 | UL_CHECK_LIB([utempter], [utempter_add_record]) |
3013eb9d | 870 | AS_IF([test "x$have_utempter" = xno], [ |
75ad4910 | 871 | AC_MSG_ERROR([utempter selected but libutempter not found]) |
3013eb9d SK |
872 | ]) |
873 | ], [ | |
034d378b | 874 | AM_CONDITIONAL([HAVE_UTEMPTER], [false]) |
3013eb9d | 875 | ]) |
75ad4910 KZ |
876 | |
877 | ||
1dbbde66 KZ |
878 | dnl |
879 | dnl libuuid | |
880 | dnl | |
17afb032 KZ |
881 | AC_ARG_ENABLE([libuuid], |
882 | AS_HELP_STRING([--disable-libuuid], [do not build libuuid and uuid utilities]), | |
08b1c219 | 883 | [], [UL_DEFAULT_ENABLE([libuuid], [yes])] |
17afb032 | 884 | ) |
fa7be20e | 885 | UL_BUILD_INIT([libuuid]) |
dc2b8d87 KZ |
886 | AC_SUBST([LIBUUID_VERSION]) |
887 | AC_SUBST([LIBUUID_VERSION_INFO]) | |
fa7be20e | 888 | AM_CONDITIONAL(BUILD_LIBUUID, test "x$build_libuuid" = xyes) |
9dc801d2 | 889 | |
13985252 | 890 | AS_IF([test "x$build_libuuid" = xyes], [ |
17afb032 | 891 | AC_DEFINE(HAVE_LIBUUID, 1, [Define to 1 if you have the -luuid.]) |
3013eb9d | 892 | ]) |
48d7b13a | 893 | |
1dbbde66 KZ |
894 | dnl |
895 | dnl libblkid | |
896 | dnl | |
f910b559 | 897 | AC_ARG_ENABLE([libblkid], |
1d12ed57 | 898 | AS_HELP_STRING([--disable-libblkid], [do not build libblkid and many related utilities]), |
08b1c219 | 899 | [], [UL_DEFAULT_ENABLE([libblkid], [yes])] |
40f07ff7 | 900 | ) |
61a074f7 | 901 | UL_BUILD_INIT([libblkid]) |
033cf439 | 902 | AC_SUBST([LIBBLKID_DATE]) |
dc2b8d87 KZ |
903 | AC_SUBST([LIBBLKID_VERSION]) |
904 | AC_SUBST([LIBBLKID_VERSION_INFO]) | |
034d378b SK |
905 | AC_DEFINE_UNQUOTED([LIBBLKID_VERSION], ["$LIBBLKID_VERSION"], [libblkid version string]) |
906 | AC_DEFINE_UNQUOTED([LIBBLKID_DATE], ["$LIBBLKID_DATE"], [libblkid date string]) | |
3013eb9d | 907 | AS_IF([test "x$build_libblkid" = xyes], [ |
034d378b | 908 | AC_DEFINE([HAVE_LIBBLKID], [1], [Define to 1 if you have the -lblkid.]) |
3013eb9d | 909 | ]) |
034d378b SK |
910 | AM_CONDITIONAL([BUILD_LIBBLKID], [test "x$build_libblkid" = xyes]) |
911 | AM_CONDITIONAL([BUILD_LIBBLKID_TESTS], [test "x$build_libblkid" = xyes -a "x$enable_static" = xyes]) | |
f910b559 | 912 | |
1dbbde66 KZ |
913 | dnl |
914 | dnl libmount | |
915 | dnl | |
f1cde479 KZ |
916 | AC_ARG_ENABLE([libmount], |
917 | AS_HELP_STRING([--disable-libmount], [do not build libmount]), | |
08b1c219 | 918 | [], [UL_DEFAULT_ENABLE([libmount], [check])] |
f1cde479 | 919 | ) |
61a074f7 | 920 | UL_BUILD_INIT([libmount]) |
13f5473e KZ |
921 | UL_REQUIRES_BUILD([libmount], [libblkid]) |
922 | UL_REQUIRES_HAVE([libmount], [scanf_alloc_modifier], [scanf string alloc modifier]) | |
034d378b SK |
923 | AM_CONDITIONAL([BUILD_LIBMOUNT], [test "x$build_libmount" = xyes]) |
924 | AM_CONDITIONAL([BUILD_LIBMOUNT_TESTS], [test "x$build_libmount" = xyes -a "x$enable_static" = xyes]) | |
30c34afb KZ |
925 | AS_IF([test "x$build_libmount" = xyes], [ |
926 | AC_DEFINE(HAVE_LIBMOUNT, 1, [Define if libmount available.]) | |
927 | ]) | |
8e368761 | 928 | |
f1cde479 | 929 | AC_SUBST([LIBMOUNT_VERSION]) |
10e1d2e5 SH |
930 | AC_SUBST([LIBMOUNT_MAJOR_VERSION], $PACKAGE_VERSION_MAJOR) |
931 | AC_SUBST([LIBMOUNT_MINOR_VERSION], $PACKAGE_VERSION_MINOR) | |
932 | AC_SUBST([LIBMOUNT_PATCH_VERSION], $PACKAGE_VERSION_RELEASE) | |
f1cde479 | 933 | AC_SUBST([LIBMOUNT_VERSION_INFO]) |
034d378b | 934 | AC_DEFINE_UNQUOTED([LIBMOUNT_VERSION], ["$LIBMOUNT_VERSION"], [libmount version string]) |
13f5473e | 935 | |
e3f72275 KZ |
936 | AC_ARG_ENABLE([libmount-force-mountinfo], |
937 | AS_HELP_STRING([--enable-libmount-force-mountinfo], [ignore /etc/mtab in all situations (recommended for systemd)]), | |
938 | [], [enable_libmount_force_mountinfo=no] | |
939 | ) | |
940 | ||
941 | AS_IF([test "x$enable_libmount_force_mountinfo" == xyes], [ | |
942 | AC_DEFINE([USE_LIBMOUNT_FORCE_MOUNTINFO], [1], [Define to 1 if want to ignore mtab in all situations.]) | |
943 | ]) | |
944 | ||
f1cde479 | 945 | |
1a4d989e OO |
946 | dnl |
947 | dnl libsmartcols | |
948 | dnl | |
949 | AC_ARG_ENABLE([libsmartcols], | |
950 | AS_HELP_STRING([--disable-libsmartcols], [do not build libsmartcols]), | |
08b1c219 | 951 | [], [UL_DEFAULT_ENABLE([libsmartcols], [yes])] |
1a4d989e OO |
952 | ) |
953 | UL_BUILD_INIT([libsmartcols]) | |
1a4d989e | 954 | AM_CONDITIONAL([BUILD_LIBSMARTCOLS], [test "x$build_libsmartcols" = xyes]) |
1a4d989e OO |
955 | |
956 | AC_SUBST([LIBSMARTCOLS_VERSION]) | |
957 | AC_SUBST([LIBSMARTCOLS_VERSION_INFO]) | |
958 | AC_DEFINE_UNQUOTED([LIBSMARTCOLS_VERSION], ["$LIBSMARTCOLS_VERSION"], [libsmartcols version string]) | |
959 | ||
960 | ||
eb6a03f3 | 961 | dnl |
0bb4c979 | 962 | dnl libfdisk |
eb6a03f3 | 963 | dnl |
0bb4c979 KZ |
964 | AC_ARG_ENABLE([libfdisk], |
965 | AS_HELP_STRING([--disable-libfdisk], [do not build libfdisk]), | |
966 | [], [UL_DEFAULT_ENABLE([libfdisk], [check])] | |
967 | ) | |
968 | UL_BUILD_INIT([libfdisk]) | |
eb6a03f3 | 969 | UL_REQUIRES_BUILD([libfdisk], [libuuid]) |
034d378b | 970 | AM_CONDITIONAL([BUILD_LIBFDISK], [test "x$build_libfdisk" = xyes]) |
0bb4c979 KZ |
971 | AM_CONDITIONAL([BUILD_LIBFDISK_TESTS], [test "x$build_libfdisk" = xyes -a "x$enable_static" = xyes]) |
972 | ||
ed79557e KZ |
973 | AS_IF([test "x$build_libblkid" = xyes], |
974 | [LIBFDISK_PC_REQUIRES="uuid blkid"],[LIBFDISK_PC_REQUIRES="uuid"]) | |
975 | AC_SUBST([LIBFDISK_PC_REQUIRES]) | |
976 | ||
0bb4c979 | 977 | AC_SUBST([LIBFDISK_VERSION]) |
791da22d KZ |
978 | AC_SUBST([LIBFDISK_MAJOR_VERSION], $PACKAGE_VERSION_MAJOR) |
979 | AC_SUBST([LIBFDISK_MINOR_VERSION], $PACKAGE_VERSION_MINOR) | |
980 | AC_SUBST([LIBFDISK_PATCH_VERSION], $PACKAGE_VERSION_RELEASE) | |
0bb4c979 KZ |
981 | AC_SUBST([LIBFDISK_VERSION_INFO]) |
982 | AC_DEFINE_UNQUOTED([LIBFDISK_VERSION], ["$LIBFDISK_VERSION"], [libfdisk version string]) | |
983 | ||
eb6a03f3 KZ |
984 | |
985 | UL_BUILD_INIT([fdisk], [check]) | |
986 | UL_REQUIRES_BUILD([fdisk], [libfdisk]) | |
d44115f3 | 987 | UL_REQUIRES_BUILD([fdisk], [libsmartcols]) |
034d378b | 988 | AM_CONDITIONAL([BUILD_FDISK], [test "x$build_fdisk" = xyes]) |
eb6a03f3 KZ |
989 | |
990 | ||
62b2c024 | 991 | UL_BUILD_INIT([sfdisk], [check]) |
9c1f9dd3 KZ |
992 | UL_REQUIRES_BUILD([sfdisk], [libfdisk]) |
993 | UL_REQUIRES_BUILD([sfdisk], [libsmartcols]) | |
ecc6047e KZ |
994 | AM_CONDITIONAL([BUILD_SFDISK], [test "x$build_sfdisk" = xyes]) |
995 | ||
996 | ||
08b1c219 KZ |
997 | UL_BUILD_INIT([cfdisk], [check]) |
998 | UL_REQUIRES_BUILD([cfdisk], [libfdisk]) | |
999 | UL_REQUIRES_BUILD([cfdisk], [libsmartcols]) | |
f9c4d138 | 1000 | UL_REQUIRES_HAVE([cfdisk], [open_memstream]) |
08b1c219 KZ |
1001 | UL_REQUIRES_HAVE([cfdisk], [ncurses,slang], [ncurses or slang library]) |
1002 | AM_CONDITIONAL([BUILD_CFDISK], [test "x$build_cfdisk" = xyes]) | |
1003 | ||
1004 | ||
434b07a0 KZ |
1005 | AC_ARG_ENABLE([mount], |
1006 | AS_HELP_STRING([--disable-mount], [do not build mount(8) and umount(8)]), | |
08b1c219 | 1007 | [], [UL_DEFAULT_ENABLE([mount], [check])] |
ecdba5dd | 1008 | ) |
434b07a0 | 1009 | UL_BUILD_INIT([mount]) |
53e8c16e | 1010 | UL_REQUIRES_LINUX([mount]) |
434b07a0 | 1011 | UL_REQUIRES_BUILD([mount], [libmount]) |
034d378b | 1012 | AM_CONDITIONAL([BUILD_MOUNT], [test "x$build_mount" = xyes]) |
ecdba5dd KZ |
1013 | |
1014 | ||
bafe1a75 KZ |
1015 | AC_ARG_ENABLE([losetup], |
1016 | AS_HELP_STRING([--disable-losetup], [do not build losetup]), | |
08b1c219 | 1017 | [], [UL_DEFAULT_ENABLE([losetup], [check])] |
bafe1a75 KZ |
1018 | ) |
1019 | UL_BUILD_INIT([losetup]) | |
1020 | UL_REQUIRES_LINUX([losetup]) | |
7477f356 | 1021 | UL_REQUIRES_BUILD([losetup], [libsmartcols]) |
034d378b | 1022 | AM_CONDITIONAL([BUILD_LOSETUP], [test "x$build_losetup" = xyes]) |
bafe1a75 | 1023 | |
0624d840 KZ |
1024 | AC_ARG_ENABLE([zramctl], |
1025 | AS_HELP_STRING([--disable-zramctl], [do not build zramctl]), | |
1026 | [], [UL_DEFAULT_ENABLE([zramctl], [check])] | |
1027 | ) | |
1028 | UL_BUILD_INIT([zramctl]) | |
1029 | UL_REQUIRES_LINUX([zramctl]) | |
1030 | UL_REQUIRES_BUILD([zramctl], [libsmartcols]) | |
1031 | AM_CONDITIONAL([BUILD_ZRAMCTL], [test "x$build_zramctl" = xyes]) | |
bafe1a75 | 1032 | |
1dbbde66 KZ |
1033 | AC_ARG_ENABLE([fsck], |
1034 | AS_HELP_STRING([--disable-fsck], [do not build fsck]), | |
08b1c219 | 1035 | [], [UL_DEFAULT_ENABLE([fsck], [check])] |
1dbbde66 | 1036 | ) |
61a074f7 | 1037 | UL_BUILD_INIT([fsck]) |
a7b585ea | 1038 | UL_REQUIRES_BUILD([fsck], [libmount]) |
034d378b | 1039 | AM_CONDITIONAL([BUILD_FSCK], [test "x$build_fsck" = xyes]) |
1dbbde66 KZ |
1040 | |
1041 | ||
1042 | AC_ARG_ENABLE([partx], | |
1043 | AS_HELP_STRING([--disable-partx], [do not build addpart, delpart, partx]), | |
08b1c219 | 1044 | [], [UL_DEFAULT_ENABLE([partx], [check])] |
1dbbde66 | 1045 | ) |
61a074f7 | 1046 | UL_BUILD_INIT([partx]) |
ecde2536 KZ |
1047 | UL_REQUIRES_LINUX([partx]) |
1048 | UL_REQUIRES_BUILD([partx], [libblkid]) | |
08b1c219 | 1049 | UL_REQUIRES_BUILD([partx], [libsmartcols]) |
034d378b | 1050 | AM_CONDITIONAL([BUILD_PARTX], [test "x$build_partx" = xyes]) |
1dbbde66 KZ |
1051 | |
1052 | ||
1dbbde66 KZ |
1053 | AC_ARG_ENABLE([uuidd], |
1054 | AS_HELP_STRING([--disable-uuidd], [do not build the uuid daemon]), | |
08b1c219 | 1055 | [], [UL_DEFAULT_ENABLE([uuidd], [check])] |
1dbbde66 | 1056 | ) |
61a074f7 | 1057 | UL_BUILD_INIT([uuidd]) |
bcdab497 | 1058 | UL_REQUIRES_BUILD([uuidd], [libuuid]) |
3013eb9d | 1059 | AS_IF([test "x$build_uuidd" = xyes], [ |
034d378b | 1060 | AC_DEFINE([HAVE_UUIDD], [1], [Define to 1 if you want to use uuid daemon.]) |
3013eb9d | 1061 | ]) |
034d378b | 1062 | AM_CONDITIONAL([BUILD_UUIDD], [test "x$build_uuidd" = xyes]) |
1dbbde66 KZ |
1063 | |
1064 | ||
1b15cbd1 KZ |
1065 | UL_BUILD_INIT([uuidgen], [check]) |
1066 | UL_REQUIRES_BUILD([uuidgen], [libuuid]) | |
1067 | AM_CONDITIONAL([BUILD_UUIDGEN], [test "x$build_uuidgen" = xyes]) | |
1068 | ||
15a2c741 KZ |
1069 | UL_BUILD_INIT([blkid], [check]) |
1070 | UL_REQUIRES_BUILD([blkid], [libblkid]) | |
1071 | AM_CONDITIONAL([BUILD_BLKID], [test "x$build_blkid" = xyes]) | |
1072 | ||
1073 | UL_BUILD_INIT([findfs], [check]) | |
1074 | UL_REQUIRES_BUILD([findfs], [libblkid]) | |
1075 | AM_CONDITIONAL([BUILD_FINDFS], [test "x$build_findfs" = xyes]) | |
1076 | ||
1077 | UL_BUILD_INIT([wipefs], [check]) | |
1078 | UL_REQUIRES_BUILD([wipefs], [libblkid]) | |
1079 | AM_CONDITIONAL([BUILD_WIPEFS], [test "x$build_wipefs" = xyes]) | |
1080 | ||
1081 | UL_BUILD_INIT([findmnt], [check]) | |
1082 | UL_REQUIRES_BUILD([findmnt], [libmount]) | |
1083 | UL_REQUIRES_BUILD([findmnt], [libsmartcols]) | |
1084 | AM_CONDITIONAL([BUILD_FINDMNT], [test "x$build_findmnt" = xyes]) | |
1085 | ||
1b15cbd1 | 1086 | |
0164c245 | 1087 | AC_ARG_ENABLE([mountpoint], |
2023ccc4 | 1088 | AS_HELP_STRING([--disable-mountpoint], [do not build mountpoint]), |
08b1c219 | 1089 | [], [UL_DEFAULT_ENABLE([mountpoint], [check])] |
0164c245 | 1090 | ) |
61a074f7 | 1091 | UL_BUILD_INIT([mountpoint]) |
a9127bc1 | 1092 | UL_REQUIRES_BUILD([mountpoint], [libmount]) |
034d378b | 1093 | AM_CONDITIONAL([BUILD_MOUNTPOINT], [test "x$build_mountpoint" = xyes]) |
0164c245 KZ |
1094 | |
1095 | ||
10e56b49 KZ |
1096 | AC_ARG_ENABLE([fallocate], |
1097 | AS_HELP_STRING([--disable-fallocate], [do not build fallocate]), | |
08b1c219 | 1098 | [], [UL_DEFAULT_ENABLE([fallocate], [check])] |
10e56b49 | 1099 | ) |
61a074f7 | 1100 | UL_BUILD_INIT([fallocate]) |
10e56b49 KZ |
1101 | UL_REQUIRES_LINUX([fallocate]) |
1102 | UL_REQUIRES_SYSCALL_CHECK([fallocate], [UL_CHECK_SYSCALL([fallocate])]) | |
034d378b | 1103 | AM_CONDITIONAL([BUILD_FALLOCATE], [test "x$build_fallocate" = xyes]) |
10e56b49 | 1104 | |
3013eb9d | 1105 | AS_IF([test "x$build_fallocate" = xyes], [ |
10e56b49 KZ |
1106 | dnl check for valid fallocate() function |
1107 | dnl with 32 bits glibc 2.10, fallocate() exists but not fallocate64() | |
1108 | dnl when _FILE_OFFSET_BITS==64, fallocate() is redirect to fallocate64() | |
1109 | dnl and program can't be linked. | |
1110 | dnl AC_CHECK_FUNC can't catch such errors since it's redefining | |
1111 | dnl function prototype. | |
1112 | AC_MSG_CHECKING([for valid fallocate() function]) | |
1113 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[ | |
b832c2fe YD |
1114 | #ifdef HAVE_UNISTD_H |
1115 | # include <unistd.h> | |
1116 | #endif | |
1117 | #ifdef HAVE_SYS_TYPES_H | |
1118 | # include <sys/types.h> | |
1119 | #endif | |
1120 | #ifdef HAVE_LINUX_FALLOC_H | |
1121 | # include <linux/falloc.h> | |
1122 | #endif | |
1123 | #ifdef HAVE_FCNTL_H | |
1124 | # include <fcntl.h> | |
1125 | #endif | |
1126 | ]],[[ | |
1127 | long ret; | |
b832c2fe | 1128 | ret = fallocate(0, FALLOC_FL_KEEP_SIZE, 0xfffffffful, 0xfffffffful); |
b832c2fe YD |
1129 | if (ret != 0) { |
1130 | return 1; | |
1131 | } | |
1132 | ]])],[ | |
10e56b49 | 1133 | AC_MSG_RESULT([yes]) |
034d378b | 1134 | AC_DEFINE([HAVE_FALLOCATE], [1], [Have valid fallocate() function])],[ |
10e56b49 | 1135 | AC_MSG_RESULT([no])]) |
3013eb9d | 1136 | ]) |
10e56b49 | 1137 | |
19a224ad | 1138 | |
a2ea6670 KZ |
1139 | AC_ARG_ENABLE([unshare], |
1140 | AS_HELP_STRING([--disable-unshare], [do not build unshare]), | |
08b1c219 | 1141 | [], [UL_DEFAULT_ENABLE([unshare], [check])] |
a2ea6670 | 1142 | ) |
61a074f7 | 1143 | UL_BUILD_INIT([unshare]) |
a2ea6670 KZ |
1144 | UL_REQUIRES_LINUX([unshare]) |
1145 | UL_REQUIRES_SYSCALL_CHECK([unshare], [UL_CHECK_SYSCALL([unshare])]) | |
034d378b | 1146 | AM_CONDITIONAL([BUILD_UNSHARE], [test "x$build_unshare" = xyes]) |
bdd384d1 | 1147 | AC_CHECK_FUNCS([unshare]) |
b3425806 | 1148 | |
f8aa8e94 EB |
1149 | AC_ARG_ENABLE([nsenter], |
1150 | AS_HELP_STRING([--disable-nsenter], [do not build nsenter]), | |
08b1c219 | 1151 | [], [UL_DEFAULT_ENABLE([nsenter], [check])] |
f8aa8e94 EB |
1152 | ) |
1153 | UL_BUILD_INIT([nsenter]) | |
1154 | UL_REQUIRES_LINUX([nsenter]) | |
6cd4beac | 1155 | UL_REQUIRES_SYSCALL_CHECK([nsenter], [UL_CHECK_SYSCALL([setns])], [setns]) |
034d378b | 1156 | AM_CONDITIONAL([BUILD_NSENTER], [test "x$build_nsenter" = xyes]) |
bdd384d1 | 1157 | AC_CHECK_FUNCS([setns]) |
b3425806 | 1158 | |
17d71034 KZ |
1159 | |
1160 | AC_ARG_WITH([cap_ng], | |
1161 | AS_HELP_STRING([--without-capng], [compile without libcap-ng]), | |
1162 | [], [with_cap_ng=auto] | |
1163 | ) | |
1164 | AS_IF([test "x$with_cap_ng" = xno], [have_cap_ng=no],[ | |
1165 | UL_CHECK_LIB([cap-ng], [capng_apply], [cap_ng]) | |
1166 | ]) | |
1167 | ||
1168 | ||
5600c405 AL |
1169 | AC_ARG_ENABLE([setpriv], |
1170 | AS_HELP_STRING([--disable-setpriv], [do not build setpriv]), | |
08b1c219 | 1171 | [], [UL_DEFAULT_ENABLE([setpriv], [check])] |
5600c405 AL |
1172 | ) |
1173 | UL_BUILD_INIT([setpriv]) | |
1174 | UL_REQUIRES_LINUX([setpriv]) | |
48469f90 | 1175 | UL_REQUIRES_HAVE([setpriv], [linux_securebits_h], [securebits.h header file]) |
e1b8ba20 | 1176 | UL_REQUIRES_HAVE([setpriv], [cap_ng], [libcap-ng library]) |
034d378b | 1177 | AM_CONDITIONAL([BUILD_SETPRIV], [test "x$build_setpriv" = xyes]) |
5600c405 AL |
1178 | |
1179 | ||
539feec1 ML |
1180 | AC_ARG_ENABLE([eject], |
1181 | AS_HELP_STRING([--disable-eject], [do not build eject]), | |
08b1c219 | 1182 | [], [UL_DEFAULT_ENABLE([eject], [check])] |
539feec1 ML |
1183 | ) |
1184 | UL_BUILD_INIT([eject]) | |
1185 | UL_REQUIRES_LINUX([eject]) | |
7770e7df | 1186 | UL_REQUIRES_BUILD([eject], [libmount]) |
034d378b | 1187 | AM_CONDITIONAL([BUILD_EJECT], [test "x$build_eject" = xyes]) |
539feec1 ML |
1188 | |
1189 | ||
48d7b13a | 1190 | AC_ARG_ENABLE([agetty], |
7fa4f112 | 1191 | AS_HELP_STRING([--disable-agetty], [do not build agetty]), |
08b1c219 | 1192 | [], [UL_DEFAULT_ENABLE([agetty], [yes])] |
48d7b13a | 1193 | ) |
61a074f7 | 1194 | UL_BUILD_INIT([agetty]) |
034d378b | 1195 | AM_CONDITIONAL([BUILD_AGETTY], [test "x$build_agetty" = xyes]) |
90d5285d KZ |
1196 | AS_IF([test "x$have_futimens" = xyes -a "x$have_inotify_init1" = xyes ], [ |
1197 | AC_DEFINE([AGETTY_RELOAD], [1], [Enable agetty --reload feature]) | |
1198 | ],[ | |
1199 | AC_MSG_WARN([futimens or inotify_init1 not found; agetty(8) will not provide ---reload functionality]) | |
1200 | ]) | |
0fc74be1 | 1201 | |
48d7b13a | 1202 | |
17d71034 KZ |
1203 | AC_ARG_WITH([libz], |
1204 | AS_HELP_STRING([--without-libz], [compile without libz]), | |
1205 | [], [with_libz=auto] | |
1206 | ) | |
1207 | AS_IF([test "x$with_libz" = xno], [have_z=no], [ | |
1208 | AC_CHECK_LIB([z], [crc32], [have_z=yes], [have_z=no]) | |
1209 | ]) | |
1210 | ||
1211 | ||
9cb68977 | 1212 | AC_ARG_ENABLE([cramfs], |
7fa4f112 | 1213 | AS_HELP_STRING([--disable-cramfs], [do not build fsck.cramfs, mkfs.cramfs]), |
08b1c219 | 1214 | [], [UL_DEFAULT_ENABLE([cramfs], [check])] |
9cb68977 | 1215 | ) |
61a074f7 | 1216 | UL_BUILD_INIT([cramfs]) |
d81b5a52 | 1217 | UL_REQUIRES_HAVE([cramfs], [z], [z library]) |
034d378b | 1218 | AM_CONDITIONAL([BUILD_CRAMFS], [test "x$build_cramfs" = xyes]) |
9cb68977 | 1219 | |
a13cdb7a | 1220 | |
8d6f0bae | 1221 | AC_ARG_ENABLE([bfs], |
834fc88c | 1222 | AS_HELP_STRING([--disable-bfs], [do not build mkfs.bfs]), |
08b1c219 | 1223 | [], [UL_DEFAULT_ENABLE([bfs], [yes])] |
834fc88c KZ |
1224 | ) |
1225 | UL_BUILD_INIT([bfs]) | |
034d378b | 1226 | AM_CONDITIONAL([BUILD_BFS], [test "x$build_bfs" = xyes]) |
834fc88c KZ |
1227 | |
1228 | ||
3d9fdac5 KZ |
1229 | AC_ARG_ENABLE([minix], |
1230 | AS_HELP_STRING([--disable-minix], [do not build fsck.minix, mkfs.minix]), | |
08b1c219 | 1231 | [], [UL_DEFAULT_ENABLE([minix], [yes])] |
3d9fdac5 KZ |
1232 | ) |
1233 | UL_BUILD_INIT([minix]) | |
1234 | AM_CONDITIONAL([BUILD_MINIX], [test "x$build_minix" = xyes]) | |
1235 | ||
1236 | ||
8d6f0bae KZ |
1237 | AC_ARG_ENABLE([fdformat], |
1238 | AS_HELP_STRING([--disable-fdformat], [do not build fdformat]), | |
08b1c219 | 1239 | [], [UL_DEFAULT_ENABLE([fdformat], [check])] |
8d6f0bae KZ |
1240 | ) |
1241 | UL_BUILD_INIT([fdformat]) | |
1242 | UL_REQUIRES_LINUX([fdformat]) | |
034d378b | 1243 | AM_CONDITIONAL([BUILD_FDFORMAT], [test "x$build_fdformat" = xyes]) |
8d6f0bae KZ |
1244 | |
1245 | ||
6acf31ac KZ |
1246 | AC_ARG_ENABLE([hwclock], |
1247 | AS_HELP_STRING([--disable-hwclock], [do not build hwclock]), | |
08b1c219 | 1248 | [], [UL_DEFAULT_ENABLE([hwclock], [check])] |
6acf31ac KZ |
1249 | ) |
1250 | have_linuxdummy=$linux_os | |
1251 | ||
1252 | UL_BUILD_INIT([hwclock]) | |
1253 | UL_REQUIRES_HAVE([hwclock], [io, linuxdummy], [ioperm iopl function or Linux]) | |
034d378b | 1254 | AM_CONDITIONAL([BUILD_HWCLOCK], [test "x$build_hwclock" = xyes]) |
e09ebf22 KZ |
1255 | |
1256 | ||
ecc6047e KZ |
1257 | UL_BUILD_INIT([mkfs], [yes]) |
1258 | AM_CONDITIONAL([BUILD_MKFS], [test "x$build_mkfs" = xyes]) | |
1259 | ||
1260 | UL_BUILD_INIT([isosize], [yes]) | |
1261 | AM_CONDITIONAL([BUILD_ISOSIZE], [test "x$build_isosize" = xyes]) | |
1262 | ||
3d9fdac5 | 1263 | |
7b040214 KZ |
1264 | UL_BUILD_INIT([fstrim], [check]) |
1265 | UL_REQUIRES_LINUX([fstrim]) | |
1266 | UL_REQUIRES_BUILD([fstrim], [libmount]) | |
1267 | AM_CONDITIONAL([BUILD_FSTRIM], [test "x$build_fstrim" = xyes]) | |
1268 | ||
1269 | ||
143635c9 KZ |
1270 | UL_BUILD_INIT([swapon], [check]) |
1271 | UL_REQUIRES_LINUX([swapon]) | |
1272 | UL_REQUIRES_BUILD([swapon], [libblkid]) | |
7770e7df | 1273 | UL_REQUIRES_BUILD([swapon], [libmount]) |
7477f356 | 1274 | UL_REQUIRES_BUILD([swapon], [libsmartcols]) |
034d378b | 1275 | AM_CONDITIONAL([BUILD_SWAPON], [test "x$build_swapon" = xyes]) |
143635c9 KZ |
1276 | |
1277 | ||
61a074f7 | 1278 | UL_BUILD_INIT([lsblk], [check]) |
a13cdb7a KZ |
1279 | UL_REQUIRES_LINUX([lsblk]) |
1280 | UL_REQUIRES_BUILD([lsblk], [libblkid]) | |
9554f7ab | 1281 | UL_REQUIRES_BUILD([lsblk], [libmount]) |
7477f356 | 1282 | UL_REQUIRES_BUILD([lsblk], [libsmartcols]) |
034d378b | 1283 | AM_CONDITIONAL([BUILD_LSBLK], [test "x$build_lsblk" = xyes]) |
9cb68977 | 1284 | |
a3d3b770 | 1285 | |
61a074f7 | 1286 | UL_BUILD_INIT([lscpu], [check]) |
da396d88 | 1287 | UL_REQUIRES_LINUX([lscpu]) |
7477f356 | 1288 | UL_REQUIRES_BUILD([lscpu], [libsmartcols]) |
da396d88 | 1289 | UL_REQUIRES_HAVE([lscpu], [cpu_set_t], [cpu_set_t type]) |
034d378b | 1290 | AM_CONDITIONAL([BUILD_LSCPU], [test "x$build_lscpu" = xyes]) |
da396d88 | 1291 | |
a3d3b770 | 1292 | |
ab1cfad5 OO |
1293 | UL_BUILD_INIT([lslogins], [check]) |
1294 | UL_REQUIRES_BUILD([lslogins], [libsmartcols]) | |
1295 | AM_CONDITIONAL([BUILD_LSLOGINS], [test "x$build_lslogins" = xyes]) | |
1296 | ||
1297 | ||
61a074f7 | 1298 | UL_BUILD_INIT([chcpu], [check]) |
da396d88 KZ |
1299 | UL_REQUIRES_LINUX([chcpu]) |
1300 | UL_REQUIRES_HAVE([chcpu], [cpu_set_t], [cpu_set_t type]) | |
034d378b | 1301 | AM_CONDITIONAL([BUILD_CHCPU], [test "x$build_chcpu" = xyes]) |
da396d88 | 1302 | |
a13cdb7a | 1303 | |
7fcccbdf KZ |
1304 | AC_ARG_ENABLE([wdctl], |
1305 | AS_HELP_STRING([--disable-wdctl], [do not build wdctl]), | |
08b1c219 | 1306 | [], [UL_DEFAULT_ENABLE([wdctl], [check])] |
7fcccbdf KZ |
1307 | ) |
1308 | UL_BUILD_INIT([wdctl]) | |
5b0289b9 | 1309 | UL_REQUIRES_LINUX([wdctl]) |
7477f356 | 1310 | UL_REQUIRES_BUILD([wdctl], [libsmartcols]) |
5b0289b9 | 1311 | UL_REQUIRES_HAVE([wdctl], [linux_watchdog_h], [linux/watchdog.h header file]) |
034d378b | 1312 | AM_CONDITIONAL([BUILD_WDCTL], [test "x$build_wdctl" = xyes]) |
5b0289b9 KZ |
1313 | |
1314 | ||
54dbc8cf KZ |
1315 | UL_BUILD_INIT([swaplabel], [check]) |
1316 | UL_REQUIRES_BUILD([swaplabel], [libblkid]) | |
034d378b | 1317 | AM_CONDITIONAL([BUILD_SWAPLABEL], [test "x$build_swaplabel" = xyes]) |
54dbc8cf KZ |
1318 | |
1319 | ||
ecc6047e KZ |
1320 | UL_BUILD_INIT([mkswap], [yes]) |
1321 | AM_CONDITIONAL([BUILD_MKSWAP], [test "x$build_mkswap" = xyes]) | |
08b1c219 KZ |
1322 | AS_IF([test "x$build_mkswap" = xyes -a "x$build_libuuid" != xyes], [ |
1323 | AC_MSG_WARN([uuid library is not found; mkswap(8) will not generate UUIDs]) | |
1324 | ]) | |
ecc6047e | 1325 | |
328eb445 KZ |
1326 | |
1327 | AC_ARG_ENABLE([cal], | |
1328 | AS_HELP_STRING([--disable-cal], [do not build cal]), | |
1329 | [], [UL_DEFAULT_ENABLE([cal], [check])] | |
1330 | ) | |
1331 | UL_BUILD_INIT([cal]) | |
1b15cbd1 KZ |
1332 | AM_CONDITIONAL([BUILD_CAL], [test "x$build_cal" = xyes]) |
1333 | ||
328eb445 | 1334 | |
1b15cbd1 KZ |
1335 | UL_BUILD_INIT([logger], [yes]) |
1336 | AM_CONDITIONAL([BUILD_LOGGER], [test "x$build_logger" = xyes]) | |
1337 | ||
4c838e6c | 1338 | UL_BUILD_INIT([look], [yes]) |
1b15cbd1 KZ |
1339 | AM_CONDITIONAL([BUILD_LOOK], [test "x$build_look" = xyes]) |
1340 | ||
1341 | UL_BUILD_INIT([mcookie], [yes]) | |
1342 | AM_CONDITIONAL([BUILD_MCOOKIE], [test "x$build_mcookie" = xyes]) | |
1343 | ||
1344 | UL_BUILD_INIT([namei], [yes]) | |
1345 | AM_CONDITIONAL([BUILD_NAMEI], [test "x$build_namei" = xyes]) | |
1346 | ||
1347 | UL_BUILD_INIT([whereis], [yes]) | |
1348 | AM_CONDITIONAL([BUILD_WHEREIS], [test "x$build_whereis" = xyes]) | |
1349 | ||
3adaaa15 KZ |
1350 | UL_BUILD_INIT([getopt], [yes]) |
1351 | AM_CONDITIONAL([BUILD_GETOPT], [test "x$build_getopt" = xyes]) | |
1352 | ||
ecc6047e KZ |
1353 | |
1354 | UL_BUILD_INIT([blockdev], [check]) | |
1355 | UL_REQUIRES_LINUX([blockdev]) | |
1356 | AM_CONDITIONAL([BUILD_BLOCKDEV], [test "x$build_blockdev" = xyes]) | |
1357 | ||
1358 | ||
945ac250 KZ |
1359 | UL_BUILD_INIT([prlimit], [check]) |
1360 | UL_REQUIRES_LINUX([prlimit]) | |
7477f356 | 1361 | UL_REQUIRES_BUILD([prlimit], [libsmartcols]) |
945ac250 | 1362 | UL_REQUIRES_SYSCALL_CHECK([prlimit], [UL_CHECK_SYSCALL([prlimit64])], [prlimit64]) |
034d378b | 1363 | AM_CONDITIONAL([BUILD_PRLIMIT], [test "x$build_prlimit" = xyes]) |
3013eb9d | 1364 | AS_IF([test "x$build_prlimit" = xyes], [ |
945ac250 | 1365 | AC_CHECK_FUNCS([prlimit]) |
3013eb9d | 1366 | ]) |
945ac250 KZ |
1367 | |
1368 | ||
3dc02ef4 DB |
1369 | UL_BUILD_INIT([lslocks], [check]) |
1370 | UL_REQUIRES_LINUX([lslocks]) | |
ec1204dc | 1371 | UL_REQUIRES_BUILD([lslocks], [libmount]) |
7477f356 | 1372 | UL_REQUIRES_BUILD([lslocks], [libsmartcols]) |
034d378b | 1373 | AM_CONDITIONAL([BUILD_LSLOCKS], [test "x$build_lslocks" = xyes]) |
3dc02ef4 DB |
1374 | |
1375 | ||
bd671347 KZ |
1376 | AC_ARG_ENABLE([switch_root], |
1377 | AS_HELP_STRING([--disable-switch_root], [do not build switch_root]), | |
08b1c219 | 1378 | [], [UL_DEFAULT_ENABLE([switch_root], [check])] |
bd671347 | 1379 | ) |
61a074f7 | 1380 | UL_BUILD_INIT([switch_root]) |
a3d3b770 KZ |
1381 | UL_REQUIRES_LINUX([switch_root]) |
1382 | UL_REQUIRES_HAVE([switch_root], [openat], [openat function]) | |
034d378b | 1383 | AM_CONDITIONAL([BUILD_SWITCH_ROOT], [test "x$build_switch_root" = xyes]) |
bd671347 KZ |
1384 | |
1385 | ||
11125e7a KZ |
1386 | AC_ARG_ENABLE([pivot_root], |
1387 | AS_HELP_STRING([--disable-pivot_root], [do not build pivot_root]), | |
08b1c219 | 1388 | [], [UL_DEFAULT_ENABLE([pivot_root], [check])] |
11125e7a | 1389 | ) |
61a074f7 | 1390 | UL_BUILD_INIT([pivot_root]) |
5cbbdfbf | 1391 | UL_REQUIRES_LINUX([pivot_root]) |
9f632667 | 1392 | UL_REQUIRES_SYSCALL_CHECK([pivot_root], [UL_CHECK_SYSCALL([pivot_root])]) |
034d378b | 1393 | AM_CONDITIONAL([BUILD_PIVOT_ROOT], [test "x$build_pivot_root" = xyes]) |
11125e7a KZ |
1394 | |
1395 | ||
205dbb7a | 1396 | UL_BUILD_INIT([flock], [yes]) |
254743e4 | 1397 | UL_REQUIRES_HAVE([flock], [timer], [timer_create function]) |
205dbb7a KZ |
1398 | AM_CONDITIONAL([BUILD_FLOCK], [test "x$build_flock" = xyes]) |
1399 | ||
1400 | UL_BUILD_INIT([ipcmk], [yes]) | |
1401 | AM_CONDITIONAL([BUILD_IPCMK], [test "x$build_ipcmk" = xyes]) | |
1402 | ||
1403 | UL_BUILD_INIT([ipcrm], [yes]) | |
1404 | AM_CONDITIONAL([BUILD_IPCRM], [test "x$build_ipcrm" = xyes]) | |
1405 | ||
1406 | UL_BUILD_INIT([ipcs], [yes]) | |
1407 | AM_CONDITIONAL([BUILD_IPCS], [test "x$build_ipcs" = xyes]) | |
1408 | ||
9d20ffda KZ |
1409 | UL_BUILD_INIT([lsipc], [check]) |
1410 | UL_REQUIRES_LINUX([lsipc]) | |
1411 | UL_REQUIRES_BUILD([lsipc], [libsmartcols]) | |
1412 | AM_CONDITIONAL([BUILD_LSIPC], [test "x$build_lsipc" = xyes]) | |
1413 | ||
8a204562 KZ |
1414 | UL_BUILD_INIT([lsns], [check]) |
1415 | UL_REQUIRES_LINUX([lsns]) | |
1416 | UL_REQUIRES_BUILD([lsns], [libsmartcols]) | |
1417 | AM_CONDITIONAL([BUILD_LSNS], [test "x$build_lsns" = xyes]) | |
1418 | ||
205dbb7a KZ |
1419 | UL_BUILD_INIT([renice], [yes]) |
1420 | AM_CONDITIONAL([BUILD_RENICE], [test "x$build_renice" = xyes]) | |
1421 | ||
1422 | UL_BUILD_INIT([setsid], [yes]) | |
1423 | AM_CONDITIONAL([BUILD_SETSID], [test "x$build_setsid" = xyes]) | |
1424 | ||
1425 | UL_BUILD_INIT([readprofile], [check]) | |
1426 | UL_REQUIRES_LINUX([readprofile]) | |
1427 | AM_CONDITIONAL([BUILD_READPROFILE], [test "x$build_readprofile" = xyes]) | |
1428 | ||
1429 | UL_BUILD_INIT([dmesg], [check]) | |
1430 | UL_REQUIRES_LINUX([dmesg]) | |
1431 | AM_CONDITIONAL([BUILD_DMESG], [test "x$build_dmesg" = xyes]) | |
1432 | ||
1433 | UL_BUILD_INIT([ctrlaltdel], [check]) | |
1434 | UL_REQUIRES_LINUX([ctrlaltdel]) | |
e52b58e6 CTV |
1435 | dnl we assume reboot() to be the 1-argument variant, because even considering |
1436 | dnl widely used alternative C libraries like uclibc, dietlibc and musl, | |
1437 | dnl reboot() with multiple arguments is yet only found in glibc versions | |
1438 | dnl earlier than 2.x. | |
1439 | UL_REQUIRES_HAVE([ctrlaltdel], [reboot]) | |
205dbb7a KZ |
1440 | AM_CONDITIONAL([BUILD_CTRLALTDEL], [test "x$build_ctrlaltdel" = xyes]) |
1441 | ||
1442 | UL_BUILD_INIT([fsfreeze], [check]) | |
1443 | UL_REQUIRES_LINUX([fsfreeze]) | |
1444 | AM_CONDITIONAL([BUILD_FSFREEZE], [test "x$build_fsfreeze" = xyes]) | |
1445 | ||
1446 | UL_BUILD_INIT([blkdiscard], [check]) | |
1447 | UL_REQUIRES_LINUX([blkdiscard]) | |
1448 | AM_CONDITIONAL([BUILD_BLKDISCARD], [test "x$build_blkdiscard" = xyes]) | |
1449 | ||
1450 | UL_BUILD_INIT([ldattach], [check]) | |
1451 | UL_REQUIRES_LINUX([ldattach]) | |
1452 | AM_CONDITIONAL([BUILD_LDATTACH], [test "x$build_ldattach" = xyes]) | |
1453 | ||
1454 | UL_BUILD_INIT([rtcwake], [check]) | |
1455 | UL_REQUIRES_LINUX([rtcwake]) | |
1456 | AM_CONDITIONAL([BUILD_RTCWAKE], [test "x$build_rtcwake" = xyes]) | |
1457 | ||
1458 | UL_BUILD_INIT([setarch], [check]) | |
1459 | UL_REQUIRES_LINUX([setarch]) | |
1460 | AM_CONDITIONAL([BUILD_SETARCH], [test "x$build_setarch" = xyes]) | |
1461 | ||
d3a1e3bf KZ |
1462 | UL_BUILD_INIT([script], [check]) |
1463 | UL_REQUIRES_LINUX([script]) | |
3f91b990 KZ |
1464 | AM_CONDITIONAL([BUILD_SCRIPT], [test "x$build_script" = xyes]) |
1465 | ||
1466 | UL_BUILD_INIT([scriptreplay], [yes]) | |
1467 | AM_CONDITIONAL([BUILD_SCRIPTREPLAY], [test "x$build_scriptreplay" = xyes]) | |
1468 | ||
cb45354e KZ |
1469 | UL_BUILD_INIT([col], [yes]) |
1470 | AM_CONDITIONAL([BUILD_COL], [test "x$build_col" = xyes]) | |
1471 | ||
1472 | UL_BUILD_INIT([colcrt], [yes]) | |
1473 | AM_CONDITIONAL([BUILD_COLCRT], [test "x$build_colcrt" = xyes]) | |
1474 | ||
1475 | UL_BUILD_INIT([colrm], [yes]) | |
1476 | AM_CONDITIONAL([BUILD_COLRM], [test "x$build_colrm" = xyes]) | |
1477 | ||
1478 | UL_BUILD_INIT([column], [yes]) | |
1479 | AM_CONDITIONAL([BUILD_COLUMN], [test "x$build_column" = xyes]) | |
1480 | ||
1481 | UL_BUILD_INIT([hexdump], [yes]) | |
1482 | AM_CONDITIONAL([BUILD_HEXDUMP], [test "x$build_hexdump" = xyes]) | |
1483 | ||
1484 | UL_BUILD_INIT([rev], [yes]) | |
1485 | AM_CONDITIONAL([BUILD_REV], [test "x$build_rev" = xyes]) | |
1486 | ||
1487 | UL_BUILD_INIT([tailf], [yes]) | |
1488 | AM_CONDITIONAL([BUILD_TAILF], [test "x$build_tailf" = xyes]) | |
1489 | ||
3f91b990 | 1490 | |
1342ffcb SK |
1491 | AC_ARG_ENABLE([tunelp], |
1492 | AS_HELP_STRING([--enable-tunelp], [build tunelp]), | |
08b1c219 | 1493 | [], [UL_DEFAULT_ENABLE([tunelp], [no])] |
1342ffcb SK |
1494 | ) |
1495 | UL_BUILD_INIT([tunelp]) | |
1496 | UL_REQUIRES_LINUX([tunelp]) | |
034d378b | 1497 | AM_CONDITIONAL([BUILD_TUNELP], [test "x$build_tunelp" = xyes]) |
1342ffcb SK |
1498 | |
1499 | ||
48d7b13a | 1500 | AC_ARG_ENABLE([kill], |
4be753aa | 1501 | AS_HELP_STRING([--disable-kill], [do not build kill]), |
08b1c219 | 1502 | [], [UL_DEFAULT_ENABLE([kill], [check])] |
48d7b13a | 1503 | ) |
61a074f7 | 1504 | UL_BUILD_INIT([kill]) |
4be753aa | 1505 | UL_REQUIRES_LINUX([kill]) |
034d378b | 1506 | AM_CONDITIONAL([BUILD_KILL], [test "x$build_kill" = xyes]) |
48d7b13a | 1507 | |
ce602720 | 1508 | |
48d7b13a | 1509 | AC_ARG_ENABLE([last], |
ce602720 | 1510 | AS_HELP_STRING([--disable-last], [do not build last]), |
08b1c219 | 1511 | [], [UL_DEFAULT_ENABLE([last], [check])] |
48d7b13a | 1512 | ) |
61a074f7 | 1513 | UL_BUILD_INIT([last]) |
034d378b | 1514 | AM_CONDITIONAL([BUILD_LAST], [test "x$build_last" = xyes]) |
2dc68529 | 1515 | |
48d7b13a | 1516 | |
78d5ceac | 1517 | AC_ARG_ENABLE([utmpdump], |
c9b53461 | 1518 | AS_HELP_STRING([--disable-utmpdump], [do not build utmpdump]), |
08b1c219 | 1519 | [], [UL_DEFAULT_ENABLE([utmpdump], [yes])] |
78d5ceac KZ |
1520 | ) |
1521 | UL_BUILD_INIT([utmpdump]) | |
034d378b | 1522 | AM_CONDITIONAL([BUILD_UTMPDUMP], [test "x$build_utmpdump" = xyes]) |
78d5ceac KZ |
1523 | |
1524 | ||
c135a8bd SK |
1525 | AC_ARG_ENABLE([line], |
1526 | AS_HELP_STRING([--enable-line], [build line]), | |
08b1c219 | 1527 | [], [UL_DEFAULT_ENABLE([line], [no])] |
c135a8bd | 1528 | ) |
61a074f7 | 1529 | UL_BUILD_INIT([line]) |
034d378b | 1530 | AM_CONDITIONAL([BUILD_LINE], [test "x$build_line" = xyes]) |
2dc68529 | 1531 | |
48d7b13a KZ |
1532 | |
1533 | AC_ARG_ENABLE([mesg], | |
5c0b406d | 1534 | AS_HELP_STRING([--disable-mesg], [do not build mesg]), |
08b1c219 | 1535 | [], [UL_DEFAULT_ENABLE([mesg], [yes])] |
48d7b13a | 1536 | ) |
61a074f7 | 1537 | UL_BUILD_INIT([mesg]) |
034d378b | 1538 | AM_CONDITIONAL([BUILD_MESG], [test "x$build_mesg" = xyes]) |
48d7b13a KZ |
1539 | |
1540 | ||
48d7b13a | 1541 | AC_ARG_ENABLE([raw], |
5c0b406d | 1542 | AS_HELP_STRING([--disable-raw], [do not build raw]), |
08b1c219 | 1543 | [], [UL_DEFAULT_ENABLE([raw], [check])] |
48d7b13a | 1544 | ) |
61a074f7 | 1545 | UL_BUILD_INIT([raw]) |
16ba8d58 KZ |
1546 | UL_REQUIRES_LINUX([raw]) |
1547 | UL_REQUIRES_HAVE([raw], [linux_raw_h], [raw.h header file]) | |
034d378b | 1548 | AM_CONDITIONAL([BUILD_RAW], [test "x$build_raw" = xyes]) |
48d7b13a KZ |
1549 | |
1550 | ||
48d7b13a | 1551 | AC_ARG_ENABLE([rename], |
7fa4f112 | 1552 | AS_HELP_STRING([--disable-rename], [do not build rename]), |
08b1c219 | 1553 | [], [UL_DEFAULT_ENABLE([rename], [yes])] |
48d7b13a | 1554 | ) |
61a074f7 | 1555 | UL_BUILD_INIT([rename]) |
034d378b | 1556 | AM_CONDITIONAL([BUILD_RENAME], [test "x$build_rename" = xyes]) |
48d7b13a KZ |
1557 | |
1558 | ||
1559 | AC_ARG_ENABLE([reset], | |
7fa4f112 | 1560 | AS_HELP_STRING([--enable-reset], [build reset]), |
08b1c219 | 1561 | [], [UL_DEFAULT_ENABLE([reset], [no])] |
48d7b13a | 1562 | ) |
61a074f7 | 1563 | UL_BUILD_INIT([reset]) |
034d378b | 1564 | AM_CONDITIONAL([BUILD_RESET], [test "x$build_reset" = xyes]) |
48d7b13a KZ |
1565 | |
1566 | ||
cc76731e KZ |
1567 | AC_ARG_ENABLE([vipw], |
1568 | AS_HELP_STRING([--enable-vipw], [build vipw]), | |
08b1c219 | 1569 | [], [UL_DEFAULT_ENABLE([vipw], [no])] |
48d7b13a | 1570 | ) |
cc76731e | 1571 | UL_BUILD_INIT([vipw]) |
034d378b | 1572 | AM_CONDITIONAL([BUILD_VIPW], [test "x$build_vipw" = xyes]) |
9cb68977 | 1573 | |
c94b3604 | 1574 | |
aec9ecbd KZ |
1575 | AC_ARG_ENABLE([newgrp], |
1576 | AS_HELP_STRING([--enable-newgrp], [build newgrp]), | |
08b1c219 | 1577 | [], [UL_DEFAULT_ENABLE([newgrp], [no])] |
aec9ecbd KZ |
1578 | ) |
1579 | UL_BUILD_INIT([newgrp]) | |
034d378b | 1580 | AM_CONDITIONAL([BUILD_NEWGRP], [test "x$build_newgrp" = xyes]) |
aec9ecbd KZ |
1581 | |
1582 | ||
d86918b6 | 1583 | AC_ARG_WITH([user], AS_HELP_STRING([--without-user], [compile without libuser (remote chsh)]), |
034d378b | 1584 | [], [with_user=check] |
7e4714f2 | 1585 | ) |
6e93c52f | 1586 | have_user=no |
3013eb9d | 1587 | AS_IF([test "x$with_user" != xno], [ |
2771954b | 1588 | PKG_CHECK_MODULES(LIBUSER,[libuser >= 0.58], [have_user=yes], [have_user=no]) |
9f57e6e8 SK |
1589 | AS_CASE([$with_user:$have_user], |
1590 | [yes:no], | |
1591 | [AC_MSG_ERROR([user selected but libuser not found])], | |
1592 | [*:yes], | |
1593 | [AC_DEFINE([HAVE_LIBUSER], [1], [Define if libuser is available])] | |
1594 | ) | |
1f6ec24c KZ |
1595 | # temporary solution, libuser has stupid .pc where are exported all |
1596 | # private dependencies to Requires: instead of Requires.private: | |
3013eb9d | 1597 | AS_IF([test "x$have_user" = xyes], [ |
1f6ec24c | 1598 | LIBUSER_LIBS=-luser |
3013eb9d SK |
1599 | ]) |
1600 | ]) | |
034d378b | 1601 | AM_CONDITIONAL([HAVE_USER], [test "x$have_user" = xyes]) |
7e4714f2 | 1602 | |
d86918b6 KZ |
1603 | AC_ARG_ENABLE([chfn-chsh-password], |
1604 | AS_HELP_STRING([--disable-chfn-chsh-password], [do not require the user to enter the password in chfn and chsh]), | |
034d378b | 1605 | [], [enable_chfn_chsh_password=yes] |
d86918b6 KZ |
1606 | ) |
1607 | ||
1608 | AC_ARG_ENABLE([chfn-chsh], | |
1609 | AS_HELP_STRING([--enable-chfn-chsh], [build chfn and chsh]), | |
9a4e9c9d | 1610 | [], [UL_DEFAULT_ENABLE([chfn_chsh], [check])] |
d86918b6 KZ |
1611 | ) |
1612 | UL_BUILD_INIT([chfn_chsh]) | |
1613 | ||
3013eb9d | 1614 | AS_IF([test "x$enable_chfn_chsh_password" = xyes -o "x$have_user" = xyes], [ |
fe2c9909 | 1615 | UL_REQUIRES_HAVE([chfn_chsh], [security_pam_appl_h], [PAM header file]) |
034d378b | 1616 | AC_DEFINE([CHFN_CHSH_PASSWORD], [1], [Should chfn and chsh require the user to enter the password?]) |
3013eb9d | 1617 | ]) |
034d378b SK |
1618 | AM_CONDITIONAL([BUILD_CHFN_CHSH], [test "x$build_chfn_chsh" = xyes]) |
1619 | AM_CONDITIONAL([CHFN_CHSH_PASSWORD], [test "x$enable_chfn_chsh_password" = xyes]) | |
d86918b6 KZ |
1620 | |
1621 | AC_ARG_ENABLE([chsh-only-listed], | |
5c0b406d BS |
1622 | AS_HELP_STRING([--disable-chsh-only-listed], [chsh: allow shells not in /etc/shells]), |
1623 | [], enable_chsh_only_listed=yes | |
d86918b6 | 1624 | ) |
7e4714f2 | 1625 | |
3013eb9d SK |
1626 | AS_IF([test "x$enable_chsh_only_listed" = xyes], [ |
1627 | AC_DEFINE([ONLY_LISTED_SHELLS], [1], [Should chsh allow only shells in /etc/shells?]) | |
1628 | ]) | |
71681ee5 | 1629 | |
2c8a3e16 | 1630 | |
e7614a07 KZ |
1631 | AC_ARG_ENABLE([login], |
1632 | AS_HELP_STRING([--disable-login], [do not build login]), | |
08b1c219 | 1633 | [], [UL_DEFAULT_ENABLE([login], [check])] |
e7614a07 KZ |
1634 | ) |
1635 | UL_BUILD_INIT([login]) | |
fe2c9909 WJ |
1636 | UL_REQUIRES_HAVE([login], [security_pam_appl_h], [PAM header file]) |
1637 | UL_REQUIRES_HAVE([login], [security_pam_misc_h, security_openpam_h], [PAM conversation functions]) | |
034d378b | 1638 | AM_CONDITIONAL([BUILD_LOGIN], [test "x$build_login" = xyes]) |
e7614a07 | 1639 | |
71681ee5 KZ |
1640 | AC_ARG_ENABLE([login-chown-vcs], |
1641 | AS_HELP_STRING([--enable-login-chown-vcs], [let login chown /dev/vcsN]), | |
034d378b | 1642 | [], [enable_login_chown_vcs=no] |
71681ee5 KZ |
1643 | ) |
1644 | ||
3013eb9d | 1645 | AS_IF([test "x$enable_login_chown_vcs" = xyes], [ |
034d378b | 1646 | AC_DEFINE([LOGIN_CHOWN_VCS], [1], [Should login chown /dev/vcsN?]) |
3013eb9d | 1647 | ]) |
71681ee5 KZ |
1648 | |
1649 | AC_ARG_ENABLE([login-stat-mail], | |
1650 | AS_HELP_STRING([--enable-login-stat-mail], [let login stat() the mailbox]), | |
034d378b | 1651 | [], [enable_login_stat_mail=no] |
71681ee5 KZ |
1652 | ) |
1653 | ||
3013eb9d | 1654 | AS_IF([test "x$enable_login_stat_mail" = xyes], [ |
034d378b | 1655 | AC_DEFINE([LOGIN_STAT_MAIL], [1], [Should login stat() the mailbox?]) |
3013eb9d | 1656 | ]) |
71681ee5 | 1657 | |
e7614a07 | 1658 | |
88407b93 KZ |
1659 | AC_ARG_ENABLE([nologin], |
1660 | AS_HELP_STRING([--disable-nologin], [do not build nologin]), | |
08b1c219 | 1661 | [], [UL_DEFAULT_ENABLE([nologin], [yes])] |
88407b93 KZ |
1662 | ) |
1663 | UL_BUILD_INIT([nologin]) | |
1664 | AM_CONDITIONAL([BUILD_NOLOGIN], [test "x$build_nologin" = xyes]) | |
1665 | ||
1666 | ||
e7614a07 KZ |
1667 | AC_ARG_ENABLE([sulogin], |
1668 | AS_HELP_STRING([--disable-sulogin], [do not build sulogin]), | |
08b1c219 | 1669 | [], [UL_DEFAULT_ENABLE([sulogin], [yes])] |
e7614a07 KZ |
1670 | ) |
1671 | UL_BUILD_INIT([sulogin]) | |
034d378b | 1672 | AM_CONDITIONAL([BUILD_SULOGIN], [test "x$build_sulogin" = xyes]) |
e7614a07 | 1673 | |
f17f5f48 | 1674 | |
ff4c5555 KZ |
1675 | AC_ARG_ENABLE([su], |
1676 | AS_HELP_STRING([--disable-su], [do not build su]), | |
08b1c219 | 1677 | [], [UL_DEFAULT_ENABLE([su], [check])] |
ff4c5555 KZ |
1678 | ) |
1679 | UL_BUILD_INIT([su]) | |
fe2c9909 | 1680 | UL_REQUIRES_HAVE([su], [security_pam_appl_h], [PAM header file]) |
034d378b | 1681 | AM_CONDITIONAL([BUILD_SU], [test "x$build_su" = xyes]) |
ff4c5555 KZ |
1682 | |
1683 | ||
7ec6adb1 KZ |
1684 | AC_ARG_ENABLE([runuser], |
1685 | AS_HELP_STRING([--disable-runuser], [do not build runuser]), | |
08b1c219 | 1686 | [], [UL_DEFAULT_ENABLE([runuser], [check])] |
7ec6adb1 KZ |
1687 | ) |
1688 | UL_BUILD_INIT([runuser]) | |
fe2c9909 | 1689 | UL_REQUIRES_HAVE([runuser], [security_pam_appl_h], [PAM header file]) |
034d378b | 1690 | AM_CONDITIONAL([BUILD_RUNUSER], [test "x$build_runuser" = xyes]) |
7ec6adb1 KZ |
1691 | |
1692 | ||
53b22add KZ |
1693 | AC_ARG_ENABLE([ul], |
1694 | AS_HELP_STRING([--disable-ul], [do not build ul]), | |
08b1c219 | 1695 | [], [UL_DEFAULT_ENABLE([ul], [check])] |
53b22add KZ |
1696 | ) |
1697 | UL_BUILD_INIT([ul]) | |
1698 | UL_REQUIRES_HAVE([ul], [ncurses, tinfo], [ncurses or tinfo libraries]) | |
034d378b | 1699 | AM_CONDITIONAL([BUILD_UL], [test "x$build_ul" = xyes]) |
53b22add KZ |
1700 | |
1701 | ||
1702 | AC_ARG_ENABLE([more], | |
1703 | AS_HELP_STRING([--disable-more], [do not build more]), | |
08b1c219 | 1704 | [], [UL_DEFAULT_ENABLE([more], [check])] |
53b22add KZ |
1705 | ) |
1706 | UL_BUILD_INIT([more]) | |
1707 | UL_REQUIRES_HAVE([more], [ncurses, tinfo, termcap], [ncurses, tinfo or termcap libraries]) | |
034d378b | 1708 | AM_CONDITIONAL([BUILD_MORE], [test "x$build_more" = xyes]) |
53b22add KZ |
1709 | |
1710 | ||
1711 | AC_ARG_ENABLE([pg], | |
1712 | AS_HELP_STRING([--disable-pg], [do not build pg]), | |
08b1c219 | 1713 | [], [UL_DEFAULT_ENABLE([pg], [check])] |
53b22add KZ |
1714 | ) |
1715 | UL_BUILD_INIT([pg]) | |
1716 | UL_REQUIRES_HAVE([pg], [ncurses], [ncurses or ncursesw library]) | |
034d378b | 1717 | AM_CONDITIONAL([BUILD_PG], [test "x$build_pg" = xyes]) |
53b22add KZ |
1718 | |
1719 | ||
d78d0409 KZ |
1720 | AC_ARG_ENABLE([setterm], |
1721 | AS_HELP_STRING([--disable-setterm], [do not build setterm]), | |
08b1c219 | 1722 | [], [UL_DEFAULT_ENABLE([setterm], [check])] |
d78d0409 KZ |
1723 | ) |
1724 | UL_BUILD_INIT([setterm]) | |
1725 | UL_REQUIRES_LINUX([setterm]) | |
1726 | UL_REQUIRES_HAVE([setterm], [ncurses], [ncurses library]) | |
034d378b | 1727 | AM_CONDITIONAL([BUILD_SETTERM], [test "x$build_setterm" = xyes]) |
d78d0409 | 1728 | |
d6ace0b8 KZ |
1729 | # build_schedutils= is just configure-only variable to control |
1730 | # ionice, taskset and chrt | |
48d7b13a | 1731 | AC_ARG_ENABLE([schedutils], |
34228e69 | 1732 | AS_HELP_STRING([--disable-schedutils], [do not build chrt, ionice, taskset]), |
08b1c219 | 1733 | [], [UL_DEFAULT_ENABLE([schedutils], [yes])] |
48d7b13a | 1734 | ) |
61a074f7 | 1735 | UL_BUILD_INIT([schedutils]) |
17d5e11b | 1736 | |
61a074f7 | 1737 | UL_BUILD_INIT([ionice], [check]) |
17d5e11b KZ |
1738 | UL_REQUIRES_BUILD([ionice], [schedutils]) |
1739 | UL_REQUIRES_SYSCALL_CHECK([ionice], | |
1740 | [UL_CHECK_SYSCALL([ioprio_set], | |
f06b4328 SK |
1741 | [alpha], [442], |
1742 | [i*86], [289], | |
1743 | [ia64*], [1274], | |
1744 | [powerpc*], [273], | |
1745 | [s390*], [282], | |
1746 | [sparc*], [196], | |
1747 | [sh*], [288], | |
1748 | [x86_64*], [251])], | |
17d5e11b KZ |
1749 | [ioprio_set]) |
1750 | ||
1751 | UL_REQUIRES_SYSCALL_CHECK([ionice], | |
1752 | [UL_CHECK_SYSCALL([ioprio_get], | |
f06b4328 SK |
1753 | [alpha], [443], |
1754 | [i*86], [290], | |
1755 | [ia64*], [1275], | |
1756 | [powerpc*], [274], | |
1757 | [s390*], [283], | |
1758 | [sparc*], [218], | |
1759 | [sh*], [289], | |
1760 | [x86_64*], [252])], | |
17d5e11b KZ |
1761 | [ioprio_get]) |
1762 | ||
034d378b | 1763 | AM_CONDITIONAL([BUILD_IONICE], [test "x$build_ionice" = xyes]) |
17d5e11b | 1764 | |
61a074f7 | 1765 | UL_BUILD_INIT([taskset], [check]) |
17d5e11b | 1766 | UL_REQUIRES_BUILD([taskset], [schedutils]) |
e21e6d26 | 1767 | UL_REQUIRES_HAVE([taskset], [cpu_set_t], [cpu_set_t type]) |
17d5e11b KZ |
1768 | UL_REQUIRES_SYSCALL_CHECK([taskset], |
1769 | [UL_CHECK_SYSCALL([sched_getaffinity])], | |
1770 | [sched_getaffinity]) | |
034d378b | 1771 | AM_CONDITIONAL([BUILD_TASKSET], [test "x$build_taskset" = xyes]) |
48d7b13a | 1772 | |
d6ace0b8 KZ |
1773 | UL_BUILD_INIT([chrt], [check]) |
1774 | UL_REQUIRES_BUILD([chrt], [schedutils]) | |
1775 | AM_CONDITIONAL([BUILD_CHRT], [test "x$build_chrt" = xyes]) | |
1776 | ||
15167589 KZ |
1777 | AS_IF([test "x$build_chrt" = xyes], [ |
1778 | UL_CHECK_SYSCALL([sched_setattr]) | |
1779 | ]) | |
1780 | ||
48d7b13a KZ |
1781 | |
1782 | AC_ARG_ENABLE([wall], | |
7fa4f112 | 1783 | AS_HELP_STRING([--disable-wall], [do not build wall]), |
08b1c219 | 1784 | [], [UL_DEFAULT_ENABLE([wall], [yes])] |
48d7b13a | 1785 | ) |
8fc8888b | 1786 | UL_BUILD_INIT([wall]) |
034d378b | 1787 | AM_CONDITIONAL([BUILD_WALL], [test "x$build_wall" = xyes]) |
48d7b13a KZ |
1788 | |
1789 | ||
1790 | AC_ARG_ENABLE([write], | |
7fa4f112 | 1791 | AS_HELP_STRING([--enable-write], [build write]), |
08b1c219 | 1792 | [], [UL_DEFAULT_ENABLE([write], [no])] |
48d7b13a | 1793 | ) |
61a074f7 | 1794 | UL_BUILD_INIT([write]) |
034d378b | 1795 | AM_CONDITIONAL([BUILD_WRITE], [test "x$build_write" = xyes]) |
48d7b13a KZ |
1796 | |
1797 | ||
5a971329 KZ |
1798 | AC_ARG_WITH([btrfs], |
1799 | AS_HELP_STRING([--with-btrfs], [build with support for btrfs]), | |
1800 | [], [with_btrfs=check] | |
1801 | ) | |
1802 | have_btrfs=no | |
1803 | AS_IF([test "x$with_btrfs" != xno], [ | |
1804 | AS_CASE([$with_btrfs:$have_linux_btrfs_h], | |
1805 | [yes:no], | |
1806 | [AC_MSG_ERROR([btrfs selected but linux/btrfs.h not found])], | |
1807 | [check:no], | |
1808 | [AC_MSG_WARN([linux/btrfs.h not found, do not build with btrfs support])], | |
1809 | [*:yes], | |
1810 | [have_btrfs=yes | |
1811 | AC_DEFINE([HAVE_BTRFS_SUPPORT], [1], [Define if btrfs stuff is available])] | |
1812 | ) | |
1813 | ]) | |
1814 | AM_CONDITIONAL([HAVE_BTRFS], [test "x$have_btrfs" = xyes]) | |
1815 | ||
1816 | ||
ebff016a KZ |
1817 | AC_ARG_WITH([systemd], |
1818 | AS_HELP_STRING([--with-systemd], [build with support for systemd]), | |
1819 | [], [with_systemd=check] | |
1820 | ) | |
1821 | ||
1822 | have_systemd=no | |
1823 | AS_IF([test "x$with_systemd" != xno], [ | |
1824 | # new version -- all libsystemd-* libs merged into libsystemd | |
1825 | PKG_CHECK_MODULES([SYSTEMD], [libsystemd], [have_systemd=yes], [have_systemd=no]) | |
1826 | # old versions | |
1827 | AS_IF([test "x$have_systemd" != "xyes"], [ | |
1828 | PKG_CHECK_MODULES([SYSTEMD_DAEMON], [libsystemd-daemon], | |
1829 | [have_systemd_daemon=yes], [have_systemd_daemon=no]) | |
1830 | PKG_CHECK_MODULES([SYSTEMD_JOURNAL], [libsystemd-journal], | |
1831 | [have_systemd_journal=yes], [have_systemd_journal=no]) | |
1832 | AS_IF([test "x$have_systemd_daemon" = "xyes" -a "x$have_systemd_journal" = "xyes" ],[ | |
1833 | have_systemd=yes]) | |
ea45d34c | 1834 | ]) |
ebff016a KZ |
1835 | AS_CASE([$with_systemd:$have_systemd], |
1836 | [yes:no], | |
1837 | [AC_MSG_ERROR([systemd expected but libsystemd not found])], | |
1838 | [*:yes], | |
1839 | AC_DEFINE([HAVE_LIBSYSTEMD], [1], [Define if libsystemd is available]) | |
1840 | ) | |
3013eb9d | 1841 | ]) |
ebff016a KZ |
1842 | AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$have_systemd" = xyes]) |
1843 | ||
bbe289c4 | 1844 | |
1b68c379 PU |
1845 | AC_ARG_WITH([systemdsystemunitdir], |
1846 | AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [directory for systemd service files]), | |
c8498f2f | 1847 | [], [with_systemdsystemunitdir=`$PKG_CONFIG --variable=systemdsystemunitdir systemd`]) |
1b68c379 | 1848 | |
3013eb9d | 1849 | AS_IF([test "x$with_systemdsystemunitdir" != "xno"], [ |
1b68c379 | 1850 | AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) |
3013eb9d | 1851 | ]) |
1b68c379 | 1852 | |
bbe289c4 | 1853 | |
b8095d25 KZ |
1854 | AC_ARG_WITH([smack], |
1855 | AS_HELP_STRING([--with-smack], [build with SMACK support]), | |
1856 | [], [with_smack=no] | |
1857 | ) | |
1858 | AS_IF([test "x$with_smack" = xyes], [ | |
1859 | AC_DEFINE([HAVE_SMACK], [1], [Add SMACK support]) | |
1860 | ]) | |
1861 | ||
1862 | ||
9cc36e9f SK |
1863 | AC_ARG_WITH([bashcompletiondir], |
1864 | AS_HELP_STRING([--with-bashcompletiondir=DIR], [Bash completions directory]), | |
1865 | [], | |
c8498f2f SK |
1866 | [AS_IF([`$PKG_CONFIG --exists bash-completion`], [ |
1867 | with_bashcompletiondir=`$PKG_CONFIG --variable=completionsdir bash-completion` | |
9cc36e9f SK |
1868 | ], [ |
1869 | with_bashcompletiondir=${datadir}/bash-completion/completions | |
1870 | ]) | |
1871 | ]) | |
1872 | AC_SUBST([bashcompletiondir], [$with_bashcompletiondir]) | |
1873 | ||
ece777e9 KZ |
1874 | AC_ARG_ENABLE([bash-completion], |
1875 | AS_HELP_STRING([--disable-bash-completion], [do not install bash completion files]), | |
034d378b | 1876 | [], [enable_bash_completion=yes] |
ece777e9 KZ |
1877 | ) |
1878 | ||
034d378b | 1879 | AM_CONDITIONAL([BUILD_BASH_COMPLETION], [test "x$enable_bash_completion" = xyes]) |
ece777e9 | 1880 | |
9cc36e9f | 1881 | |
d78df0ac | 1882 | AC_ARG_WITH([python], |
4c54effb KZ |
1883 | AS_HELP_STRING([--without-python], [do not build python bindings, use --with-python={2,3} to force version]), |
1884 | [], [with_python=check withval=check] | |
d78df0ac | 1885 | ) |
8e5c4675 | 1886 | |
d78df0ac | 1887 | have_python=no |
b2ae8c57 | 1888 | have_libpython=no |
8e5c4675 KZ |
1889 | AS_IF([test "x$with_python" != xno], [ |
1890 | # We follow distributions default and look for PKG module name "python" | |
1891 | # (minimal version is 2) but if major version is explicitly specified by | |
1892 | # --with-python=2 or --with-python=3 then we look for PKG module "python2" or | |
1893 | # "python3". | |
4c54effb | 1894 | AS_IF([test "x$withval" != xno -a "x$withval" != xyes -a "x$withval" != xcheck], |
0b567ae5 | 1895 | [pymajor="$withval"; PYTHON=python${pymajor}], [pymajor="2"]) |
b2ae8c57 KZ |
1896 | |
1897 | # check for python interpreter | |
0b567ae5 | 1898 | AM_PATH_PYTHON([$pymajor], [have_python=yes], [have_python=no]) |
8e5c4675 KZ |
1899 | AS_CASE([$with_python:$have_python], |
1900 | [yes:no], | |
b2ae8c57 | 1901 | [AC_MSG_ERROR([python selected but python interpreter not found])], |
4c54effb | 1902 | [check:no], |
b2ae8c57 | 1903 | [AC_MSG_WARN([python interpreter not found, do not build python bindings])], |
4c54effb | 1904 | [*:yes], |
b2ae8c57 KZ |
1905 | # check for python development stuff |
1906 | [PKG_CHECK_MODULES([PYTHON], [python-$PYTHON_VERSION], | |
1907 | [have_libpython=yes], [have_libpython=no])] | |
8e5c4675 | 1908 | ) |
d78df0ac KZ |
1909 | ]) |
1910 | ||
da0ec90b KZ |
1911 | |
1912 | AC_ARG_ENABLE([pylibmount], | |
1913 | AS_HELP_STRING([--disable-pylibmount], [do not build pylibmount]), | |
1914 | [], [UL_DEFAULT_ENABLE([pylibmount], [check])] | |
1915 | ) | |
1916 | UL_BUILD_INIT([pylibmount]) | |
b2ae8c57 | 1917 | UL_REQUIRES_HAVE([pylibmount], [libpython], [libpython]) |
da0ec90b | 1918 | UL_REQUIRES_BUILD([pylibmount], [libmount]) |
d78df0ac KZ |
1919 | AM_CONDITIONAL([BUILD_PYLIBMOUNT], [test "x$build_pylibmount" = "xyes"]) |
1920 | ||
324330ac FB |
1921 | # We need to introduce a verbatim dependency into the Makefile, without automake |
1922 | # trying to interpret it, so push it as a AM_SUBST_NOTMAKE variable. | |
1923 | verbatim_pylibmount_dependency=' | |
1924 | ||
1925 | # pylibmountexec module must be installed after usrlib_exec libraries, | |
1926 | # otherwise the libtool relink step will fail to find libmount.la and | |
1927 | # will try -lmount which is possibly not available. | |
1928 | install-pylibmountexecLTLIBRARIES: install-usrlib_execLTLIBRARIES | |
1929 | ||
1930 | ' | |
1931 | AC_SUBST([verbatim_pylibmount_dependency]) | |
1932 | AM_SUBST_NOTMAKE([verbatim_pylibmount_dependency]) | |
d78df0ac | 1933 | |
48d7b13a | 1934 | AC_ARG_ENABLE([pg-bell], |
7fa4f112 | 1935 | AS_HELP_STRING([--disable-pg-bell], [let pg not ring the bell on invalid keys]), |
034d378b | 1936 | [], [enable_pg_bell=yes] |
48d7b13a KZ |
1937 | ) |
1938 | ||
3013eb9d | 1939 | AS_IF([test "x$enable_pg_bell" = xyes], [ |
034d378b | 1940 | AC_DEFINE([PG_BELL], [1], [Should pg ring the bell on invalid keys?]) |
3013eb9d | 1941 | ]) |
48d7b13a KZ |
1942 | |
1943 | ||
bb4cb69d MF |
1944 | AC_DEFUN([FS_PATHS_DEFAULT], [/sbin:/sbin/fs.d:/sbin/fs]) |
1945 | AC_ARG_ENABLE([fs-paths-default], | |
1946 | AS_HELP_STRING([--enable-fs-paths-default=paths], [default search path for fs helpers @<:@FS_PATHS_DEFAULT@:>@]), | |
9f57e6e8 SK |
1947 | [AS_CASE([$enableval], |
1948 | [yes], [fs_paths_defaults="FS_PATHS_DEFAULT"], | |
1949 | [no], [fs_paths_defaults=""], | |
1950 | [fs_paths_defaults="$enableval"] | |
1951 | )], | |
bb4cb69d MF |
1952 | [fs_paths_defaults="FS_PATHS_DEFAULT"] |
1953 | ) | |
1954 | AC_ARG_ENABLE([fs-paths-extra], | |
1955 | AS_HELP_STRING([--enable-fs-paths-extra=paths], [additional search paths for fs helpers]), | |
9f57e6e8 SK |
1956 | [AS_CASE([$enableval], |
1957 | [yes|no], [fs_paths_extra=""], | |
1958 | [fs_paths_extra="$enableval"] | |
1959 | )], | |
bb4cb69d MF |
1960 | [fs_paths_extra=""] |
1961 | ) | |
1962 | fs_paths="$fs_paths_defaults" | |
3013eb9d SK |
1963 | AS_IF([test "x$fs_paths_extra" != "x"], [ |
1964 | AS_IF([test "x$fs_paths" != "x"], [ | |
bb4cb69d | 1965 | fs_paths="${fs_paths}:" |
3013eb9d | 1966 | ]) |
bb4cb69d | 1967 | fs_paths="${fs_paths}${fs_paths_extra}" |
3013eb9d | 1968 | ]) |
bb4cb69d MF |
1969 | AC_DEFINE_UNQUOTED([FS_SEARCH_PATH], "$fs_paths", [search path for fs helpers]) |
1970 | ||
1971 | ||
48d7b13a | 1972 | AC_ARG_ENABLE([use-tty-group], |
7fa4f112 | 1973 | AS_HELP_STRING([--disable-use-tty-group], [do not install wall and write setgid tty]), |
034d378b | 1974 | [], [enable_use_tty_group=yes] |
48d7b13a | 1975 | ) |
034d378b | 1976 | AM_CONDITIONAL([USE_TTY_GROUP], [test "x$enable_use_tty_group" = xyes]) |
48d7b13a | 1977 | |
3013eb9d | 1978 | AS_IF([test "x$enable_use_tty_group" = xyes], [ |
034d378b | 1979 | AC_DEFINE([USE_TTY_GROUP], [1], [Should wall and write be installed setgid tty?]) |
3013eb9d | 1980 | ]) |
48d7b13a | 1981 | |
ab6478ef WF |
1982 | |
1983 | AC_ARG_ENABLE([sulogin-emergency-mount], | |
479d50bd DR |
1984 | AS_HELP_STRING([--enable-sulogin-emergency-mount], |
1985 | [use emergency mount of /dev and /proc for sulogin]), | |
034d378b | 1986 | [], [enable_sulogin_emergency_mount=no] |
ab6478ef WF |
1987 | ) |
1988 | ||
3013eb9d | 1989 | AS_IF([test "x$enable_sulogin_emergency_mount" = xyes], [ |
034d378b | 1990 | AC_DEFINE([USE_SULOGIN_EMERGENCY_MOUNT], [1], |
ab6478ef | 1991 | [Should sulogin use a emergency mount of /dev and /proc?]) |
3013eb9d | 1992 | ]) |
ab6478ef WF |
1993 | |
1994 | ||
f71d1104 KZ |
1995 | AC_ARG_ENABLE([usrdir-path], |
1996 | AS_HELP_STRING([--enable-usrdir-path], [use only /usr paths in PATH env. variable (recommended on systems with /bin -> /usr/bin symlinks)]), | |
1997 | [], [enable_usrdir_path=no] | |
1998 | ) | |
1999 | ||
2000 | AS_IF([test "x$enable_usrdir_path" == xyes], [ | |
2001 | AC_DEFINE([USE_USRDIR_PATHS_ONLY], [1], [Define to 1 to remove /bin and /sbin from PATH env.variable]) | |
2002 | ]) | |
2003 | ||
2004 | ||
f3831bbd KZ |
2005 | AC_ARG_ENABLE([makeinstall-chown], |
2006 | AS_HELP_STRING([--disable-makeinstall-chown], [do not do chown-like operations during "make install"]), | |
034d378b | 2007 | [], [enable_makeinstall_chown=yes] |
f3831bbd | 2008 | ) |
034d378b | 2009 | AM_CONDITIONAL([MAKEINSTALL_DO_CHOWN], [test "x$enable_makeinstall_chown" = xyes]) |
f3831bbd | 2010 | |
81f55ab9 | 2011 | |
4c24a7ae KZ |
2012 | AC_ARG_ENABLE([makeinstall-setuid], |
2013 | AS_HELP_STRING([--disable-makeinstall-setuid], [do not do setuid chmod operations during "make install"]), | |
034d378b | 2014 | [], [enable_makeinstall_setuid=yes] |
4c24a7ae | 2015 | ) |
034d378b | 2016 | AM_CONDITIONAL([MAKEINSTALL_DO_SETUID], [test "x$enable_makeinstall_setuid" = xyes]) |
4c24a7ae | 2017 | |
06bcee19 | 2018 | |
81f55ab9 KZ |
2019 | AC_ARG_ENABLE([colors-default], |
2020 | AS_HELP_STRING([--disable-colors-default], [do not colorize output from utils by default]), | |
2021 | [], [enable_colors_default=yes] | |
2022 | ) | |
2023 | AS_IF([test "x$enable_colors_default" = xyes], [ | |
2024 | AC_DEFINE([USE_COLORS_BY_DEFAULT], [1], [Enables colorized output from utils by default]) | |
2025 | ]) | |
2026 | ||
2027 | ||
1f10890f SK |
2028 | AC_ARG_VAR([SUID_CFLAGS], |
2029 | [CFLAGS used for binaries which are usually with the suid bit]) | |
2030 | AC_ARG_VAR([SUID_LDFLAGS], | |
2031 | [LDFLAGS used for binaries which are usually with the suid bit]) | |
06bcee19 | 2032 | |
03d00d49 KZ |
2033 | AC_ARG_VAR([DAEMON_CFLAGS], |
2034 | [CFLAGS used for binaries which are usually executed as daemons]) | |
2035 | AC_ARG_VAR([DAEMON_LDFLAGS], | |
2036 | [LDFLAGS used for binaries which are usually executed as daemons]) | |
2037 | ||
2038 | AC_ARG_VAR([SOLIB_CFLAGS], | |
2039 | [CFLAGS used for shared libraries]) | |
2040 | AC_ARG_VAR([SOLIB_LDFLAGS], | |
2041 | [LDFLAGS used for shared libraries]) | |
2042 | ||
2ad21963 KZ |
2043 | AC_ARG_VAR([ADJTIME_PATH], |
2044 | [Path to hwclock adjtime file, default /etc/adjtime]) | |
2045 | AS_IF([test "x$ADJTIME_PATH" = x], [ADJTIME_PATH="/etc/adjtime"]) | |
2046 | AC_DEFINE_UNQUOTED([CONFIG_ADJTIME_PATH], "$ADJTIME_PATH", [Path to hwclock adjtime file]) | |
2047 | ||
2048 | ||
9cb68977 | 2049 | LIBS="" |
48d7b13a | 2050 | |
48d7b13a | 2051 | |
034d378b | 2052 | AC_CONFIG_HEADERS([config.h]) |
48d7b13a | 2053 | |
d4baf92e KZ |
2054 | # |
2055 | # Don't use configure.ac to replace install paths! See Makefile PATHFILES for | |
2056 | # more details. | |
2057 | # | |
8eeb575c | 2058 | AC_CONFIG_FILES([ |
f06b4328 | 2059 | Makefile |
31a938ac | 2060 | libblkid/docs/Makefile |
8fb4efae | 2061 | libblkid/docs/version.xml |
8fb4efae | 2062 | libblkid/src/blkid.h |
705854f3 KZ |
2063 | libfdisk/docs/Makefile |
2064 | libfdisk/docs/version.xml | |
2065 | libfdisk/src/libfdisk.h | |
31a938ac | 2066 | libmount/docs/Makefile |
2aefc0a8 | 2067 | libmount/docs/version.xml |
f06b4328 | 2068 | libmount/src/libmount.h |
1d90bcb1 OO |
2069 | libsmartcols/docs/Makefile |
2070 | libsmartcols/docs/version.xml | |
1a4d989e | 2071 | libsmartcols/src/libsmartcols.h |
f06b4328 | 2072 | po/Makefile.in |
8eeb575c | 2073 | ]) |
48d7b13a KZ |
2074 | |
2075 | AC_OUTPUT | |
4e1073c2 KZ |
2076 | |
2077 | AC_MSG_RESULT([ | |
2078 | ${PACKAGE} ${VERSION} | |
2079 | ||
2080 | prefix: ${prefix} | |
2081 | exec prefix: ${exec_prefix} | |
2082 | ||
5c0b406d BS |
2083 | localstatedir: ${localstatedir} |
2084 | bindir: ${bindir} | |
4e1073c2 KZ |
2085 | sbindir: ${sbindir} |
2086 | libdir: ${libdir} | |
2087 | includedir: ${includedir} | |
5c0b406d BS |
2088 | usrbin_execdir: ${usrbin_execdir} |
2089 | usrsbin_execdir: ${usrsbin_execdir} | |
2090 | usrlib_execdir: ${usrlib_execdir} | |
4e1073c2 KZ |
2091 | |
2092 | compiler: ${CC} | |
2093 | cflags: ${CFLAGS} | |
2094 | suid cflags: ${SUID_CFLAGS} | |
2095 | ldflags: ${LDFLAGS} | |
2096 | suid ldflags: ${SUID_LDFLAGS} | |
8e5c4675 | 2097 | |
0b567ae5 SK |
2098 | Python: ${PYTHON} |
2099 | Python version: ${PYTHON_VERSION} | |
3745d4a9 KZ |
2100 | Python libs: ${pyexecdir} |
2101 | ||
8e5c4675 | 2102 | Bash completions: ${with_bashcompletiondir} |
ebff016a | 2103 | Systemd support: ${have_systemd} |
5a971329 | 2104 | Btrfs support: ${have_btrfs} |
4e1073c2 KZ |
2105 | |
2106 | warnings: | |
2107 | ||
2108 | ${WARN_CFLAGS} | |
b4b84389 KZ |
2109 | |
2110 | Type 'make' or 'make <utilname>' to compile. | |
4e1073c2 | 2111 | ]) |