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