2 m4_esyscmd([tools/git-version-gen .tarball-version]),
4 [https://www.kernel.org/pub/linux/utils/util-linux/])
9 AC_CONFIG_AUX_DIR([config])
10 AC_CONFIG_MACRO_DIR([m4])
11 dnl AC_USE_SYSTEM_EXTENSIONS must be called before any macros that run
12 dnl the compiler (like LT_INIT) to avoid autoconf errors.
13 AC_USE_SYSTEM_EXTENSIONS
14 AM_INIT_AUTOMAKE([-Wall -Wno-portability foreign 1.10 tar-pax no-dist-gzip dist-xz subdir-objects])
16 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
17 [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
18 m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
20 AC_CONFIG_SRCDIR([sys-utils/mount.c])
21 AC_PREFIX_DEFAULT([/usr])
23 dnl version details from <major>.<minor>[-<suffix>]
24 PACKAGE_VERSION_MAJOR=$(echo $PACKAGE_VERSION | awk -F. '{print $1}')
25 PACKAGE_VERSION_MINOR=$(echo $PACKAGE_VERSION | awk -F. '{
26 sub("-.*","",$2); print $2}')
27 PACKAGE_VERSION_RELEASE=$(echo $PACKAGE_VERSION | awk -F. '{
28 sub("-.*","",$3); print $3 ~ /^@<:@0-9@:>@+$/ ? $3 : 0}')
31 LIBBLKID_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
32 LIBBLKID_DATE="17-May-2023"
36 LIBBLKID_VERSION_INFO=`expr $LIBBLKID_LT_MAJOR + $LIBBLKID_LT_MINOR`:$LIBBLKID_LT_MICRO:$LIBBLKID_LT_MINOR
39 LIBUUID_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
43 LIBUUID_VERSION_INFO=`expr $LIBUUID_LT_MAJOR + $LIBUUID_LT_MINOR`:$LIBUUID_LT_MICRO:$LIBUUID_LT_MINOR
46 LIBMOUNT_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
50 LIBMOUNT_VERSION_INFO=`expr $LIBMOUNT_LT_MAJOR + $LIBMOUNT_LT_MINOR`:$LIBMOUNT_LT_MICRO:$LIBMOUNT_LT_MINOR
52 dnl libsmartcols version
53 LIBSMARTCOLS_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
54 LIBSMARTCOLS_LT_MAJOR=1
55 LIBSMARTCOLS_LT_MINOR=1
56 LIBSMARTCOLS_LT_MICRO=0
57 LIBSMARTCOLS_VERSION_INFO=`expr $LIBSMARTCOLS_LT_MAJOR + $LIBSMARTCOLS_LT_MINOR`:$LIBSMARTCOLS_LT_MICRO:$LIBSMARTCOLS_LT_MINOR
60 LIBFDISK_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
64 LIBFDISK_VERSION_INFO=`expr $LIBFDISK_LT_MAJOR + $LIBFDISK_LT_MINOR`:$LIBFDISK_LT_MICRO:$LIBFDISK_LT_MINOR
66 # Check whether exec_prefix=/usr:
67 AS_CASE([$exec_prefix:$prefix],
68 [NONE:NONE | NONE:/usr | /usr:*],
69 [AC_MSG_NOTICE([Default --exec-prefix detected.])
70 AS_CASE([$bindir], ['${exec_prefix}/bin'], [bindir=/bin; AC_MSG_NOTICE([ --bindir defaults to /bin]) ])
71 AS_CASE([$sbindir], ['${exec_prefix}/sbin'], [sbindir=/sbin; AC_MSG_NOTICE([ --sbindir defaults to /sbin])])
72 AS_CASE([$libdir], ['${exec_prefix}/lib'], [libdir=/lib; AC_MSG_NOTICE([ --libdir defaults to /lib]) ])
73 AS_CASE([$libdir], ['${exec_prefix}/lib64'],[libdir=/lib64; AC_MSG_NOTICE([ --libdir defaults to /lib64]) ])
77 # Check whether prefix=/usr
80 [AC_MSG_NOTICE([Default --prefix detected.])
81 AS_CASE([$localstatedir], [NONE | '${prefix}/var' | "${prefix}"/var ],
82 [localstatedir=/var; AC_MSG_NOTICE([ --localstatedir defaults to /var])])
83 AS_CASE([$sysconfdir], [NONE | '${prefix}/etc' | "${prefix}"/etc ],
84 [sysconfdir=/etc; AC_MSG_NOTICE([ --sysconfdir defaults to /etc])])
89 # default for old versions without $runstatedir
90 AS_IF([test x"$runstatedir" = x], [runstatedir='${localstatedir}/run'])
92 # our default if $localstatedir unchanged
93 AS_CASE([$localstatedir:$runstatedir],
94 [NONE:'${localstatedir}/run' | /var:'${localstatedir}/run' | NONE:'/run' ],
95 [runstatedir=/run; AC_MSG_NOTICE([ --runstatedir defaults to /run])]
98 AC_SUBST([runstatedir])
101 # The original default values of {bin,sbin,lib}dir
102 usrbin_execdir='${exec_prefix}/bin'
103 AC_SUBST([usrbin_execdir])
105 usrsbin_execdir='${exec_prefix}/sbin'
106 AC_SUBST([usrsbin_execdir])
109 ['${exec_prefix}/'* | '${prefix}/'* | /usr/* | "${prefix}"/* ],
110 [usrlib_execdir=$libdir],
111 [usrlib_execdir='${exec_prefix}'$libdir]
113 AC_SUBST([usrlib_execdir])
115 # static configuration maintaned by packages (e.g. /usr/lib)
116 AC_ARG_VAR([SYSCONFSTATICDIR],
117 [Path to static system configuration, default ${prefix}/lib])
118 AS_IF([test "x$SYSCONFSTATICDIR" = x],
119 [sysconfstaticdir='${prefix}/lib'],
120 [sysconfstaticdir=$SYSCONFSTATICDIR])
121 AC_SUBST([sysconfstaticdir])
131 dnl Compiler warnings
132 UL_WARN_ADD([-fno-common])
134 UL_WARN_ADD([-Wextra])
136 UL_WARN_ADD([-Waddress-of-packed-member])
137 UL_WARN_ADD([-Wdiscarded-qualifiers])
138 UL_WARN_ADD([-Wembedded-directive])
139 UL_WARN_ADD([-Wextra-semi])
140 UL_WARN_ADD([-Wformat-security])
141 UL_WARN_ADD([-Wimplicit-function-declaration])
142 UL_WARN_ADD([-Wmissing-declarations])
143 UL_WARN_ADD([-Wmissing-parameter-type])
144 UL_WARN_ADD([-Wmissing-prototypes])
145 UL_WARN_ADD([-Wnested-externs])
146 UL_WARN_ADD([-Wno-missing-field-initializers])
147 UL_WARN_ADD([-Wold-style-definition])
148 UL_WARN_ADD([-Wpointer-arith])
149 UL_WARN_ADD([-Wredundant-decls])
150 UL_WARN_ADD([-Wsign-compare])
151 UL_WARN_ADD([-Wstrict-prototypes])
152 UL_WARN_ADD([-Wtype-limits])
153 UL_WARN_ADD([-Wuninitialized])
154 UL_WARN_ADD([-Wunused-but-set-parameter])
155 UL_WARN_ADD([-Wunused-but-set-variable])
156 UL_WARN_ADD([-Wunused-parameter])
157 UL_WARN_ADD([-Wunused-result])
158 UL_WARN_ADD([-Wunused-variable])
160 AC_ARG_ENABLE([werror],
161 AS_HELP_STRING([--enable-werror], [make all compiler warnings into errors]),
162 [], [enable_werror=no]
164 AS_IF([test "x$enable_werror" = xyes], [
165 UL_WARN_ADD([-Werror])
167 UL_WARN_ADD([-Werror=sequence-point])
170 AC_SUBST([WARN_CFLAGS])
173 UL_WARN_ADD([-Wno-clobbered], [BSD_WARN_CFLAGS])
174 AC_SUBST([BSD_WARN_CFLAGS])
176 UL_WARN_ADD([-Wno-cast-function-type], [PYTHON_WARN_CFLAGS])
177 AC_SUBST([PYTHON_WARN_CFLAGS])
179 UL_WARN_ADD([-Wno-unused-parameter], [NO_UNUSED_WARN_CFLAGS])
180 AC_SUBST([NO_UNUSED_WARN_CFLAGS])
183 AC_ARG_ENABLE([asan],
184 AS_HELP_STRING([--enable-asan], [compile with Address Sanitizer]),
187 AS_IF([test "x$enable_asan" = xyes], [
188 UL_WARN_ADD([-fsanitize=address])
189 ASAN_LDFLAGS="-fsanitize=address"
191 AC_SUBST([ASAN_LDFLAGS])
193 AC_ARG_ENABLE([ubsan],
194 AS_HELP_STRING([--enable-ubsan], [compile with UBsan]),
195 [], [enable_ubsan=no]
197 AS_IF([test "x$enable_ubsan" = xyes], [
198 UL_WARN_ADD([-fsanitize=undefined])
199 UBSAN_LDFLAGS="-fsanitize=undefined"
201 AC_SUBST([UBSAN_LDFLAGS])
203 AC_ARG_ENABLE([fuzzing-engine],
204 AS_HELP_STRING([--enable-fuzzing-engine], [compile with fuzzing engine]),
205 [], [enable_fuzzing_engine=no]
207 AS_IF([test "x$enable_fuzzing_engine" = xyes && test "x$LIB_FUZZING_ENGINE" = x], [
208 UL_WARN_ADD([-fno-omit-frame-pointer])
209 UL_WARN_ADD([-gline-tables-only])
210 UL_WARN_ADD([-fsanitize=fuzzer-no-link])
211 FUZZING_ENGINE_LDFLAGS="-fsanitize=fuzzer-no-link"
213 AC_SUBST([FUZZING_ENGINE_LDFLAGS])
215 AM_CONDITIONAL([FUZZING_ENGINE], [test "x$enable_fuzzing_engine" = xyes])
216 AM_CONDITIONAL([OSS_FUZZ], [test "x$LIB_FUZZING_ENGINE" != x])
221 dnl check supported linker flags
224 m4_ifndef([PKG_PROG_PKG_CONFIG],
225 [m4_fatal([Could not locate the pkg-config autoconf
226 macros. These are usually located in /usr/share/aclocal/pkg.m4.
227 If your macros are in a different location, try setting the
228 environment variable AL_OPTS="-I/other/macro/dir" before running
229 ./autogen.sh or autoreconf again. Make sure pkg-config is installed.])])
231 PKG_INSTALLDIR(['${usrlib_execdir}/pkgconfig'])
233 GTK_DOC_CHECK([1.10])
234 AC_PATH_PROG([XSLTPROC], [xsltproc])
239 AS_CASE([${host_os}],
246 AM_CONDITIONAL([LINUX], [test "x$linux_os" = xyes])
247 AM_CONDITIONAL([DARWIN], [test "x$darwin_os" = xyes])
248 AM_CONDITIONAL([BSD], [test "x$bsd_os" = xyes])
250 AS_IF([test "x$darwin_os" = xyes], [
251 AC_DEFINE([_DARWIN_C_SOURCE], [1], [Enable MAP_ANON in sys/mman.h on Mac OS X])
254 dnl define ARCH_<NAME> conditionals
255 UL_SET_ARCH([I86], [i?86-*])
256 UL_SET_ARCH([86_64], [x86_64*])
257 UL_SET_ARCH([IA64], [ia64*])
258 UL_SET_ARCH([S390], [s390*])
259 UL_SET_ARCH([SPARC], [sparc*])
260 UL_SET_ARCH([PPC], [ppc*|powerpc*])
261 UL_SET_ARCH([M68K], [m68*])
262 UL_SET_ARCH([MIPS], [mips*])
263 UL_SET_ARCH([HPPA], [hppa*|parisc*])
269 dnl Don't forget to maintain alternatively allowed versions in autogen.sh!
270 AM_GNU_GETTEXT_VERSION([0.18.3])
271 AM_GNU_GETTEXT([external])
273 AS_IF([test -d "$srcdir/po"], [
274 ALL_LINGUAS=`cd $srcdir/po > /dev/null && echo *.po | sed 's/\.po//g'`
275 ], [dnl echo $ALL_LINGUAS | sed 's/ /\n/g' | sort -u | column -xc 72 -o ' ' | sed 's/^/\t/'
277 af am ar as be bg bn bn_IN ca
278 cs cy da de el en_GB es et eu_ES
279 fa fi fr gl gu he hi hr hu
280 hy id is it ja ka kn ko ku
281 lo lt lv mk ml mr ms my nb
282 nl nn no nso or pa pl pt pt_BR
283 ro ru si sk sl sq sr sr@Latn sv
284 ta te th tr uk ur vi zh_CN zh_TW
288 AC_CHECK_HEADERS([linux/compiler.h linux/blkpg.h linux/major.h], [], [], [
289 #ifdef HAVE_LINUX_COMPILER_H
290 #include <linux/compiler.h>
294 asm-generic/fcntl.h \
314 linux/net_namespace.h \
331 security/pam_appl.h \
371 # There is a collision in old kernel-headers. The both files mount.h and fs.h
372 # define MS_* macros. Fixed by kernel commit e462ec50cb5fad19f6003a3d8087f4a0945dd2b1.
374 AC_CHECK_HEADERS([linux/fs.h ], [], [],
375 [#ifdef HAVE_SYS_MOUNT_H
376 # include <linux/fs.h>
377 # include <sys/mount.h>
381 AC_CHECK_HEADERS([linux/gsmmux.h ], [], [],
382 [#ifdef LINUX_GSMMUX_H
383 # include <linux/gsmmux.h>
387 AC_CHECK_HEADERS([security/pam_misc.h],
388 [AM_CONDITIONAL([HAVE_LINUXPAM], [true])],
389 [AM_CONDITIONAL([HAVE_LINUXPAM], [false])], [
390 #ifdef HAVE_SECURITY_PAM_APPL_H
391 #include <security/pam_appl.h>
395 AC_CHECK_DECLS([BLK_ZONE_REP_CAPACITY], [], [], [
396 #include <linux/blkzoned.h>
399 AC_CHECK_DECLS([PR_REP_CAPACITY], [], [], [
400 #include <linux/pr.h>
403 AC_CHECK_HEADERS([security/openpam.h], [], [], [
404 #ifdef HAVE_SECURITY_PAM_APPL_H
405 #include <security/pam_appl.h>
409 AC_CHECK_HEADERS([langinfo.h],
410 [AM_CONDITIONAL([HAVE_LANGINFO_H], [true])],
411 [AM_CONDITIONAL([HAVE_LANGINFO_H], [false])])
413 AC_MSG_CHECKING([whether langinfo.h defines ALTMON_x constants])
414 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
415 #include <langinfo.h>
418 str = nl_langinfo (ALTMON_1);
419 str = nl_langinfo (ALTMON_2);
420 str = nl_langinfo (ALTMON_3);
421 str = nl_langinfo (ALTMON_4);
422 str = nl_langinfo (ALTMON_5);
423 str = nl_langinfo (ALTMON_6);
424 str = nl_langinfo (ALTMON_7);
425 str = nl_langinfo (ALTMON_8);
426 str = nl_langinfo (ALTMON_9);
427 str = nl_langinfo (ALTMON_10);
428 str = nl_langinfo (ALTMON_11);
429 str = nl_langinfo (ALTMON_12);
432 AC_DEFINE([HAVE_LANGINFO_ALTMON], [1],
433 [Define if langinfo.h defines ALTMON_x constants])
439 AC_MSG_CHECKING([whether langinfo.h defines _NL_ABALTMON_x constants])
440 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
441 #include <langinfo.h>
444 str = nl_langinfo (_NL_ABALTMON_1);
445 str = nl_langinfo (_NL_ABALTMON_2);
446 str = nl_langinfo (_NL_ABALTMON_3);
447 str = nl_langinfo (_NL_ABALTMON_4);
448 str = nl_langinfo (_NL_ABALTMON_5);
449 str = nl_langinfo (_NL_ABALTMON_6);
450 str = nl_langinfo (_NL_ABALTMON_7);
451 str = nl_langinfo (_NL_ABALTMON_8);
452 str = nl_langinfo (_NL_ABALTMON_9);
453 str = nl_langinfo (_NL_ABALTMON_10);
454 str = nl_langinfo (_NL_ABALTMON_11);
455 str = nl_langinfo (_NL_ABALTMON_12);
458 AC_DEFINE([HAVE_LANGINFO_NL_ABALTMON], [1],
459 [Define if langinfo.h defines _NL_ABALTMON_x constants])
465 dnl Convert some ac_cv_header_* variables to have_*
467 have_linux_blkzoned_h=$ac_cv_header_linux_blkzoned_h
468 have_linux_btrfs_h=$ac_cv_header_linux_btrfs_h
469 have_linux_capability_h=$ac_cv_header_linux_capability_h
470 have_linux_kcmp_h=$ac_cv_header_linux_kcmp_h
471 have_linux_pr_h=$ac_cv_header_linux_pr_h
472 have_linux_raw_h=$ac_cv_header_linux_raw_h
473 have_linux_securebits_h=$ac_cv_header_linux_securebits_h
474 have_linux_version_h=$ac_cv_header_linux_version_h
475 have_linux_watchdog_h=$ac_cv_header_linux_watchdog_h
476 have_pty_h=$ac_cv_header_pty_h
477 have_security_openpam_h=$ac_cv_header_security_openpam_h
478 have_security_pam_appl_h=$ac_cv_header_security_pam_appl_h
479 have_security_pam_misc_h=$ac_cv_header_security_pam_misc_h
480 have_shadow_h=$ac_cv_header_shadow_h
481 have_sys_signalfd_h=$ac_cv_header_sys_signalfd_h
482 have_utmpx_h=$ac_cv_header_utmpx_h
483 have_mntent_h=$ac_cv_header_mntent_h
485 AS_CASE([$linux_os:$have_linux_version_h],
487 [AC_MSG_ERROR([kernel headers required on Linux])]
490 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
495 struct tm *tm = localtime(0);
496 if (a == -1) /* false */
497 sleep(tm->tm_gmtoff);
499 [AC_DEFINE([HAVE_TM_GMTOFF], [1], [Does struct tm have a field tm_gmtoff?])
502 AC_CHECK_TYPES([struct mount_attr], [], [], [[#include <linux/mount.h>]])
503 AC_CHECK_TYPES([enum fsconfig_command], [], [], [[#include <linux/mount.h>]])
505 AC_CHECK_MEMBERS([struct termios.c_line],,,
506 [[#include <termios.h>]])
508 AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec],,,
509 [#include <sys/stat.h>])
511 AC_CHECK_DECLS([_NL_TIME_WEEK_1STDAY],[],[],[[#include <langinfo.h>]])
513 AC_CHECK_DECL([environ],
514 [AC_DEFINE([HAVE_ENVIRON_DECL], [1],
515 [Define to 1 if have **environ prototype])],
518 AC_CHECK_DECL([strsignal],
519 [AC_DEFINE([HAVE_STRSIGNAL_DECL], [1],
520 [Define to 1 if have strsignal function prototype])],
523 AC_CHECK_DECL([TIOCGLCKTRMIOS],
524 [have_tiocglcktrmios=yes], [have_tiocglcktrmios=no],
525 [#include <sys/ioctl.h>])
526 AC_CHECK_DECL([SOCK_CLOEXEC],
527 [have_sock_cloexec=yes], [have_sock_cloexec=no],
528 [#include <sys/types.h>
529 #include <sys/socket.h>])
530 AC_CHECK_DECL([SOCK_NONBLOCK],
531 [have_sock_nonblock=yes], [have_sock_nonblock=no],
532 [#include <sys/types.h>
533 #include <sys/socket.h>])
534 AC_CHECK_DECL([SO_PASSCRED],
535 [have_so_passcred=yes], [have_so_passcred=no],
536 [#include <sys/types.h>
537 #include <sys/socket.h>])
612 AC_CHECK_FUNCS([futimens], [have_futimens=yes])
613 AC_CHECK_FUNCS([getusershell], [have_getusershell=yes],[have_getusershell=no])
614 AC_CHECK_FUNCS([inotify_init1], [have_inotify_init1=yes])
615 AC_CHECK_FUNCS([ioperm iopl], [have_io=yes])
616 AC_CHECK_FUNCS([openat fstatat unlinkat], [have_openat=yes], [have_openat=no])
617 AC_CHECK_FUNCS([open_memstream], [have_open_memstream=yes],[have_open_memstream=no])
618 AC_CHECK_FUNCS([reboot], [have_reboot=yes],[have_reboot=no])
619 AC_CHECK_FUNCS([updwtmpx updwtmpx], [have_gnu_utmpx=yes], [have_gnu_utmpx=no])
621 AM_CONDITIONAL([HAVE_OPENAT], [test "x$have_openat" = xyes])
623 have_setns_syscall="yes"
624 UL_CHECK_SYSCALL([setns])
625 AS_IF([test "x$ul_cv_syscall_setns" = xno], [
626 have_setns_syscall="no"
629 UL_CHECK_SYSCALL([pidfd_open])
630 UL_CHECK_SYSCALL([pidfd_send_signal])
631 UL_CHECK_SYSCALL([close_range])
633 UL_CHECK_SYSCALL([fsconfig])
634 UL_CHECK_SYSCALL([fsmount])
635 UL_CHECK_SYSCALL([fsopen])
636 UL_CHECK_SYSCALL([fspick])
637 UL_CHECK_SYSCALL([mount_setattr])
638 UL_CHECK_SYSCALL([move_mount])
639 UL_CHECK_SYSCALL([open_tree])
641 AS_IF([test "x$ul_cv_syscall_fsconfig" = xno ||
642 test "x$ul_cv_syscall_fsmount" = xno ||
643 test "x$ul_cv_syscall_fsopen" = xno ||
644 test "x$ul_cv_syscall_fspick" = xno ||
645 test "x$ul_cv_syscall_mount_setattr" = xno ||
646 test "x$ul_cv_syscall_move_mount" = xno ||
647 test "x$ul_cv_syscall_open_tree" = xno],
649 have_mountfd_api="no"
651 have_mountfd_api="yes"
652 AC_DEFINE([HAVE_MOUNTFD_API], [1], [Define to 1 if you want mount API based on FDs.])
656 AC_CHECK_FUNCS([isnan], [],
657 [AC_CHECK_LIB([m], [isnan], [MATH_LIBS="-lm"])]
658 [AC_CHECK_LIB([m], [__isnan], [MATH_LIBS="-lm"])]
660 AC_SUBST([MATH_LIBS])
663 dnl lib/mononotic.c may require -lrt
664 AC_CHECK_FUNCS([clock_gettime], [],
665 [AC_CHECK_LIB([rt], [clock_gettime], [REALTIME_LIBS="-lrt"])]
669 AC_CHECK_FUNCS([timer_create],
671 [AC_CHECK_LIB([rt], [timer_create], [
674 AC_DEFINE_UNQUOTED([HAVE_TIMER_CREATE], [1], [Define if timer_create exist in -lrt])
676 AC_SEARCH_LIBS([timer_create], [rt], [
679 REALTIME_LIBS="-lrt -lpthread"
680 AC_DEFINE_UNQUOTED([HAVE_TIMER_CREATE], [1], [Define if timer_create exist in -lrt -lpthread])
686 AC_SUBST([REALTIME_LIBS])
688 AS_IF([test x"$have_timer" = xno], [
689 AC_CHECK_FUNCS([setitimer], [have_timer="yes"], [have_timer="no"])
693 AC_CHECK_LIB([rtas], [rtas_get_sysparm], [
695 AC_DEFINE_UNQUOTED([HAVE_LIBRTAS], [1], [Define if librtas exists]), [],
697 AC_SUBST([RTAS_LIBS])
700 AC_CHECK_MEMBER([struct sockaddr.sa_len],
701 AC_DEFINE_UNQUOTED([HAVE_SA_LEN], [1], [Define if struct sockaddr contains sa_len]), [],
702 [#include <sys/types.h>
703 #include <sys/socket.h>])
706 AC_SEARCH_LIBS([socket], [socket],
707 [AS_IF([test x"$ac_cv_search_socket" != x"none required"],
708 [SOCKET_LIBS="$SOCKET_LIBS -lsocket"])
710 AC_SUBST([SOCKET_LIBS])
714 AC_CHECK_FUNCS([dirfd], [have_dirfd=yes], [have_dirfd=no])
715 AS_IF([test x"$have_dirfd" = xno], [
716 AC_CHECK_DECLS([dirfd],
717 [have_dirfd=yes], [have_dirfd=no],
718 [#include <sys/types.h>
719 #include <dirent.h>])
723 AS_IF([test x"$have_dirfd" = xno], [
724 AC_CHECK_MEMBERS([DIR.dd_fd],
725 [have_ddfd=yes], [have_ddfd=no],
726 [#include <sys/types.h>
727 #include <dirent.h>])
730 AM_CONDITIONAL([HAVE_DIRFD], [test "x$have_dirfd" = xyes || test "x$have_ddfd" = xyes])
733 AC_CHECK_LIB([rt], [mq_open], [MQ_LIBS="-lrt"])
736 AC_MSG_CHECKING([whether program_invocation_short_name is defined])
737 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
740 program_invocation_short_name = "test";
743 AC_DEFINE([HAVE_PROGRAM_INVOCATION_SHORT_NAME], [1],
744 [Define if program_invocation_short_name is defined])
750 AC_MSG_CHECKING([whether __progname is defined])
751 AC_LINK_IFELSE([AC_LANG_PROGRAM([extern char *__progname;],
752 [if (*__progname == 0) return 1;])],
753 AC_DEFINE([HAVE___PROGNAME], [1], [Define if __progname is defined])
754 AC_MSG_RESULT([yes]),
757 AC_CHECK_DECL([IOC_OPAL_GET_STATUS],
758 [AC_DEFINE([HAVE_OPAL_GET_STATUS], [1],
759 [Define to 1 if OPAL status ioctl is defined])],,
760 [#include <linux/sed-opal.h>])
762 dnl Static compilation
763 m4_define([UL_STATIC_PROGRAMS], [blkid, fdisk, losetup, mount, nsenter, sfdisk, umount, unshare])
765 AC_ARG_ENABLE([static-programs],
766 [AS_HELP_STRING([--enable-static-programs=LIST],
767 [link static the programs in LIST (comma-separated,
768 supported for ]m4_defn([UL_STATIC_PROGRAMS])[)])])
770 AS_CASE([$enable_static_programs],
772 [enable_static_programs=m4_quote(UL_STATIC_PROGRAMS)],
774 [enable_static_programs=]
777 dnl Set all the individual AM_CONDITIONALs
778 m4_foreach([UL_PRG], m4_defn([UL_STATIC_PROGRAMS]), [
779 AS_CASE([,$enable_static_programs,],
780 [*,UL_PRG,*], [static_[]UL_PRG=yes]
782 AS_IF([test "x$static_[]UL_PRG" = xyes], [AC_MSG_NOTICE([enable static build: UL_PRG.])])
783 AM_CONDITIONAL([HAVE_STATIC_]m4_toupper(UL_PRG),
784 [test "x$static_[]UL_PRG" = xyes])
788 AC_ARG_ENABLE([all-programs],
789 AS_HELP_STRING([--disable-all-programs], [disable everything, might be overridden by --enable-<name>]),
790 [], [enable_all_programs=undefined]
793 AS_CASE([$enable_all_programs],
794 [yes], [AC_MSG_WARN([force to build all programs by default])
795 ul_default_estate=check],
796 [no], [AC_MSG_WARN([disable all programs and man pages by default])
797 ul_default_estate=no]
801 AC_ARG_ENABLE([asciidoc],
802 AS_HELP_STRING([--disable-asciidoc], [do not generate man pages from asciidoc]),
803 [], [UL_DEFAULT_ENABLE([asciidoc], [check])]
805 UL_BUILD_INIT([asciidoc])
806 UL_REQUIRES_PROGRAM([asciidoc], [ASCIIDOCTOR], [asciidoctor], [man pages])
807 AM_CONDITIONAL([ENABLE_ASCIIDOC], [test "x$build_asciidoc" = xyes])
808 have_asciidoctor_failure_level=no
809 AS_IF([test "x$build_asciidoc" = xyes], [
810 AC_MSG_CHECKING([whether ${ASCIIDOCTOR} supports --failure-level])
811 AS_IF([${ASCIIDOCTOR} --help | grep failure-level >/dev/null 2>&1 ], [
813 have_asciidoctor_failure_level=yes
818 AM_CONDITIONAL([HAVE_ASCIIDOCTOR_FAILURE_LEVEL], [test "x$have_asciidoctor_failure_level" = xyes])
821 AS_IF([test -f "$srcdir/sys-utils/mount.8"], [
822 AC_MSG_NOTICE([re-use already generated man-pages.])
825 AM_CONDITIONAL([HAVE_MANPAGES], [test "x$have_manpages" = xyes])
828 AC_ARG_ENABLE([poman],
829 AS_HELP_STRING([--disable-poman], [generate translated man pages]),
830 [], [UL_DEFAULT_ENABLE([poman], [check])]
832 UL_BUILD_INIT([poman])
833 UL_REQUIRES_PROGRAM([poman], [PO4A], [po4a], [translated man pages])
834 AM_CONDITIONAL([ENABLE_POMAN], [test "x$build_poman" = xyes])
840 AC_ARG_WITH([util], AS_HELP_STRING([--without-util], [compile without libutil]),
843 AS_IF([test "x$with_util" = xno], [
844 AM_CONDITIONAL([HAVE_UTIL], [false])
847 UL_CHECK_LIB([util], [openpty])
850 AS_IF([test "x$have_pty_h" = xyes && test "x$have_sys_signalfd_h" = xyes && test "x$have_util" = xyes], [
851 AM_CONDITIONAL([HAVE_PTY], [true])
852 AC_DEFINE([HAVE_PTY], [1], [have PTY support])
855 AM_CONDITIONAL([HAVE_PTY], [false])
858 AC_CHECK_TYPES([union semun], [], [], [[
861 AC_CHECK_TYPES([loff_t])
864 AC_ARG_ENABLE([widechar],
865 AS_HELP_STRING([--disable-widechar], [do not compile wide character support]),
866 [], [enable_widechar=check]
868 UL_BUILD_INIT([widechar])
869 UL_REQUIRES_COMPILE([widechar], [[
878 if (w == WEOF) exit(1);
884 AS_IF([test "x$build_widechar" = xyes ], [
885 AC_DEFINE([HAVE_WIDECHAR], [1], [Do we have wide character support?])
889 AC_CHECK_TYPES([cpu_set_t], [have_cpu_set_t=yes], [], [[
893 AM_CONDITIONAL([HAVE_CPU_SET_T], [test "x$have_cpu_set_t" = xyes])
895 AC_CHECK_TYPES([sighandler_t], [], [], [[
899 AC_CHECK_DECLS([CPU_ALLOC], [], [], [[
903 # on Solaris, you can't mix and match standards, since we use c99
904 # apparently at this stage, XOPEN_SOURCE will conflict. As workaround,
905 # check for crypt.h and use that without XOPEN_SOURCE.
907 AC_CHECK_HEADERS([crypt.h])
908 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
912 #define _XOPEN_SOURCE
916 char *c = crypt("abc","pw");
921 UL_SET_LIBS([-lcrypt])
922 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
926 #define _XOPEN_SOURCE
930 char *c = crypt("abc","pw");
935 AC_MSG_WARN([crypt() is not available])
939 AM_CONDITIONAL([HAVE_LIBCRYPT], [test "x$have_libcrypt" = xyes])
942 AC_ARG_WITH([selinux],
943 AS_HELP_STRING([--with-selinux], [compile with SELinux support]),
944 [], [with_selinux=no]
947 AS_IF([test "x$with_selinux" = xno], [
948 AM_CONDITIONAL([HAVE_SELINUX], [false])
950 PKG_CHECK_MODULES([SELINUX], [libselinux >= 2.5], [have_selinux=yes], [have_selinux=no])
951 AS_CASE([$with_selinux:$have_selinux],
952 [yes:no], [AC_MSG_ERROR([SELinux selected but libselinux not found or too old])]
954 AS_IF([test "x$have_selinux" = xyes], [
955 AC_DEFINE([HAVE_LIBSELINUX], [1], [Define if SELinux is available])
956 UL_PKG_STATIC([SELINUX_LIBS_STATIC], [libselinux])
957 AM_CONDITIONAL([HAVE_SELINUX], [true])
959 UL_SET_LIBS([$SELINUX_LIBS])
960 # This function is missing in old libselinux 1.xx versions
961 AC_CHECK_FUNCS([security_get_initial_context])
965 AC_SUBST([SELINUX_LIBS])
966 AC_SUBST([SELINUX_LIBS_STATIC])
970 AS_HELP_STRING([--with-audit], [compile with audit support]),
974 AS_IF([test "x$with_audit" = xno], [
975 AM_CONDITIONAL([HAVE_AUDIT], [false])
977 UL_CHECK_LIB([audit], [audit_log_user_message])
978 AS_CASE([$with_audit:$have_audit],
980 [AC_MSG_ERROR([Audit selected but libaudit not found (or does not support audit_log_user_message())])]
984 AC_ARG_WITH([udev], AS_HELP_STRING([--without-udev], [compile without udev support]),
988 AS_IF([test "x$with_udev" = xno], [
989 AM_CONDITIONAL([HAVE_UDEV], [false])
991 UL_CHECK_LIB([udev], [udev_new])
992 AS_CASE([$with_udev:$have_udev],
994 [AC_MSG_ERROR([udev selected but libudev not found])]
999 dnl wide-char ncurses
1000 AC_ARG_WITH([ncursesw],
1001 AS_HELP_STRING([--without-ncursesw], [do not build with wide-char ncurses]),
1002 [], [with_ncursesw=auto]
1005 have_ncursesw_header=no
1006 AS_IF([test "x$with_ncursesw" != xno], [
1007 UL_NCURSES_CHECK([ncursesw])
1008 AS_IF([test "x$have_ncursesw" = xyes], [
1009 AC_CHECK_HEADERS([ncursesw/ncurses.h], [have_ncursesw_header=yes])
1010 AC_CHECK_HEADERS([ncursesw/term.h])
1012 # Define HAVE_NCURSES_H only if check for HAVE_NCURSESW_NCURSES_H is
1013 # unsuccessful to avoid too many *_H permitations in config.h
1014 AS_IF([test "x$have_ncursesw_header" = xno], [
1015 AC_CHECK_HEADERS([ncurses.h], [have_ncursesw_header=yes])
1016 AC_CHECK_HEADERS([term.h])
1018 AS_IF([test "x$have_ncursesw_header" = xno], [have_ncursesw=no])
1020 AS_IF([test "x$have_ncursesw" = xyes], [
1021 CURSES_LIB_NAME="ncursesw"
1022 AC_DEFINE([HAVE_LIBNCURSESW], [1], [Define if ncursesw library available])
1025 AS_CASE([$with_ncursesw:$have_ncursesw],
1026 [yes:no], [AC_MSG_ERROR([ncursesw selected, but library not found])])
1029 dnl non-wide ncurses
1030 AC_ARG_WITH([ncurses],
1031 AS_HELP_STRING([--with-ncurses], [build with non-wide ncurses]),
1032 [], [with_ncurses=auto]
1035 have_ncurses_header=no
1036 AS_CASE([$with_ncurses:$build_widechar],
1037 [yes:yes], [AC_MSG_ERROR([wide-char support enabled, but non-wide ncurses selects])])
1039 AS_IF([test "x$have_ncursesw" = xno && test "x$with_ncurses" != xno ], [
1040 UL_NCURSES_CHECK([ncurses])
1041 AS_IF([test "x$have_ncurses" = xyes], [
1042 AC_CHECK_HEADERS([ncurses/ncurses.h], [have_ncurses_header=yes])
1043 AC_CHECK_HEADERS([ncurses/term.h])
1045 # Define HAVE_NCURSES_H only if check for HAVE_NCURSES_NCURSES_H is
1046 # unsuccessful to avoid too many *_H permitations in config.h
1047 AS_IF([test "x$have_ncurses_header" = xno], [
1048 AC_CHECK_HEADERS([ncurses.h], [have_ncurses_header=yes])
1049 AC_CHECK_HEADERS([term.h])
1051 AS_IF([test "x$have_ncurses_header" = xno], [have_ncurses=no])
1053 AS_IF([test "x$have_ncurses" = xyes], [
1054 CURSES_LIB_NAME="ncurses"
1055 AC_DEFINE([HAVE_LIBNCURSES], [1], [Define if ncurses library available])
1058 AS_CASE([$with_ncurses:$have_ncurses],
1059 [yes:no], [AC_MSG_ERROR([ncurses selected, but library not found])])
1061 AC_SUBST([NCURSES_CFLAGS])
1062 AC_SUBST([NCURSES_LIBS])
1063 AM_CONDITIONAL([HAVE_NCURSES], [test "x$have_ncursesw" = xyes || test "x$have_ncurses" = xyes])
1066 AC_ARG_WITH([slang],
1067 AS_HELP_STRING([--with-slang], [compile cfdisk with slang rather than ncurses]),
1071 AS_IF([test "x$with_slang" = xyes], [
1072 AC_CHECK_HEADERS([slang.h slang/slang.h])
1073 AC_CHECK_HEADERS([slcurses.h slang/slcurses.h],
1074 [have_slang=yes], [], [
1077 #elif defined(HAVE_SLANG_SLANG_H)
1078 #include <slang/slang.h>
1081 AS_IF([test "x$have_slang" = xno], [
1082 AC_MSG_ERROR([slang selected but slcurses.h not found])],
1083 [CURSES_LIB_NAME=slang
1086 AM_CONDITIONAL([HAVE_SLANG], [test "x$have_slang" = xyes])
1089 AS_IF([test "x$have_slang" = xyes || test "x$have_ncursesw" = xyes || test "x$have_ncurses" = xyes], [
1090 AC_CHECK_LIB([$CURSES_LIB_NAME], use_default_colors, [
1091 AC_DEFINE(HAVE_USE_DEFAULT_COLORS, 1,
1092 [Define if curses library has the use_default_colors().])
1094 AC_CHECK_LIB([$CURSES_LIB_NAME], resizeterm, [
1095 AC_DEFINE(HAVE_RESIZETERM, 1,
1096 [Define if curses library has the resizeterm().])
1101 AC_ARG_WITH([tinfo], AS_HELP_STRING([--without-tinfo], [compile without libtinfo]),
1102 [], [with_tinfo=auto]
1106 AS_IF([test "x$with_tinfo" != xno], [
1107 AS_IF([test "x$have_ncursesw" = xyes], [
1108 UL_TINFO_CHECK([tinfow])
1110 AS_IF([test "x$have_tinfow" = xno], [
1111 UL_TINFO_CHECK([tinfo])
1114 AC_SUBST([TINFO_LIBS])
1115 AC_SUBST([TINFO_LIBS_STATIC])
1116 AC_SUBST([TINFO_CFLAGS])
1117 AM_CONDITIONAL([HAVE_TINFO], [test "x$have_tinfo" = xyes || test "x$have_tinfow" = xyes])
1118 AS_IF([test "x$have_tinfo" = xyes || test "x$have_tinfow" = xyes], [
1119 AC_DEFINE(HAVE_LIBTINFO, 1, [Define if libtinfo or libtinfow available.])
1123 AC_ARG_WITH([readline],
1124 AS_HELP_STRING([--without-readline], [do not build with GNU Readline support]),
1125 [], [with_readline=auto]
1128 AS_IF([test "x$with_readline" = xno], [
1129 AM_CONDITIONAL([HAVE_READLINE], [false])
1131 UL_CHECK_LIB([readline], [readline])
1132 AS_CASE([$with_readline:$have_readline],
1134 [AC_MSG_ERROR([readline selected but libreadline not found ])],
1136 [READLINE_LIBS="-lreadline"
1137 READLINE_LIBS_STATIC="-lreadline $TINFO_LIBS_STATIC"]
1140 AC_SUBST([READLINE_LIBS])
1141 AC_SUBST([READLINE_LIBS_STATIC])
1144 AC_ARG_WITH([utempter],
1145 AS_HELP_STRING([--with-utempter], [compile script(1) with libutempter]),
1146 [], [with_utempter=no]
1149 AS_IF([test "x$with_utempter" = xyes], [
1150 UL_CHECK_LIB([utempter], [utempter_add_record])
1151 AS_IF([test "x$have_utempter" = xno], [
1152 AC_MSG_ERROR([utempter selected but libutempter not found])
1155 AM_CONDITIONAL([HAVE_UTEMPTER], [false])
1162 AC_ARG_ENABLE([libuuid],
1163 AS_HELP_STRING([--disable-libuuid], [do not build libuuid and uuid utilities]),
1164 [], [UL_DEFAULT_ENABLE([libuuid], [yes])]
1166 UL_BUILD_INIT([libuuid])
1167 AC_SUBST([LIBUUID_VERSION])
1168 AC_SUBST([LIBUUID_VERSION_INFO])
1169 AM_CONDITIONAL(BUILD_LIBUUID, test "x$build_libuuid" = xyes)
1171 AC_ARG_ENABLE([libuuid-force-uuidd],
1172 AS_HELP_STRING([--enable-libuuid-force-uuidd], [support uuidd even though the daemon is not built]),
1173 [], [enable_libuuid_force_uuidd=no]
1176 AS_IF([test "x$build_libuuid" = xyes], [
1177 AC_DEFINE(HAVE_LIBUUID, 1, [Define to 1 if you have the -luuid.])
1183 AC_ARG_ENABLE([libblkid],
1184 AS_HELP_STRING([--disable-libblkid], [do not build libblkid and many related utilities]),
1185 [], [UL_DEFAULT_ENABLE([libblkid], [check])]
1187 UL_BUILD_INIT([libblkid])
1188 UL_REQUIRES_HAVE([libblkid], [openat], [openat functions])
1189 UL_REQUIRES_HAVE([libblkid], [dirfd,ddfd], [dirfd or ddfd function])
1190 AC_SUBST([LIBBLKID_DATE])
1191 AC_SUBST([LIBBLKID_VERSION])
1192 AC_SUBST([LIBBLKID_VERSION_INFO])
1193 AC_DEFINE_UNQUOTED([LIBBLKID_VERSION], ["$LIBBLKID_VERSION"], [libblkid version string])
1194 AC_DEFINE_UNQUOTED([LIBBLKID_DATE], ["$LIBBLKID_DATE"], [libblkid date string])
1195 AS_IF([test "x$build_libblkid" = xyes], [
1196 AC_DEFINE([HAVE_LIBBLKID], [1], [Define to 1 if you have the -lblkid.])
1198 AM_CONDITIONAL([BUILD_LIBBLKID], [test "x$build_libblkid" = xyes])
1199 AM_CONDITIONAL([BUILD_LIBBLKID_TESTS], [test "x$build_libblkid" = xyes && test "x$enable_static" = xyes])
1204 AC_ARG_ENABLE([libmount],
1205 AS_HELP_STRING([--disable-libmount], [do not build libmount]),
1206 [], [UL_DEFAULT_ENABLE([libmount], [check])]
1208 UL_BUILD_INIT([libmount])
1209 UL_REQUIRES_BUILD([libmount], [libblkid])
1210 UL_REQUIRES_HAVE([libmount], [dirfd,ddfd], [dirfd or ddfd function])
1211 UL_REQUIRES_HAVE([libmount], [mntent_h], [mntent.h header file])
1212 AM_CONDITIONAL([BUILD_LIBMOUNT], [test "x$build_libmount" = xyes])
1213 AM_CONDITIONAL([BUILD_LIBMOUNT_TESTS], [test "x$build_libmount" = xyes && test "x$enable_static" = xyes])
1214 AS_IF([test "x$build_libmount" = xyes], [
1215 AC_DEFINE(HAVE_LIBMOUNT, 1, [Define if libmount available.])
1216 AS_IF([test "x$have_setns_syscall" = "xyes"], [
1217 AC_DEFINE([USE_LIBMOUNT_SUPPORT_NAMESPACES], [1], [Define to 1 if want to support namepaces.])
1219 AC_MSG_WARN([libmount will be compiled without namespaces support])
1223 AC_SUBST([LIBMOUNT_VERSION])
1224 AC_SUBST([LIBMOUNT_MAJOR_VERSION], $PACKAGE_VERSION_MAJOR)
1225 AC_SUBST([LIBMOUNT_MINOR_VERSION], $PACKAGE_VERSION_MINOR)
1226 AC_SUBST([LIBMOUNT_PATCH_VERSION], $PACKAGE_VERSION_RELEASE)
1227 AC_SUBST([LIBMOUNT_VERSION_INFO])
1228 AC_DEFINE_UNQUOTED([LIBMOUNT_VERSION], ["$LIBMOUNT_VERSION"], [libmount version string])
1230 AC_ARG_ENABLE([libmount-mountfd-support],
1231 AS_HELP_STRING([--disable-libmount-mountfd-support], [do not use new mount API based on FDs]),
1232 [], [enable_libmount_mountfd_support=check]
1234 UL_BUILD_INIT([libmount_mountfd_support])
1235 UL_REQUIRES_BUILD([libmount_mountfd_support], [libmount])
1236 UL_REQUIRES_LINUX([libmount_mountfd_support])
1237 UL_REQUIRES_HAVE([libmount_mountfd_support], [mountfd_api], [mount FDs based API])
1238 AS_IF([test "x$build_libmount_mountfd_support" = xyes ], [
1239 AC_DEFINE([USE_LIBMOUNT_MOUNTFD_SUPPORT], [1], [Enable support for new mount FD based kernel API])
1246 AC_ARG_ENABLE([libsmartcols],
1247 AS_HELP_STRING([--disable-libsmartcols], [do not build libsmartcols]),
1248 [], [UL_DEFAULT_ENABLE([libsmartcols], [yes])]
1250 UL_BUILD_INIT([libsmartcols])
1251 AM_CONDITIONAL([BUILD_LIBSMARTCOLS], [test "x$build_libsmartcols" = xyes])
1253 AC_SUBST([LIBSMARTCOLS_VERSION])
1254 AC_SUBST([LIBSMARTCOLS_VERSION_INFO])
1255 AC_DEFINE_UNQUOTED([LIBSMARTCOLS_VERSION], ["$LIBSMARTCOLS_VERSION"], [libsmartcols version string])
1261 AC_ARG_ENABLE([libfdisk],
1262 AS_HELP_STRING([--disable-libfdisk], [do not build libfdisk]),
1263 [], [UL_DEFAULT_ENABLE([libfdisk], [check])]
1265 UL_BUILD_INIT([libfdisk])
1266 UL_REQUIRES_BUILD([libfdisk], [libuuid])
1267 AM_CONDITIONAL([BUILD_LIBFDISK], [test "x$build_libfdisk" = xyes])
1268 AM_CONDITIONAL([BUILD_LIBFDISK_TESTS], [test "x$build_libfdisk" = xyes && test "x$enable_static" = xyes])
1270 AS_IF([test "x$build_libblkid" = xyes],
1271 [LIBFDISK_PC_REQUIRES="uuid blkid"],[LIBFDISK_PC_REQUIRES="uuid"])
1272 AC_SUBST([LIBFDISK_PC_REQUIRES])
1274 AC_SUBST([LIBFDISK_VERSION])
1275 AC_SUBST([LIBFDISK_MAJOR_VERSION], $PACKAGE_VERSION_MAJOR)
1276 AC_SUBST([LIBFDISK_MINOR_VERSION], $PACKAGE_VERSION_MINOR)
1277 AC_SUBST([LIBFDISK_PATCH_VERSION], $PACKAGE_VERSION_RELEASE)
1278 AC_SUBST([LIBFDISK_VERSION_INFO])
1279 AC_DEFINE_UNQUOTED([LIBFDISK_VERSION], ["$LIBFDISK_VERSION"], [libfdisk version string])
1282 AC_ARG_ENABLE([fdisks],
1283 AS_HELP_STRING([--disable-fdisks], [do not build fdisk(8), sfdisk(8) and cfdisk(8)]),
1284 [], [UL_DEFAULT_ENABLE([fdisks], [check])]
1286 enable_fdisk=$enable_fdisks
1287 enable_sfdisk=$enable_fdisks
1288 enable_cfdisk=$enable_fdisks
1290 UL_BUILD_INIT([fdisk])
1291 UL_REQUIRES_HAVE([fdisk], [openat], [openat functions])
1292 UL_REQUIRES_HAVE([fdisk], [dirfd,ddfd], [dirfd or ddfd function])
1293 UL_REQUIRES_BUILD([fdisk], [libfdisk])
1294 UL_REQUIRES_BUILD([fdisk], [libsmartcols])
1295 AM_CONDITIONAL([BUILD_FDISK], [test "x$build_fdisk" = xyes])
1298 UL_BUILD_INIT([sfdisk])
1299 UL_REQUIRES_HAVE([sfdisk], [openat], [openat functions])
1300 UL_REQUIRES_HAVE([sfdisk], [dirfd,ddfd], [dirfd or ddfd function])
1301 UL_REQUIRES_BUILD([sfdisk], [libfdisk])
1302 UL_REQUIRES_BUILD([sfdisk], [libsmartcols])
1303 AM_CONDITIONAL([BUILD_SFDISK], [test "x$build_sfdisk" = xyes])
1306 UL_BUILD_INIT([cfdisk])
1307 UL_REQUIRES_BUILD([cfdisk], [libfdisk])
1308 UL_REQUIRES_BUILD([cfdisk], [libsmartcols])
1309 UL_REQUIRES_HAVE([cfdisk], [open_memstream], [open_memstream function])
1310 UL_REQUIRES_HAVE([cfdisk], [ncursesw,slang,ncurses], [ncursesw, ncurses or slang library])
1311 AM_CONDITIONAL([BUILD_CFDISK], [test "x$build_cfdisk" = xyes])
1314 AC_ARG_ENABLE([mount],
1315 AS_HELP_STRING([--disable-mount], [do not build mount(8) and umount(8)]),
1316 [], [UL_DEFAULT_ENABLE([mount], [check])]
1318 UL_BUILD_INIT([mount])
1319 UL_REQUIRES_LINUX([mount])
1320 UL_REQUIRES_BUILD([mount], [libmount])
1321 AM_CONDITIONAL([BUILD_MOUNT], [test "x$build_mount" = xyes])
1324 AC_ARG_ENABLE([losetup],
1325 AS_HELP_STRING([--disable-losetup], [do not build losetup]),
1326 [], [UL_DEFAULT_ENABLE([losetup], [check])]
1328 UL_BUILD_INIT([losetup])
1329 UL_REQUIRES_LINUX([losetup])
1330 UL_REQUIRES_BUILD([losetup], [libsmartcols])
1331 AM_CONDITIONAL([BUILD_LOSETUP], [test "x$build_losetup" = xyes])
1333 AC_ARG_ENABLE([zramctl],
1334 AS_HELP_STRING([--disable-zramctl], [do not build zramctl]),
1335 [], [UL_DEFAULT_ENABLE([zramctl], [check])]
1337 UL_BUILD_INIT([zramctl])
1338 UL_REQUIRES_LINUX([zramctl])
1339 UL_REQUIRES_BUILD([zramctl], [libsmartcols])
1340 AM_CONDITIONAL([BUILD_ZRAMCTL], [test "x$build_zramctl" = xyes])
1342 AC_ARG_ENABLE([fsck],
1343 AS_HELP_STRING([--disable-fsck], [do not build fsck]),
1344 [], [UL_DEFAULT_ENABLE([fsck], [check])]
1346 UL_BUILD_INIT([fsck])
1347 UL_REQUIRES_BUILD([fsck], [libmount])
1348 AM_CONDITIONAL([BUILD_FSCK], [test "x$build_fsck" = xyes])
1351 AC_ARG_ENABLE([partx],
1352 AS_HELP_STRING([--disable-partx], [do not build addpart, delpart, partx]),
1353 [], [UL_DEFAULT_ENABLE([partx], [check])]
1355 UL_BUILD_INIT([partx])
1356 UL_REQUIRES_LINUX([partx])
1357 UL_REQUIRES_BUILD([partx], [libblkid])
1358 UL_REQUIRES_BUILD([partx], [libsmartcols])
1359 AM_CONDITIONAL([BUILD_PARTX], [test "x$build_partx" = xyes])
1362 AC_ARG_ENABLE([uuidd],
1363 AS_HELP_STRING([--disable-uuidd], [do not build the uuid daemon]),
1364 [], [UL_DEFAULT_ENABLE([uuidd], [check])]
1366 UL_BUILD_INIT([uuidd])
1367 UL_REQUIRES_BUILD([uuidd], [libuuid])
1368 UL_REQUIRES_HAVE([uuidd], [timer], [timer_create function])
1369 UL_REQUIRES_HAVE([uuidd], [sys_signalfd_h], [sys/signalfd.h header])
1370 AS_IF([test "x$build_uuidd" = xyes || test "x$enable_libuuid_force_uuidd" = xyes], [
1371 AC_DEFINE([HAVE_UUIDD], [1], [Define to 1 if you want to use uuid daemon.])
1373 AM_CONDITIONAL([BUILD_UUIDD], [test "x$build_uuidd" = xyes])
1376 AC_ARG_ENABLE([uuidgen],
1377 AS_HELP_STRING([--disable-uuidgen], [do not build uuidgen]),
1378 [], [UL_DEFAULT_ENABLE([uuidgen], [check])]
1380 UL_BUILD_INIT([uuidgen])
1381 UL_REQUIRES_BUILD([uuidgen], [libuuid])
1382 AM_CONDITIONAL([BUILD_UUIDGEN], [test "x$build_uuidgen" = xyes])
1384 UL_BUILD_INIT([uuidparse], [check])
1385 UL_REQUIRES_BUILD([uuidparse], [libuuid])
1386 UL_REQUIRES_BUILD([uuidparse], [libsmartcols])
1387 AM_CONDITIONAL([BUILD_UUIDPARSE], [test "x$build_uuidparse" = xyes])
1389 AC_ARG_ENABLE([blkid],
1390 AS_HELP_STRING([--disable-blkid], [do not build blkid(8)]),
1391 [], [UL_DEFAULT_ENABLE([blkid], [check])]
1393 UL_BUILD_INIT([blkid])
1394 UL_REQUIRES_BUILD([blkid], [libblkid])
1395 AM_CONDITIONAL([BUILD_BLKID], [test "x$build_blkid" = xyes])
1397 UL_BUILD_INIT([findfs], [check])
1398 UL_REQUIRES_BUILD([findfs], [libblkid])
1399 AM_CONDITIONAL([BUILD_FINDFS], [test "x$build_findfs" = xyes])
1401 AC_ARG_ENABLE([wipefs],
1402 AS_HELP_STRING([--disable-wipefs], [do not build wipefs]),
1403 [], [UL_DEFAULT_ENABLE([wipefs], [check])]
1405 UL_BUILD_INIT([wipefs])
1406 UL_REQUIRES_BUILD([wipefs], [libblkid])
1407 UL_REQUIRES_BUILD([wipefs], [libsmartcols])
1408 AM_CONDITIONAL([BUILD_WIPEFS], [test "x$build_wipefs" = xyes])
1410 UL_BUILD_INIT([findmnt], [check])
1411 UL_REQUIRES_BUILD([findmnt], [libmount])
1412 UL_REQUIRES_BUILD([findmnt], [libblkid])
1413 UL_REQUIRES_BUILD([findmnt], [libsmartcols])
1414 AM_CONDITIONAL([BUILD_FINDMNT], [test "x$build_findmnt" = xyes])
1417 AC_ARG_ENABLE([mountpoint],
1418 AS_HELP_STRING([--disable-mountpoint], [do not build mountpoint]),
1419 [], [UL_DEFAULT_ENABLE([mountpoint], [check])]
1421 UL_BUILD_INIT([mountpoint])
1422 UL_REQUIRES_BUILD([mountpoint], [libmount])
1423 AM_CONDITIONAL([BUILD_MOUNTPOINT], [test "x$build_mountpoint" = xyes])
1426 AC_ARG_ENABLE([fallocate],
1427 AS_HELP_STRING([--disable-fallocate], [do not build fallocate]),
1428 [], [UL_DEFAULT_ENABLE([fallocate], [check])]
1430 UL_BUILD_INIT([fallocate])
1431 UL_REQUIRES_LINUX([fallocate])
1432 UL_REQUIRES_SYSCALL_CHECK([fallocate], [UL_CHECK_SYSCALL([fallocate])])
1433 AM_CONDITIONAL([BUILD_FALLOCATE], [test "x$build_fallocate" = xyes])
1435 AS_IF([test "x$build_fallocate" = xyes], [
1436 dnl check for valid fallocate() function
1437 dnl with 32 bits glibc 2.10, fallocate() exists but not fallocate64()
1438 dnl when _FILE_OFFSET_BITS==64, fallocate() is redirect to fallocate64()
1439 dnl and program can't be linked.
1440 dnl AC_CHECK_FUNC can't catch such errors since it's redefining
1441 dnl function prototype.
1442 AC_MSG_CHECKING([for valid fallocate() function])
1443 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1444 #ifdef HAVE_UNISTD_H
1445 # include <unistd.h>
1447 #ifdef HAVE_SYS_TYPES_H
1448 # include <sys/types.h>
1450 #ifdef HAVE_LINUX_FALLOC_H
1451 # include <linux/falloc.h>
1458 ret = fallocate(0, FALLOC_FL_KEEP_SIZE, 0xfffffffful, 0xfffffffful);
1463 AC_MSG_RESULT([yes])
1464 AC_DEFINE([HAVE_FALLOCATE], [1], [Have valid fallocate() function])],[
1465 AC_MSG_RESULT([no])])
1468 AS_IF([test "x$build_fallocate" = xyes], [
1469 dnl check for valid posix_fallocate() function
1470 AC_MSG_CHECKING([for valid posix_fallocate() function])
1471 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1472 #ifdef HAVE_UNISTD_H
1473 # include <unistd.h>
1475 #ifdef HAVE_SYS_TYPES_H
1476 # include <sys/types.h>
1478 #ifdef HAVE_LINUX_FALLOC_H
1479 # include <linux/falloc.h>
1486 ret = posix_fallocate(0, 0xfffffffful, 0xfffffffful);
1491 AC_MSG_RESULT([yes])
1492 AC_DEFINE([HAVE_POSIX_FALLOCATE], [1], [Have valid posix_fallocate() function])],[
1493 AC_MSG_RESULT([no])])
1497 AC_ARG_ENABLE([unshare],
1498 AS_HELP_STRING([--disable-unshare], [do not build unshare]),
1499 [], [UL_DEFAULT_ENABLE([unshare], [check])]
1501 UL_BUILD_INIT([unshare])
1502 UL_REQUIRES_LINUX([unshare])
1503 UL_REQUIRES_SYSCALL_CHECK([unshare], [UL_CHECK_SYSCALL([unshare])])
1504 UL_REQUIRES_HAVE([unshare], [linux_capability_h], [linux/capability.h header file])
1505 AM_CONDITIONAL([BUILD_UNSHARE], [test "x$build_unshare" = xyes])
1507 AC_MSG_CHECKING([for valid unshare() function])
1508 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1517 AC_MSG_RESULT([yes])
1518 AC_DEFINE([HAVE_UNSHARE], [1], [Have valid unshare() function])],
1524 AC_ARG_ENABLE([nsenter],
1525 AS_HELP_STRING([--disable-nsenter], [do not build nsenter]),
1526 [], [UL_DEFAULT_ENABLE([nsenter], [check])]
1528 UL_BUILD_INIT([nsenter])
1529 UL_REQUIRES_LINUX([nsenter])
1530 UL_REQUIRES_HAVE([nsenter], [setns_syscall], [setns syscall])
1531 AM_CONDITIONAL([BUILD_NSENTER], [test "x$build_nsenter" = xyes])
1533 AC_MSG_CHECKING([for valid setns() function])
1534 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1540 if (ret != EINVAL && ret != EBADF && ret != EPERM) {
1544 AC_MSG_RESULT([yes])
1545 AC_DEFINE([HAVE_SETNS], [1], [Have valid setns() function])],
1551 AC_ARG_WITH([cap_ng],
1552 AS_HELP_STRING([--without-cap-ng], [compile without libcap-ng]),
1553 [], [with_cap_ng=auto]
1555 AS_IF([test "x$with_cap_ng" = xno], [
1556 AM_CONDITIONAL([HAVE_CAP_NG], [false])
1559 UL_CHECK_LIB([cap-ng], [capng_apply], [cap_ng])
1563 AC_ARG_ENABLE([setpriv],
1564 AS_HELP_STRING([--disable-setpriv], [do not build setpriv]),
1565 [], [UL_DEFAULT_ENABLE([setpriv], [check])]
1567 UL_BUILD_INIT([setpriv])
1568 UL_REQUIRES_LINUX([setpriv])
1569 UL_REQUIRES_HAVE([setpriv], [linux_securebits_h], [linux/securebits.h header file])
1570 UL_REQUIRES_HAVE([setpriv], [linux_capability_h], [linux/capability.h header file])
1571 UL_REQUIRES_HAVE([setpriv], [cap_ng], [libcap-ng library])
1572 AM_CONDITIONAL([BUILD_SETPRIV], [test "x$build_setpriv" = xyes])
1574 AC_ARG_ENABLE([hardlink],
1575 AS_HELP_STRING([--disable-hardlink], [do not build hardlink]),
1576 [], [UL_DEFAULT_ENABLE([hardlink], [check])]
1578 UL_BUILD_INIT([hardlink])
1579 AM_CONDITIONAL([BUILD_HARDLINK], [test "x$build_hardlink" = xyes])
1582 AC_ARG_ENABLE([eject],
1583 AS_HELP_STRING([--disable-eject], [do not build eject]),
1584 [], [UL_DEFAULT_ENABLE([eject], [check])]
1586 UL_BUILD_INIT([eject])
1587 UL_REQUIRES_LINUX([eject])
1588 UL_REQUIRES_BUILD([eject], [libmount])
1589 AM_CONDITIONAL([BUILD_EJECT], [test "x$build_eject" = xyes])
1592 AC_ARG_ENABLE([agetty],
1593 AS_HELP_STRING([--disable-agetty], [do not build agetty]),
1594 [], [UL_DEFAULT_ENABLE([agetty], [check])]
1596 UL_BUILD_INIT([agetty])
1597 UL_REQUIRES_HAVE([agetty], [utmpx_h], [utmpx.h header])
1598 UL_REQUIRES_HAVE([agetty], [gnu_utmpx], [GNU utmpx functions])
1599 AM_CONDITIONAL([BUILD_AGETTY], [test "x$build_agetty" = xyes])
1600 AS_IF([test "x$have_futimens" = xyes && test "x$have_inotify_init1" = xyes ], [
1601 AC_DEFINE([AGETTY_RELOAD], [1], [Enable agetty --reload feature])
1603 AC_MSG_WARN([futimens or inotify_init1 not found; agetty(8) will not provide ---reload functionality])
1607 AC_ARG_ENABLE([plymouth_support],
1608 AS_HELP_STRING([--disable-plymouth_support], [do not care about plymouth in sylogin(8) and agetty(8)]),
1609 [], [enable_plymouth_support=check]
1611 UL_BUILD_INIT([plymouth_support])
1612 UL_REQUIRES_HAVE([plymouth_support], [tiocglcktrmios], [TIOCGLCKTRMIOS flag])
1613 UL_REQUIRES_HAVE([plymouth_support], [sock_cloexec], [SOCK_CLOEXEC flag])
1614 UL_REQUIRES_HAVE([plymouth_support], [sock_nonblock], [SOCK_NONBLOCK flag])
1615 UL_REQUIRES_HAVE([plymouth_support], [so_passcred], [SO_PASSCRED flag])
1616 AM_CONDITIONAL([USE_PLYMOUTH_SUPPORT], [test "x$build_plymouth_support" = xyes])
1617 AS_IF([test "x$build_plymouth_support" = xyes ], [
1618 AC_DEFINE([USE_PLYMOUTH_SUPPORT], [1], [Enable plymouth support feature for sulogin and aggety])
1623 AS_HELP_STRING([--without-libz], [compile without libz]),
1624 [], [with_libz=auto]
1626 AS_IF([test "x$with_libz" = xno], [have_z=no], [
1627 AC_CHECK_LIB([z], [crc32], [have_z=yes], [have_z=no])
1630 AC_ARG_WITH([libmagic],
1631 AS_HELP_STRING([--without-libmagic], [compile without libmagic]),
1632 [], [with_libmagic=auto]
1634 AS_IF([test "x$with_libmagic" = xno], [have_magic=no], [
1635 AC_CHECK_LIB([magic], [magic_open], [
1636 AC_CHECK_HEADER(magic.h, [
1637 AC_DEFINE([HAVE_MAGIC], [1], [Define to 1 if you have the libmagic present.])
1638 MAGIC_LIBS="-lmagic"
1642 AC_SUBST([MAGIC_LIBS])
1645 AC_ARG_ENABLE([cramfs],
1646 AS_HELP_STRING([--disable-cramfs], [do not build fsck.cramfs, mkfs.cramfs]),
1647 [], [UL_DEFAULT_ENABLE([cramfs], [check])]
1649 UL_BUILD_INIT([cramfs])
1650 UL_REQUIRES_HAVE([cramfs], [z], [z library])
1651 AM_CONDITIONAL([BUILD_CRAMFS], [test "x$build_cramfs" = xyes])
1654 AC_ARG_ENABLE([bfs],
1655 AS_HELP_STRING([--disable-bfs], [do not build mkfs.bfs]),
1656 [], [UL_DEFAULT_ENABLE([bfs], [yes])]
1658 UL_BUILD_INIT([bfs])
1659 AM_CONDITIONAL([BUILD_BFS], [test "x$build_bfs" = xyes])
1662 AC_ARG_ENABLE([minix],
1663 AS_HELP_STRING([--disable-minix], [do not build fsck.minix, mkfs.minix]),
1664 [], [UL_DEFAULT_ENABLE([minix], [yes])]
1666 UL_BUILD_INIT([minix])
1667 AM_CONDITIONAL([BUILD_MINIX], [test "x$build_minix" = xyes])
1670 AC_ARG_ENABLE([fdformat],
1671 AS_HELP_STRING([--enable-fdformat], [build fdformat]),
1672 [], [UL_DEFAULT_ENABLE([fdformat], [no])]
1674 UL_BUILD_INIT([fdformat])
1675 UL_REQUIRES_LINUX([fdformat])
1676 AM_CONDITIONAL([BUILD_FDFORMAT], [test "x$build_fdformat" = xyes])
1679 AC_ARG_ENABLE([hwclock],
1680 AS_HELP_STRING([--disable-hwclock], [do not build hwclock]),
1681 [], [UL_DEFAULT_ENABLE([hwclock], [check])]
1683 have_linuxdummy=$linux_os
1685 UL_BUILD_INIT([hwclock])
1686 UL_REQUIRES_HAVE([hwclock], [io, linuxdummy], [ioperm iopl function or Linux])
1687 AM_CONDITIONAL([BUILD_HWCLOCK], [test "x$build_hwclock" = xyes])
1689 AC_ARG_ENABLE([hwclock_cmos],
1690 AS_HELP_STRING([--disable-hwclock-cmos], [do not use CMOS clock]),
1691 [], [enable_hwclock_cmos=check]
1693 UL_BUILD_INIT([hwclock_cmos])
1694 UL_REQUIRES_BUILD([hwclock_cmos], [hwclock])
1695 UL_REQUIRES_ARCH([hwclock_cmos], [i?86-*,x86_64*])
1696 AM_CONDITIONAL([USE_HWCLOCK_CMOS], [test "x$build_hwclock_cmos" = xyes])
1697 AS_IF([test "x$build_hwclock_cmos" = xyes ], [
1698 AC_DEFINE([USE_HWCLOCK_CMOS], [1], [Define to 1 if want to use CMOS clock.])
1701 AC_ARG_ENABLE([hwclock_gplv3],
1702 AS_HELP_STRING([--disable-hwclock-gplv3], [do not use datetime parsing GPLv3 code]),
1703 [], [enable_hwclock_gplv3=yes]
1705 AM_CONDITIONAL([USE_HWCLOCK_GPLv3_DATETIME], [test "x$enable_hwclock_gplv3" = xyes])
1706 AS_IF([test "x$enable_hwclock_gplv3" = xyes ], [
1707 AC_DEFINE([USE_HWCLOCK_GPLv3_DATETIME], [1], [use datetime parsing GPLv3 code to hwclock])
1711 AC_ARG_ENABLE([mkfs],
1712 AS_HELP_STRING([--disable-mkfs], [do not build mkfs(8)]),
1713 [], [UL_DEFAULT_ENABLE([mkfs], [check])]
1715 UL_BUILD_INIT([mkfs])
1716 AM_CONDITIONAL([BUILD_MKFS], [test "x$build_mkfs" = xyes])
1718 UL_BUILD_INIT([isosize], [yes])
1719 AM_CONDITIONAL([BUILD_ISOSIZE], [test "x$build_isosize" = xyes])
1722 AC_ARG_ENABLE([fstrim],
1723 AS_HELP_STRING([--disable-fstrim], [do not build fstrim(8)]),
1724 [], [UL_DEFAULT_ENABLE([fstrim], [check])]
1726 UL_BUILD_INIT([fstrim])
1727 UL_REQUIRES_LINUX([fstrim])
1728 UL_REQUIRES_BUILD([fstrim], [libmount])
1729 AM_CONDITIONAL([BUILD_FSTRIM], [test "x$build_fstrim" = xyes])
1732 AC_ARG_ENABLE([swapon],
1733 AS_HELP_STRING([--disable-swapon], [do not build swapon(8) and swapoff(8)]),
1734 [], [UL_DEFAULT_ENABLE([swapon], [check])]
1736 UL_BUILD_INIT([swapon])
1737 UL_REQUIRES_LINUX([swapon])
1738 UL_REQUIRES_SYSCALL_CHECK([swapon], [UL_CHECK_SYSCALL([swapon])], [swapon])
1739 UL_REQUIRES_SYSCALL_CHECK([swapon], [UL_CHECK_SYSCALL([swapoff])], [swapoff])
1740 UL_REQUIRES_BUILD([swapon], [libblkid])
1741 UL_REQUIRES_BUILD([swapon], [libmount])
1742 UL_REQUIRES_BUILD([swapon], [libsmartcols])
1743 AM_CONDITIONAL([BUILD_SWAPON], [test "x$build_swapon" = xyes])
1744 AC_CHECK_FUNCS([swapon])
1745 AC_CHECK_FUNCS([swapoff])
1748 UL_BUILD_INIT([lsblk], [check])
1749 UL_REQUIRES_LINUX([lsblk])
1750 UL_REQUIRES_BUILD([lsblk], [libblkid])
1751 UL_REQUIRES_BUILD([lsblk], [libmount])
1752 UL_REQUIRES_BUILD([lsblk], [libsmartcols])
1753 AM_CONDITIONAL([BUILD_LSBLK], [test "x$build_lsblk" = xyes])
1756 AC_ARG_ENABLE([lscpu],
1757 AS_HELP_STRING([--disable-lscpu], [do not build lscpu]),
1758 [], [UL_DEFAULT_ENABLE([lscpu], [check])]
1760 UL_BUILD_INIT([lscpu])
1761 UL_REQUIRES_LINUX([lscpu])
1762 UL_REQUIRES_BUILD([lscpu], [libsmartcols])
1763 UL_REQUIRES_HAVE([lscpu], [cpu_set_t], [cpu_set_t type])
1764 AM_CONDITIONAL([BUILD_LSCPU], [test "x$build_lscpu" = xyes])
1766 AC_ARG_ENABLE([lsfd],
1767 AS_HELP_STRING([--disable-lsfd], [do not build lsfd]),
1768 [], [UL_DEFAULT_ENABLE([lsfd], [check])]
1770 UL_BUILD_INIT([lsfd])
1771 UL_REQUIRES_LINUX([lsfd])
1772 UL_REQUIRES_BUILD([lsfd], [libsmartcols])
1773 UL_REQUIRES_HAVE([lsfd], [linux_kcmp_h], [linux/kcmp.h header file])
1774 AM_CONDITIONAL([BUILD_LSFD], [test "x$build_lsfd" = xyes])
1776 AC_ARG_ENABLE([lslogins],
1777 AS_HELP_STRING([--disable-lslogins], [do not build lslogins]),
1778 [], [UL_DEFAULT_ENABLE([lslogins], [check])]
1780 UL_BUILD_INIT([lslogins])
1781 UL_REQUIRES_BUILD([lslogins], [libsmartcols])
1782 UL_REQUIRES_HAVE([lslogins], [shadow_h], [shadow.h header])
1783 UL_REQUIRES_HAVE([lslogins], [utmpx_h], [utmpx.h header])
1784 UL_REQUIRES_HAVE([lslogins], [gnu_utmpx], [GNU utmpx functions])
1785 AM_CONDITIONAL([BUILD_LSLOGINS], [test "x$build_lslogins" = xyes])
1788 UL_BUILD_INIT([chcpu], [check])
1789 UL_REQUIRES_LINUX([chcpu])
1790 UL_REQUIRES_HAVE([chcpu], [cpu_set_t], [cpu_set_t type])
1791 AM_CONDITIONAL([BUILD_CHCPU], [test "x$build_chcpu" = xyes])
1794 AC_ARG_ENABLE([wdctl],
1795 AS_HELP_STRING([--disable-wdctl], [do not build wdctl]),
1796 [], [UL_DEFAULT_ENABLE([wdctl], [check])]
1798 UL_BUILD_INIT([wdctl])
1799 UL_REQUIRES_LINUX([wdctl])
1800 UL_REQUIRES_BUILD([wdctl], [libsmartcols])
1801 UL_REQUIRES_HAVE([wdctl], [linux_watchdog_h], [linux/watchdog.h header file])
1802 AM_CONDITIONAL([BUILD_WDCTL], [test "x$build_wdctl" = xyes])
1805 UL_BUILD_INIT([swaplabel], [check])
1806 UL_REQUIRES_BUILD([swaplabel], [libblkid])
1807 AM_CONDITIONAL([BUILD_SWAPLABEL], [test "x$build_swaplabel" = xyes])
1810 UL_BUILD_INIT([mkswap], [yes])
1811 AM_CONDITIONAL([BUILD_MKSWAP], [test "x$build_mkswap" = xyes])
1812 AS_IF([test "x$build_mkswap" = xyes && test "x$build_libuuid" != xyes], [
1813 AC_MSG_WARN([uuid library is not found; mkswap(8) will not generate UUIDs])
1817 AC_ARG_ENABLE([cal],
1818 AS_HELP_STRING([--disable-cal], [do not build cal]),
1819 [], [UL_DEFAULT_ENABLE([cal], [check])]
1821 UL_BUILD_INIT([cal])
1822 AM_CONDITIONAL([BUILD_CAL], [test "x$build_cal" = xyes])
1824 AC_ARG_ENABLE([logger],
1825 AS_HELP_STRING([--disable-logger], [do not build logger]),
1826 [], [UL_DEFAULT_ENABLE([logger], [check])]
1828 UL_BUILD_INIT([logger])
1829 AM_CONDITIONAL([BUILD_LOGGER], [test "x$build_logger" = xyes])
1831 UL_BUILD_INIT([look], [yes])
1832 AM_CONDITIONAL([BUILD_LOOK], [test "x$build_look" = xyes])
1834 UL_BUILD_INIT([mcookie], [yes])
1835 AM_CONDITIONAL([BUILD_MCOOKIE], [test "x$build_mcookie" = xyes])
1837 UL_BUILD_INIT([namei], [yes])
1838 AM_CONDITIONAL([BUILD_NAMEI], [test "x$build_namei" = xyes])
1840 matriplet="$($CC -print-multiarch 2>/dev/null || true)"
1841 if test "x$matriplet" != "x"; then
1842 AC_DEFINE_UNQUOTED([MULTIARCHTRIPLET], ["$matriplet"],
1843 ["Multi-arch triplet for whereis library search path"])
1845 AC_ARG_ENABLE([whereis],
1846 AS_HELP_STRING([--disable-whereis], [do not build whereis]),
1847 [], [UL_DEFAULT_ENABLE([whereis], [check])]
1849 UL_BUILD_INIT([whereis])
1850 AM_CONDITIONAL([BUILD_WHEREIS], [test "x$build_whereis" = xyes])
1852 AC_ARG_ENABLE([pipesz],
1853 AS_HELP_STRING([--disable-pipesz], [do not build pipesz]),
1854 [], [UL_DEFAULT_ENABLE([pipesz], [check])]
1856 UL_BUILD_INIT([pipesz])
1857 UL_REQUIRES_LINUX([pipesz])
1858 AM_CONDITIONAL([BUILD_PIPESZ], [test "x$build_pipesz" = xyes])
1860 UL_BUILD_INIT([fadvise], [check])
1861 UL_REQUIRES_LINUX([fadvise])
1862 AM_CONDITIONAL([BUILD_FADVISE], [test "x$build_fadvise" = xyes])
1864 AC_ARG_ENABLE([waitpid],
1865 AS_HELP_STRING([--disable-waitpid], [do not build waitpid]),
1866 [], [UL_DEFAULT_ENABLE([waitpid], [check])]
1868 UL_BUILD_INIT([waitpid])
1869 UL_REQUIRES_LINUX([waitpid])
1870 UL_REQUIRES_SYSCALL_CHECK([waitpid], [UL_CHECK_SYSCALL([pidfd_open])], [pidfd_open])
1871 AM_CONDITIONAL([BUILD_WAITPID], [test "x$build_waitpid" = xyes])
1873 UL_BUILD_INIT([enosys], [check])
1874 UL_REQUIRES_LINUX([enosys])
1875 AS_IF([test "x$build_enosys" = xyes], [
1876 AC_MSG_CHECKING([for valid audit arch])
1878 [AC_LANG_PROGRAM([[#include "${srcdir}/include/audit-arch.h"]])],
1879 [AC_MSG_RESULT([yes])],
1880 [AC_MSG_RESULT([no])
1884 AM_CONDITIONAL([BUILD_ENOSYS], [test "x$build_enosys" = xyes])
1886 UL_BUILD_INIT([getopt], [yes])
1887 AM_CONDITIONAL([BUILD_GETOPT], [test "x$build_getopt" = xyes])
1890 UL_BUILD_INIT([blockdev], [check])
1891 UL_REQUIRES_LINUX([blockdev])
1892 AM_CONDITIONAL([BUILD_BLOCKDEV], [test "x$build_blockdev" = xyes])
1895 UL_BUILD_INIT([prlimit], [check])
1896 UL_REQUIRES_LINUX([prlimit])
1897 UL_REQUIRES_BUILD([prlimit], [libsmartcols])
1898 UL_REQUIRES_SYSCALL_CHECK([prlimit], [UL_CHECK_SYSCALL([prlimit64])], [prlimit64])
1899 AM_CONDITIONAL([BUILD_PRLIMIT], [test "x$build_prlimit" = xyes])
1900 AS_IF([test "x$build_prlimit" = xyes], [
1901 dnl check for valid prlimit() function
1902 AC_MSG_CHECKING([for valid prlimit() function])
1903 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1904 #include <sys/types.h>
1905 #include <sys/time.h>
1906 #include <sys/resource.h>
1910 ret = prlimit(0, RLIMIT_AS, NULL, NULL);
1915 AC_MSG_RESULT([yes])
1916 AC_DEFINE([HAVE_PRLIMIT], [1], [Have valid prlimit() function])],[
1917 AC_MSG_RESULT([no])])
1922 UL_BUILD_INIT([lslocks], [check])
1923 UL_REQUIRES_LINUX([lslocks])
1924 UL_REQUIRES_BUILD([lslocks], [libmount])
1925 UL_REQUIRES_BUILD([lslocks], [libsmartcols])
1926 AM_CONDITIONAL([BUILD_LSLOCKS], [test "x$build_lslocks" = xyes])
1929 AC_ARG_ENABLE([switch_root],
1930 AS_HELP_STRING([--disable-switch_root], [do not build switch_root]),
1931 [], [UL_DEFAULT_ENABLE([switch_root], [check])]
1933 UL_BUILD_INIT([switch_root])
1934 UL_REQUIRES_LINUX([switch_root])
1935 UL_REQUIRES_HAVE([switch_root], [openat], [openat function])
1936 UL_REQUIRES_HAVE([switch_root], [dirfd,ddfd], [dirfd or ddfd function])
1937 AM_CONDITIONAL([BUILD_SWITCH_ROOT], [test "x$build_switch_root" = xyes])
1940 AC_ARG_ENABLE([pivot_root],
1941 AS_HELP_STRING([--disable-pivot_root], [do not build pivot_root]),
1942 [], [UL_DEFAULT_ENABLE([pivot_root], [check])]
1944 UL_BUILD_INIT([pivot_root])
1945 UL_REQUIRES_LINUX([pivot_root])
1946 UL_REQUIRES_SYSCALL_CHECK([pivot_root], [UL_CHECK_SYSCALL([pivot_root])])
1947 AM_CONDITIONAL([BUILD_PIVOT_ROOT], [test "x$build_pivot_root" = xyes])
1950 UL_BUILD_INIT([flock], [check])
1951 UL_REQUIRES_HAVE([flock], [timer], [timer_create/setitimer function])
1952 AM_CONDITIONAL([BUILD_FLOCK], [test "x$build_flock" = xyes])
1955 AC_ARG_ENABLE([lsmem],
1956 AS_HELP_STRING([--disable-lsmem], [do not build lsmem]),
1957 [], [UL_DEFAULT_ENABLE([lsmem], [check])]
1959 UL_BUILD_INIT([lsmem])
1960 UL_REQUIRES_LINUX([lsmem])
1961 UL_REQUIRES_BUILD([lsmem], [libsmartcols])
1962 AM_CONDITIONAL([BUILD_LSMEM], [test "x$build_lsmem" = xyes])
1965 AC_ARG_ENABLE([chmem],
1966 AS_HELP_STRING([--disable-chmem], [do not build chmem]),
1967 [], [UL_DEFAULT_ENABLE([chmem], [check])]
1969 UL_BUILD_INIT([chmem])
1970 UL_REQUIRES_LINUX([chmem])
1971 AM_CONDITIONAL([BUILD_CHMEM], [test "x$build_chmem" = xyes])
1974 AC_ARG_ENABLE([ipcmk],
1975 AS_HELP_STRING([--disable-ipcmk], [do not build ipcmk]),
1976 [], [UL_DEFAULT_ENABLE([ipcmk], [check])]
1978 UL_BUILD_INIT([ipcmk])
1979 UL_EXCLUDE_ARCH([ipcmk], [*darwin*])
1980 AM_CONDITIONAL([BUILD_IPCMK], [test "x$build_ipcmk" = xyes])
1982 AC_ARG_ENABLE([ipcrm],
1983 AS_HELP_STRING([--disable-ipcrm], [do not build ipcrm]),
1984 [], [UL_DEFAULT_ENABLE([ipcrm], [check])]
1986 UL_BUILD_INIT([ipcrm])
1987 UL_EXCLUDE_ARCH([ipcrm], [*darwin*])
1988 AM_CONDITIONAL([BUILD_IPCRM], [test "x$build_ipcrm" = xyes])
1990 AC_ARG_ENABLE([ipcs],
1991 AS_HELP_STRING([--disable-ipcs], [do not build ipcs]),
1992 [], [UL_DEFAULT_ENABLE([ipcs], [check])]
1994 UL_BUILD_INIT([ipcs])
1995 UL_EXCLUDE_ARCH([ipcs], [*darwin*])
1996 AM_CONDITIONAL([BUILD_IPCS], [test "x$build_ipcs" = xyes])
1999 AC_ARG_ENABLE([irqtop],
2000 AS_HELP_STRING([--disable-irqtop], [do not build irqtop]),
2001 [], [UL_DEFAULT_ENABLE([irqtop], [check])]
2003 UL_BUILD_INIT([irqtop])
2004 UL_REQUIRES_LINUX([irqtop])
2005 UL_REQUIRES_BUILD([irqtop], [libsmartcols])
2006 UL_REQUIRES_HAVE([irqtop], [open_memstream], [open_memstream function])
2007 UL_REQUIRES_HAVE([irqtop], [ncursesw,slang,ncurses], [ncursesw, ncurses or slang library])
2008 AM_CONDITIONAL([BUILD_IRQTOP], [test "x$build_irqtop" = xyes])
2010 AC_ARG_ENABLE([lsirq],
2011 AS_HELP_STRING([--disable-lsirq], [do not build lsirq]),
2012 [], [UL_DEFAULT_ENABLE([lsirq], [check])]
2014 UL_BUILD_INIT([lsirq])
2015 UL_REQUIRES_LINUX([lsirq])
2016 UL_REQUIRES_BUILD([lsirq], [libsmartcols])
2017 AM_CONDITIONAL([BUILD_LSIRQ], [test "x$build_lsirq" = xyes])
2020 UL_BUILD_INIT([choom], [check])
2021 UL_REQUIRES_LINUX([choom])
2022 AM_CONDITIONAL([BUILD_CHOOM], [test "x$build_choom" = xyes])
2024 UL_BUILD_INIT([lsipc], [check])
2025 UL_REQUIRES_LINUX([lsipc])
2026 UL_REQUIRES_BUILD([lsipc], [libsmartcols])
2027 AM_CONDITIONAL([BUILD_LSIPC], [test "x$build_lsipc" = xyes])
2029 AC_ARG_ENABLE([lsns],
2030 AS_HELP_STRING([--disable-lsns], [do not build lsns]),
2031 [], [UL_DEFAULT_ENABLE([lsns], [check])]
2033 UL_BUILD_INIT([lsns])
2034 UL_REQUIRES_LINUX([lsns])
2035 UL_REQUIRES_BUILD([lsns], [libsmartcols])
2036 UL_REQUIRES_BUILD([lsns], [libmount])
2037 AM_CONDITIONAL([BUILD_LSNS], [test "x$build_lsns" = xyes])
2039 UL_BUILD_INIT([renice], [yes])
2040 AM_CONDITIONAL([BUILD_RENICE], [test "x$build_renice" = xyes])
2043 AC_ARG_ENABLE([rfkill],
2044 AS_HELP_STRING([--disable-rfkill], [do not build rfkill]),
2045 [], [UL_DEFAULT_ENABLE([rfkill], [check])]
2047 UL_BUILD_INIT([rfkill])
2048 UL_REQUIRES_LINUX([rfkill])
2049 UL_REQUIRES_BUILD([rfkill], [libsmartcols])
2050 AM_CONDITIONAL([BUILD_RFKILL], [test "x$build_rfkill" = xyes])
2053 UL_BUILD_INIT([setsid], [yes])
2054 AM_CONDITIONAL([BUILD_SETSID], [test "x$build_setsid" = xyes])
2056 UL_BUILD_INIT([readprofile], [check])
2057 UL_REQUIRES_LINUX([readprofile])
2058 AM_CONDITIONAL([BUILD_READPROFILE], [test "x$build_readprofile" = xyes])
2060 UL_BUILD_INIT([dmesg], [check])
2061 UL_REQUIRES_LINUX([dmesg])
2062 AM_CONDITIONAL([BUILD_DMESG], [test "x$build_dmesg" = xyes])
2064 UL_BUILD_INIT([ctrlaltdel], [check])
2065 UL_REQUIRES_LINUX([ctrlaltdel])
2066 dnl we assume reboot() to be the 1-argument variant, because even considering
2067 dnl widely used alternative C libraries like uclibc, dietlibc and musl,
2068 dnl reboot() with multiple arguments is yet only found in glibc versions
2069 dnl earlier than 2.x.
2070 UL_REQUIRES_HAVE([ctrlaltdel], [reboot], [reboot function])
2071 AM_CONDITIONAL([BUILD_CTRLALTDEL], [test "x$build_ctrlaltdel" = xyes])
2073 UL_BUILD_INIT([fincore], [check])
2074 UL_REQUIRES_LINUX([fincore])
2075 UL_REQUIRES_BUILD([fincore], [libsmartcols])
2076 AM_CONDITIONAL([BUILD_FINCORE], [test "x$build_fincore" = xyes])
2078 UL_BUILD_INIT([fsfreeze], [check])
2079 UL_REQUIRES_LINUX([fsfreeze])
2080 AM_CONDITIONAL([BUILD_FSFREEZE], [test "x$build_fsfreeze" = xyes])
2082 UL_BUILD_INIT([blkdiscard], [check])
2083 UL_REQUIRES_LINUX([blkdiscard])
2084 AM_CONDITIONAL([BUILD_BLKDISCARD], [test "x$build_blkdiscard" = xyes])
2086 UL_BUILD_INIT([blkzone], [check])
2087 UL_REQUIRES_LINUX([blkzone])
2088 UL_REQUIRES_HAVE([blkzone], [linux_blkzoned_h], [linux/blkzoned.h header])
2089 AM_CONDITIONAL([BUILD_BLKZONE], [test "x$build_blkzone" = xyes])
2091 UL_BUILD_INIT([blkpr], [check])
2092 UL_REQUIRES_LINUX([blkpr])
2093 UL_REQUIRES_HAVE([blkpr], [linux_pr_h], [linux/pr.h header])
2094 AM_CONDITIONAL([BUILD_BLKPR], [test "x$build_blkpr" = xyes])
2096 UL_BUILD_INIT([ldattach], [check])
2097 UL_REQUIRES_LINUX([ldattach])
2098 AM_CONDITIONAL([BUILD_LDATTACH], [test "x$build_ldattach" = xyes])
2100 UL_BUILD_INIT([rtcwake], [check])
2101 UL_REQUIRES_LINUX([rtcwake])
2102 AM_CONDITIONAL([BUILD_RTCWAKE], [test "x$build_rtcwake" = xyes])
2104 UL_BUILD_INIT([setarch], [check])
2105 UL_REQUIRES_LINUX([setarch])
2106 AM_CONDITIONAL([BUILD_SETARCH], [test "x$build_setarch" = xyes])
2109 # build_scriptutils= is just configure-only variable to control
2110 # script, scriptreplay and scriptlive
2111 AC_ARG_ENABLE([scriptutils],
2112 AS_HELP_STRING([--disable-scriptutils], [do not build script, scriptreplay and scriptlive]),
2113 [], [UL_DEFAULT_ENABLE([scriptutils], [check])]
2116 UL_ENABLE_ALIAS([script], [scriptutils])
2117 UL_BUILD_INIT([script])
2118 UL_REQUIRES_HAVE([script], [pty], [openpty function (libutil)])
2119 AM_CONDITIONAL([BUILD_SCRIPT], [test "x$build_script" = xyes])
2121 UL_ENABLE_ALIAS([scriptreplay], [scriptutils])
2122 UL_BUILD_INIT([scriptreplay])
2123 AM_CONDITIONAL([BUILD_SCRIPTREPLAY], [test "x$build_scriptreplay" = xyes])
2125 UL_ENABLE_ALIAS([scriptlive], [scriptutils])
2126 UL_BUILD_INIT([scriptlive])
2127 UL_REQUIRES_HAVE([scriptlive], [pty], [openpty function (libutil)])
2128 AM_CONDITIONAL([BUILD_SCRIPTLIVE], [test "x$build_scriptlive" = xyes])
2131 UL_BUILD_INIT([col], [yes])
2132 AM_CONDITIONAL([BUILD_COL], [test "x$build_col" = xyes])
2134 UL_BUILD_INIT([colcrt], [yes])
2135 AM_CONDITIONAL([BUILD_COLCRT], [test "x$build_colcrt" = xyes])
2137 UL_BUILD_INIT([colrm], [yes])
2138 AM_CONDITIONAL([BUILD_COLRM], [test "x$build_colrm" = xyes])
2140 UL_BUILD_INIT([column], [check])
2141 UL_REQUIRES_BUILD([column], [libsmartcols])
2142 AM_CONDITIONAL([BUILD_COLUMN], [test "x$build_column" = xyes])
2144 UL_BUILD_INIT([hexdump], [yes])
2145 AM_CONDITIONAL([BUILD_HEXDUMP], [test "x$build_hexdump" = xyes])
2147 UL_BUILD_INIT([rev], [yes])
2148 AM_CONDITIONAL([BUILD_REV], [test "x$build_rev" = xyes])
2151 AC_ARG_ENABLE([tunelp],
2152 AS_HELP_STRING([--enable-tunelp], [build tunelp]),
2153 [], [UL_DEFAULT_ENABLE([tunelp], [no])]
2155 UL_BUILD_INIT([tunelp])
2156 UL_REQUIRES_LINUX([tunelp])
2157 AM_CONDITIONAL([BUILD_TUNELP], [test "x$build_tunelp" = xyes])
2160 AC_ARG_ENABLE([kill],
2161 AS_HELP_STRING([--disable-kill], [do not build kill]),
2162 [], [UL_DEFAULT_ENABLE([kill], [check])]
2164 UL_BUILD_INIT([kill])
2165 UL_REQUIRES_LINUX([kill])
2166 AM_CONDITIONAL([BUILD_KILL], [test "x$build_kill" = xyes])
2169 AC_ARG_ENABLE([last],
2170 AS_HELP_STRING([--disable-last], [do not build last]),
2171 [], [UL_DEFAULT_ENABLE([last], [check])]
2173 UL_BUILD_INIT([last])
2174 UL_REQUIRES_HAVE([last], [utmpx_h], [utmpx.h header])
2175 UL_REQUIRES_HAVE([last], [gnu_utmpx], [GNU utmpx functions])
2176 AM_CONDITIONAL([BUILD_LAST], [test "x$build_last" = xyes])
2179 AC_ARG_ENABLE([utmpdump],
2180 AS_HELP_STRING([--disable-utmpdump], [do not build utmpdump]),
2181 [], [UL_DEFAULT_ENABLE([utmpdump], [check])]
2183 UL_BUILD_INIT([utmpdump])
2184 UL_REQUIRES_HAVE([utmpdump], [utmpx_h], [utmpx.h header])
2185 UL_REQUIRES_HAVE([utmpdump], [gnu_utmpx], [GNU utmpx functions])
2186 AM_CONDITIONAL([BUILD_UTMPDUMP], [test "x$build_utmpdump" = xyes])
2189 AC_ARG_ENABLE([line],
2190 AS_HELP_STRING([--enable-line], [build line]),
2191 [], [UL_DEFAULT_ENABLE([line], [no])]
2193 UL_BUILD_INIT([line])
2194 AM_CONDITIONAL([BUILD_LINE], [test "x$build_line" = xyes])
2197 AC_ARG_ENABLE([mesg],
2198 AS_HELP_STRING([--disable-mesg], [do not build mesg]),
2199 [], [UL_DEFAULT_ENABLE([mesg], [yes])]
2201 UL_BUILD_INIT([mesg])
2202 AM_CONDITIONAL([BUILD_MESG], [test "x$build_mesg" = xyes])
2205 AC_ARG_ENABLE([raw],
2206 AS_HELP_STRING([--disable-raw], [do not build raw]),
2207 [], [UL_DEFAULT_ENABLE([raw], [check])]
2209 UL_BUILD_INIT([raw])
2210 UL_REQUIRES_LINUX([raw])
2211 UL_REQUIRES_HAVE([raw], [linux_raw_h], [raw.h header file])
2212 AM_CONDITIONAL([BUILD_RAW], [test "x$build_raw" = xyes])
2215 AC_ARG_ENABLE([rename],
2216 AS_HELP_STRING([--disable-rename], [do not build rename]),
2217 [], [UL_DEFAULT_ENABLE([rename], [yes])]
2219 UL_BUILD_INIT([rename])
2220 AM_CONDITIONAL([BUILD_RENAME], [test "x$build_rename" = xyes])
2223 AC_ARG_ENABLE([vipw],
2224 AS_HELP_STRING([--enable-vipw], [build vipw]),
2225 [], [UL_DEFAULT_ENABLE([vipw], [no])]
2227 UL_BUILD_INIT([vipw])
2228 UL_REQUIRES_HAVE([vipw], [shadow_h], [shadow.h header])
2229 AM_CONDITIONAL([BUILD_VIPW], [test "x$build_vipw" = xyes])
2232 AC_ARG_ENABLE([newgrp],
2233 AS_HELP_STRING([--enable-newgrp], [build newgrp]),
2234 [], [UL_DEFAULT_ENABLE([newgrp], [no])]
2236 UL_BUILD_INIT([newgrp])
2237 UL_REQUIRES_HAVE([newgrp], [crypt], [crypt function])
2238 AM_CONDITIONAL([BUILD_NEWGRP], [test "x$build_newgrp" = xyes])
2241 AC_ARG_WITH([user], AS_HELP_STRING([--without-user], [compile without libuser (remote chsh)]),
2242 [], [with_user=check]
2245 AS_IF([test "x$with_user" != xno], [
2246 PKG_CHECK_MODULES(LIBUSER,[libuser >= 0.58], [have_user=yes], [have_user=no])
2247 AS_CASE([$with_user:$have_user],
2249 [AC_MSG_ERROR([user selected but libuser not found])],
2251 [AC_DEFINE([HAVE_LIBUSER], [1], [Define if libuser is available])]
2253 # temporary solution, libuser has stupid .pc where are exported all
2254 # private dependencies to Requires: instead of Requires.private:
2255 AS_IF([test "x$have_user" = xyes], [
2259 AM_CONDITIONAL([HAVE_USER], [test "x$have_user" = xyes])
2261 AC_ARG_ENABLE([chfn-chsh-password],
2262 AS_HELP_STRING([--disable-chfn-chsh-password], [do not require the user to enter the password in chfn and chsh]),
2263 [], [enable_chfn_chsh_password=yes]
2266 AC_ARG_ENABLE([chfn-chsh],
2267 AS_HELP_STRING([--disable-chfn-chsh], [do not build chfn and chsh]),
2268 [], [UL_DEFAULT_ENABLE([chfn_chsh], [check])]
2270 UL_BUILD_INIT([chfn_chsh])
2271 UL_REQUIRES_HAVE([chfn_chsh], [shadow_h], [shadow.h header])
2272 UL_REQUIRES_HAVE([chfn_chsh], [getusershell], [getusershell function])
2274 AS_IF([test "x$enable_chfn_chsh_password" = xyes || test "x$have_user" = xyes], [
2275 UL_REQUIRES_HAVE([chfn_chsh], [security_pam_appl_h], [PAM header file])
2276 AC_DEFINE([CHFN_CHSH_PASSWORD], [1], [Should chfn and chsh require the user to enter the password?])
2278 AM_CONDITIONAL([BUILD_CHFN_CHSH], [test "x$build_chfn_chsh" = xyes])
2279 AM_CONDITIONAL([CHFN_CHSH_PASSWORD], [test "x$enable_chfn_chsh_password" = xyes])
2281 AC_ARG_ENABLE([chsh-only-listed],
2282 AS_HELP_STRING([--disable-chsh-only-listed], [chsh: allow shells not in /etc/shells]),
2283 [], enable_chsh_only_listed=yes
2286 AS_IF([test "x$enable_chsh_only_listed" = xyes], [
2287 AC_DEFINE([ONLY_LISTED_SHELLS], [1], [Should chsh allow only shells in /etc/shells?])
2291 AC_ARG_ENABLE([login],
2292 AS_HELP_STRING([--disable-login], [do not build login]),
2293 [], [UL_DEFAULT_ENABLE([login], [check])]
2295 UL_BUILD_INIT([login])
2296 UL_REQUIRES_HAVE([login], [security_pam_appl_h], [PAM header file])
2297 UL_REQUIRES_HAVE([login], [security_pam_misc_h, security_openpam_h], [PAM conversation functions])
2298 UL_REQUIRES_HAVE([login], [utmpx_h], [utmpx.h header])
2299 UL_REQUIRES_HAVE([login], [gnu_utmpx], [GNU utmpx functions])
2300 AM_CONDITIONAL([BUILD_LOGIN], [test "x$build_login" = xyes])
2302 AC_ARG_ENABLE([login-chown-vcs],
2303 AS_HELP_STRING([--enable-login-chown-vcs], [let login chown /dev/vcsN]),
2304 [], [enable_login_chown_vcs=no]
2307 AS_IF([test "x$enable_login_chown_vcs" = xyes], [
2308 AC_DEFINE([LOGIN_CHOWN_VCS], [1], [Should login chown /dev/vcsN?])
2311 AC_ARG_ENABLE([login-stat-mail],
2312 AS_HELP_STRING([--enable-login-stat-mail], [let login stat() the mailbox]),
2313 [], [enable_login_stat_mail=no]
2316 AS_IF([test "x$enable_login_stat_mail" = xyes], [
2317 AC_DEFINE([LOGIN_STAT_MAIL], [1], [Should login stat() the mailbox?])
2321 AC_ARG_ENABLE([nologin],
2322 AS_HELP_STRING([--disable-nologin], [do not build nologin]),
2323 [], [UL_DEFAULT_ENABLE([nologin], [yes])]
2325 UL_BUILD_INIT([nologin])
2326 AM_CONDITIONAL([BUILD_NOLOGIN], [test "x$build_nologin" = xyes])
2329 AC_ARG_ENABLE([sulogin],
2330 AS_HELP_STRING([--disable-sulogin], [do not build sulogin]),
2331 [], [UL_DEFAULT_ENABLE([sulogin], [check])]
2333 UL_BUILD_INIT([sulogin])
2334 UL_REQUIRES_HAVE([sulogin], [crypt], [crypt function])
2335 UL_REQUIRES_HAVE([sulogin], [shadow_h], [shadow.h header])
2336 AM_CONDITIONAL([BUILD_SULOGIN], [test "x$build_sulogin" = xyes])
2340 AS_HELP_STRING([--disable-su], [do not build su]),
2341 [], [UL_DEFAULT_ENABLE([su], [check])]
2344 UL_REQUIRES_HAVE([su], [security_pam_appl_h], [PAM header file])
2345 UL_REQUIRES_HAVE([su], [utmpx_h], [utmpx.h header])
2346 UL_REQUIRES_HAVE([su], [gnu_utmpx], [GNU utmpx functions])
2347 AM_CONDITIONAL([BUILD_SU], [test "x$build_su" = xyes])
2350 AC_ARG_ENABLE([runuser],
2351 AS_HELP_STRING([--disable-runuser], [do not build runuser]),
2352 [], [UL_DEFAULT_ENABLE([runuser], [check])]
2354 UL_BUILD_INIT([runuser])
2355 UL_REQUIRES_HAVE([runuser], [security_pam_appl_h], [PAM header file])
2356 UL_REQUIRES_HAVE([runuser], [utmpx_h], [utmpx.h header])
2357 UL_REQUIRES_HAVE([runuser], [gnu_utmpx], [GNU utmpx functions])
2358 AM_CONDITIONAL([BUILD_RUNUSER], [test "x$build_runuser" = xyes])
2362 AS_HELP_STRING([--disable-ul], [do not build ul]),
2363 [], [UL_DEFAULT_ENABLE([ul], [check])]
2366 UL_REQUIRES_HAVE([ul], [ncursesw, ncurses], [ncursesw or ncurses libraries])
2367 AM_CONDITIONAL([BUILD_UL], [test "x$build_ul" = xyes])
2370 AC_ARG_ENABLE([more],
2371 AS_HELP_STRING([--disable-more], [do not build more]),
2372 [], [UL_DEFAULT_ENABLE([more], [check])]
2374 UL_BUILD_INIT([more])
2375 UL_REQUIRES_HAVE([more], [ncursesw, ncurses], [ncursesw or ncurses libraries])
2376 UL_REQUIRES_LINUX([more])
2377 AM_CONDITIONAL([BUILD_MORE], [test "x$build_more" = xyes])
2381 AS_HELP_STRING([--enable-pg], [build pg]),
2382 [], [UL_DEFAULT_ENABLE([pg], [no])]
2385 UL_REQUIRES_HAVE([pg], [ncursesw, ncurses], [ncursesw or ncurses library])
2386 AM_CONDITIONAL([BUILD_PG], [test "x$build_pg" = xyes])
2389 AC_ARG_ENABLE([setterm],
2390 AS_HELP_STRING([--disable-setterm], [do not build setterm]),
2391 [], [UL_DEFAULT_ENABLE([setterm], [check])]
2393 UL_BUILD_INIT([setterm])
2394 UL_REQUIRES_LINUX([setterm])
2395 UL_REQUIRES_HAVE([setterm], [ncursesw, ncurses], [ncursesw or ncurses library])
2396 AM_CONDITIONAL([BUILD_SETTERM], [test "x$build_setterm" = xyes])
2398 # build_schedutils= is just configure-only variable to control
2399 # ionice, taskset and chrt
2400 AC_ARG_ENABLE([schedutils],
2401 AS_HELP_STRING([--disable-schedutils], [do not build chrt, ionice, taskset]),
2402 [], [UL_DEFAULT_ENABLE([schedutils], [check])]
2406 UL_ENABLE_ALIAS([ionice], [schedutils])
2407 UL_BUILD_INIT([ionice])
2408 UL_REQUIRES_SYSCALL_CHECK([ionice],
2409 [UL_CHECK_SYSCALL([ioprio_set],
2420 UL_REQUIRES_SYSCALL_CHECK([ionice],
2421 [UL_CHECK_SYSCALL([ioprio_get],
2432 AM_CONDITIONAL([BUILD_IONICE], [test "x$build_ionice" = xyes])
2435 UL_ENABLE_ALIAS([taskset], [schedutils])
2436 UL_BUILD_INIT([taskset])
2437 UL_REQUIRES_HAVE([taskset], [cpu_set_t], [cpu_set_t type])
2438 UL_REQUIRES_SYSCALL_CHECK([taskset],
2439 [UL_CHECK_SYSCALL([sched_getaffinity])],
2440 [sched_getaffinity])
2441 AM_CONDITIONAL([BUILD_TASKSET], [test "x$build_taskset" = xyes])
2445 AS_IF([test "x$ac_cv_func_sched_setscheduler" = xyes], [have_schedsetter=yes],
2446 [test "x$ac_cv_func_sched_setattr" = xyes], [have_schedsetter=yes])
2448 UL_ENABLE_ALIAS([chrt], [schedutils])
2449 UL_BUILD_INIT([chrt])
2450 UL_REQUIRES_HAVE([chrt], [schedsetter], [sched_set functions])
2451 AM_CONDITIONAL([BUILD_CHRT], [test "x$build_chrt" = xyes])
2453 AS_IF([test "x$build_chrt" = xyes], [
2454 UL_CHECK_SYSCALL([sched_setattr])
2457 UL_ENABLE_ALIAS([uclampset], [schedutils])
2458 UL_BUILD_INIT([uclampset])
2459 UL_REQUIRES_SYSCALL_CHECK([uclampset],
2460 [UL_CHECK_SYSCALL([sched_setattr])], [sched_setattr])
2461 AM_CONDITIONAL([BUILD_UCLAMPSET], [test "x$build_uclampset" = xyes])
2464 AC_ARG_ENABLE([wall],
2465 AS_HELP_STRING([--disable-wall], [do not build wall]),
2466 [], [UL_DEFAULT_ENABLE([wall], [check])]
2468 UL_BUILD_INIT([wall])
2469 UL_REQUIRES_HAVE([wall], [utmpx_h], [utmpx.h header])
2470 AM_CONDITIONAL([BUILD_WALL], [test "x$build_wall" = xyes])
2473 AC_ARG_ENABLE([write],
2474 AS_HELP_STRING([--enable-write], [build write]),
2475 [], [UL_DEFAULT_ENABLE([write], [no])]
2477 UL_BUILD_INIT([write])
2478 UL_REQUIRES_HAVE([write], [utmpx_h], [utmpx.h header])
2479 UL_REQUIRES_HAVE([write], [gnu_utmpx], [GNU utmpx functions])
2480 AM_CONDITIONAL([BUILD_WRITE], [test "x$build_write" = xyes])
2483 AC_ARG_WITH([btrfs],
2484 AS_HELP_STRING([--without-btrfs], [do not build with btrfs support]),
2485 [], [with_btrfs=check]
2488 AS_IF([test "x$with_btrfs" != xno], [
2489 AS_CASE([$with_btrfs:$have_linux_btrfs_h],
2491 [AC_MSG_ERROR([btrfs selected but linux/btrfs.h not found])],
2493 [AC_MSG_WARN([linux/btrfs.h not found, do not build with btrfs support])],
2496 AC_DEFINE([HAVE_BTRFS_SUPPORT], [1], [Define if btrfs stuff is available])]
2499 AM_CONDITIONAL([HAVE_BTRFS], [test "x$have_btrfs" = xyes])
2502 AC_ARG_WITH([systemd],
2503 AS_HELP_STRING([--without-systemd], [do not build with systemd support]),
2504 [], [with_systemd=check]
2508 AS_IF([test "x$with_systemd" != xno], [
2509 # new version -- all libsystemd-* libs merged into libsystemd
2510 PKG_CHECK_MODULES([SYSTEMD], [libsystemd], [have_systemd=yes], [have_systemd=no])
2512 AS_IF([test "x$have_systemd" != "xyes"], [
2513 PKG_CHECK_MODULES([SYSTEMD_DAEMON], [libsystemd-daemon],
2514 [have_systemd_daemon=yes], [have_systemd_daemon=no])
2515 PKG_CHECK_MODULES([SYSTEMD_JOURNAL], [libsystemd-journal],
2516 [have_systemd_journal=yes], [have_systemd_journal=no])
2517 AS_IF([test "x$have_systemd_daemon" = "xyes" && test "x$have_systemd_journal" = "xyes" ],[
2520 AS_CASE([$with_systemd:$have_systemd],
2522 [AC_MSG_ERROR([systemd expected but libsystemd not found])],
2524 AC_DEFINE([HAVE_LIBSYSTEMD], [1], [Define if libsystemd is available])
2525 AC_DEFINE([USE_SYSTEMD], [1], [Define if systemd support is wanted ])
2528 AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$have_systemd" = xyes])
2531 AC_ARG_WITH([systemdsystemunitdir],
2532 AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [directory for systemd unit files (requires systemd support)]),
2534 AS_IF([test "x$have_systemd" = xyes], [
2535 PKG_CHECK_VAR([with_systemdsystemunitdir], [systemd], [systemdsystemunitdir],
2537 [with_systemdsystemunitdir=no])
2540 AS_IF([test "x$with_systemdsystemunitdir" != "xno"], [
2541 AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
2545 AC_ARG_WITH([smack],
2546 AS_HELP_STRING([--with-smack], [build with SMACK support]),
2549 AS_IF([test "x$with_smack" = xyes], [
2550 AC_DEFINE([HAVE_SMACK], [1], [Add SMACK support])
2553 AC_ARG_WITH([econf],
2554 AS_HELP_STRING([--without-econf], [do not use libeconf]),
2555 [], [with_econf=check]
2559 AS_IF([test "x$with_econf" != xno], [
2560 PKG_CHECK_MODULES([ECONF], [libeconf], [have_econf=yes], [have_econf=no])
2561 AS_CASE([$with_econf:$have_econf],
2563 [AC_MSG_ERROR([libeconf expected but libeconf not found])],
2565 AC_DEFINE([HAVE_LIBECONF], [1], [Define if libeconf is available])
2568 AM_CONDITIONAL([HAVE_ECONF], [test "x$have_econf" = xyes])
2570 AC_ARG_WITH([vendordir],
2571 AS_HELP_STRING([--with-vendordir=DIR], [Directory for distribution provided configuration files]),
2574 AC_SUBST([vendordir], [$with_vendordir])
2575 AM_CONDITIONAL([USE_VENDORDIR], [test "x$with_vendordir" != x])
2576 AS_IF([test "x$with_vendordir" != x], [
2577 AC_DEFINE([USE_VENDORDIR], [1], [Define to 1 to use vendordir])
2581 AC_ARG_ENABLE([bash-completion],
2582 AS_HELP_STRING([--disable-bash-completion], [do not install bash completion files]),
2583 [], [enable_bash_completion=yes]
2586 AM_CONDITIONAL([BUILD_BASH_COMPLETION], [test "x$enable_bash_completion" = xyes])
2588 AC_ARG_WITH([bashcompletiondir],
2589 AS_HELP_STRING([--with-bashcompletiondir=DIR], [Bash completions directory]),
2591 AS_IF([test "x$enable_bash_completion" = xyes], [
2592 PKG_CHECK_VAR([with_bashcompletiondir], [bash-completion], [completionsdir],
2594 [with_bashcompletiondir=${datadir}/bash-completion/completions])
2597 AS_IF([test "x$enable_bash_completion" = xyes], [
2598 AC_SUBST([bashcompletiondir], [$with_bashcompletiondir])
2602 AC_ARG_WITH([python],
2603 AS_HELP_STRING([--without-python], [do not build python bindings, use --with-python={2,3} to force version]),
2604 [], [with_python=check withval=check]
2609 AS_IF([test "x$with_python" != xno], [
2610 # We follow distributions default and look for PKG module name "python"
2611 # (minimal version is 2) but if major version is explicitly specified by
2612 # --with-python=2 or --with-python=3 then we look for PKG module "python2" or
2614 AS_IF([test "x$withval" != xno && test "x$withval" != xyes && test "x$withval" != xcheck],
2615 [pymajor="$withval"; PYTHON=python${pymajor}], [pymajor="2"])
2617 # check for python interpreter
2618 AM_PATH_PYTHON([$pymajor], [have_python=yes], [have_python=no])
2619 AS_CASE([$with_python:$have_python],
2621 [AC_MSG_ERROR([python selected but python interpreter not found])],
2623 [AC_MSG_WARN([python interpreter not found, do not build python bindings])],
2625 # check for python development stuff
2626 [PKG_CHECK_MODULES([PYTHON], [python-$PYTHON_VERSION],
2627 [have_libpython=yes], [have_libpython=no])]
2632 AC_ARG_ENABLE([pylibmount],
2633 AS_HELP_STRING([--disable-pylibmount], [do not build pylibmount]),
2634 [], [UL_DEFAULT_ENABLE([pylibmount], [check])]
2636 UL_BUILD_INIT([pylibmount])
2637 UL_REQUIRES_HAVE([pylibmount], [libpython], [libpython])
2638 UL_REQUIRES_BUILD([pylibmount], [libmount])
2639 AM_CONDITIONAL([BUILD_PYLIBMOUNT], [test "x$build_pylibmount" = "xyes"])
2641 # We need to introduce a verbatim dependency into the Makefile, without automake
2642 # trying to interpret it, so push it as a AM_SUBST_NOTMAKE variable.
2643 verbatim_pylibmount_dependency='
2645 # pylibmountexec module must be installed after usrlib_exec libraries,
2646 # otherwise the libtool relink step will fail to find libmount.la and
2647 # will try -lmount which is possibly not available.
2648 install-pylibmountexecLTLIBRARIES: install-usrlib_execLTLIBRARIES
2651 AC_SUBST([verbatim_pylibmount_dependency])
2652 AM_SUBST_NOTMAKE([verbatim_pylibmount_dependency])
2654 AC_ARG_ENABLE([pg-bell],
2655 AS_HELP_STRING([--disable-pg-bell], [let pg not ring the bell on invalid keys]),
2656 [], [enable_pg_bell=yes]
2659 AS_IF([test "x$enable_pg_bell" = xyes], [
2660 AC_DEFINE([PG_BELL], [1], [Should pg ring the bell on invalid keys?])
2664 AC_DEFUN([FS_PATHS_DEFAULT], [/sbin:/sbin/fs.d:/sbin/fs])
2665 AC_ARG_ENABLE([fs-paths-default],
2666 AS_HELP_STRING([--enable-fs-paths-default=paths], [default search path for fs helpers @<:@FS_PATHS_DEFAULT@:>@]),
2667 [AS_CASE([$enableval],
2668 [yes], [fs_paths_defaults="FS_PATHS_DEFAULT"],
2669 [no], [fs_paths_defaults=""],
2670 [fs_paths_defaults="$enableval"]
2672 [fs_paths_defaults="FS_PATHS_DEFAULT"]
2674 AC_ARG_ENABLE([fs-paths-extra],
2675 AS_HELP_STRING([--enable-fs-paths-extra=paths], [additional search paths for fs helpers]),
2676 [AS_CASE([$enableval],
2677 [yes|no], [fs_paths_extra=""],
2678 [fs_paths_extra="$enableval"]
2682 fs_paths="$fs_paths_defaults"
2683 AS_IF([test "x$fs_paths_extra" != "x"], [
2684 AS_IF([test "x$fs_paths" != "x"], [
2685 fs_paths="${fs_paths}:"
2687 fs_paths="${fs_paths}${fs_paths_extra}"
2689 AC_DEFINE_UNQUOTED([FS_SEARCH_PATH], "$fs_paths", [search path for fs helpers])
2692 AC_ARG_ENABLE([use-tty-group],
2693 AS_HELP_STRING([--disable-use-tty-group], [do not install wall and write setgid tty]),
2694 [], [enable_use_tty_group=yes]
2696 AM_CONDITIONAL([USE_TTY_GROUP], [test "x$enable_use_tty_group" = xyes])
2698 AS_IF([test "x$enable_use_tty_group" = xyes], [
2699 AC_DEFINE([USE_TTY_GROUP], [1], [Should wall and write be installed setgid tty?])
2703 AC_ARG_ENABLE([sulogin-emergency-mount],
2704 AS_HELP_STRING([--enable-sulogin-emergency-mount],
2705 [use emergency mount of /dev and /proc for sulogin]),
2706 [], [enable_sulogin_emergency_mount=no]
2709 AS_IF([test "x$enable_sulogin_emergency_mount" = xyes], [
2710 AS_IF([test "x$linux_os" = xyes], [ ],
2711 [AC_MSG_ERROR([--enable-sulogin-emergency-mount selected for non-linux system])])
2712 AC_DEFINE([USE_SULOGIN_EMERGENCY_MOUNT], [1],
2713 [Should sulogin use an emergency mount of /dev and /proc?])
2717 AC_ARG_ENABLE([usrdir-path],
2718 AS_HELP_STRING([--enable-usrdir-path], [use only /usr paths in PATH env. variable (recommended on systems with /bin -> /usr/bin symlinks)]),
2719 [], [enable_usrdir_path=no]
2722 AS_IF([test "x$enable_usrdir_path" = xyes], [
2723 AC_DEFINE([USE_USRDIR_PATHS_ONLY], [1], [Define to 1 to remove /bin and /sbin from PATH env.variable])
2727 AC_ARG_ENABLE([makeinstall-chown],
2728 AS_HELP_STRING([--disable-makeinstall-chown], [do not do chown-like operations during "make install"]),
2729 [], [enable_makeinstall_chown=yes]
2731 AM_CONDITIONAL([MAKEINSTALL_DO_CHOWN], [test "x$enable_makeinstall_chown" = xyes])
2734 AC_ARG_ENABLE([makeinstall-setuid],
2735 AS_HELP_STRING([--disable-makeinstall-setuid], [do not do setuid chmod operations during "make install"]),
2736 [], [enable_makeinstall_setuid=yes]
2738 AM_CONDITIONAL([MAKEINSTALL_DO_SETUID], [test "x$enable_makeinstall_setuid" = xyes])
2741 AC_ARG_ENABLE([colors-default],
2742 AS_HELP_STRING([--disable-colors-default], [do not colorize output from utils by default]),
2743 [], [enable_colors_default=yes]
2745 AS_IF([test "x$enable_colors_default" = xyes], [
2746 AC_DEFINE([USE_COLORS_BY_DEFAULT], [1], [Enables colorized output from utils by default])
2750 AC_ARG_WITH([cryptsetup],
2751 AS_HELP_STRING([--with-cryptsetup], [compile with cryptsetup support]),
2752 [], [with_cryptsetup=no]
2755 AS_IF([test "x$with_cryptsetup" = xno], [
2756 AM_CONDITIONAL([HAVE_CRYPTSETUP], [false])
2757 AM_CONDITIONAL([CRYPTSETUP_VIA_DLOPEN], [false])
2759 PKG_CHECK_MODULES([CRYPTSETUP], [libcryptsetup],
2760 [AC_DEFINE([HAVE_CRYPTSETUP], [1], [Define if cryptsetup is available])
2761 UL_PKG_STATIC([CRYPTSETUP_LIBS_STATIC], [libcryptsetup])
2762 AM_CONDITIONAL([HAVE_CRYPTSETUP], [true])
2763 SAVE_CFLAGS="$CFLAGS"
2764 CFLAGS="$CRYPTSETUP_CFLAGS $CFLAGS"
2766 LIBS="$CRYPTSETUP_LIBS $LIBS"
2767 AC_CHECK_LIB([cryptsetup], [crypt_activate_by_signed_key], [
2768 AC_DEFINE_UNQUOTED([HAVE_CRYPT_ACTIVATE_BY_SIGNED_KEY], [1], [Define if crypt_activate_by_signed_key exist in -lcryptsetup])
2770 AS_IF([test "x$with_cryptsetup" = xdlopen], [
2772 AC_CHECK_LIB([dl], [dlsym], [
2773 AC_DEFINE([CRYPTSETUP_VIA_DLOPEN], [1], [Define if cryptsetup is to be loaded via dlopen])
2774 AM_CONDITIONAL([CRYPTSETUP_VIA_DLOPEN], [true])
2775 ], [AC_MSG_ERROR([libdl required to build with cryptsetup support])])
2777 AM_CONDITIONAL([CRYPTSETUP_VIA_DLOPEN], [false])
2779 CFLAGS="$SAVE_CFLAGS"
2781 have_cryptsetup=yes],
2783 AM_CONDITIONAL([HAVE_CRYPTSETUP], [false])
2784 AM_CONDITIONAL([CRYPTSETUP_VIA_DLOPEN], [false])
2787 AS_CASE([$with_cryptsetup:$have_cryptsetup],
2788 [yes:no], [AC_MSG_WARN([cryptsetup selected but libcryptsetup not found])]
2791 AC_SUBST([CRYPTSETUP_LIBS])
2792 AC_SUBST([CRYPTSETUP_LIBS_STATIC])
2795 AC_ARG_VAR([SUID_CFLAGS],
2796 [CFLAGS used for binaries which are usually with the suid bit])
2797 AC_ARG_VAR([SUID_LDFLAGS],
2798 [LDFLAGS used for binaries which are usually with the suid bit])
2800 AC_ARG_VAR([DAEMON_CFLAGS],
2801 [CFLAGS used for binaries which are usually executed as daemons])
2802 AC_ARG_VAR([DAEMON_LDFLAGS],
2803 [LDFLAGS used for binaries which are usually executed as daemons])
2805 AC_ARG_VAR([SOLIB_CFLAGS],
2806 [CFLAGS used for shared libraries])
2807 AC_ARG_VAR([SOLIB_LDFLAGS],
2808 [LDFLAGS used for shared libraries])
2810 AC_ARG_VAR([ADJTIME_PATH],
2811 [Path to hwclock adjtime file, default /etc/adjtime])
2812 AS_IF([test "x$ADJTIME_PATH" = x], [ADJTIME_PATH="/etc/adjtime"])
2813 AC_DEFINE_UNQUOTED([CONFIG_ADJTIME_PATH], "$ADJTIME_PATH", [Path to hwclock adjtime file])
2815 if test "x${build_alias}" != "x${host_alias}"; then
2816 AC_MSG_NOTICE([setting link_all_deplibs=unknown for libtool])
2817 # work around Debian patch to libtool breaking cross-compiles
2818 # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=702737
2819 # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=297726
2820 link_all_deplibs=unknown
2827 AC_CONFIG_HEADERS([config.h])
2830 # Don't use configure.ac to replace install paths! See Makefile PATHFILES for
2835 libblkid/docs/Makefile
2836 libblkid/docs/version.xml
2837 libblkid/src/blkid.h
2838 libfdisk/docs/Makefile
2839 libfdisk/docs/version.xml
2840 libfdisk/src/libfdisk.h
2841 libmount/docs/Makefile
2842 libmount/docs/version.xml
2843 libmount/src/libmount.h
2844 libsmartcols/docs/Makefile
2845 libsmartcols/docs/version.xml
2846 libsmartcols/src/libsmartcols.h
2854 ${PACKAGE} ${VERSION}
2857 exec prefix: ${exec_prefix}
2862 usrbin_execdir: ${usrbin_execdir}
2863 usrsbin_execdir: ${usrsbin_execdir}
2864 usrlib_execdir: ${usrlib_execdir}
2866 localstatedir: ${localstatedir}
2867 runstatedir: ${runstatedir}
2868 includedir: ${includedir}
2869 sysconfdir: ${sysconfdir}
2870 sysconfstaticdir: ${sysconfstaticdir}
2872 vendordir: ${with_vendordir}
2875 Python version: ${PYTHON_VERSION}
2876 Python libs: ${pyexecdir}
2878 Bash completions: ${with_bashcompletiondir}
2879 Systemd support: ${have_systemd}
2880 Systemd unitdir: ${with_systemdsystemunitdir}
2881 libeconf support: ${have_econf}
2882 Btrfs support: ${have_btrfs}
2883 Wide-char support: ${build_widechar}
2884 libcryptsetup support: ${have_cryptsetup}
2886 Manual pages: ${build_asciidoc}
2887 Manual pages translated: ${build_poman}
2889 compiler: ${CC} / ${CXX}
2890 suid cflags: ${SUID_CFLAGS}
2892 suid ldflags: ${SUID_LDFLAGS}
2893 ASAN enabled: ${enable_asan}
2894 Fuzzing enabled: ${enable_fuzzing_engine}
2902 Type 'make' or 'make <utilname>' to compile.