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