2 m4_esyscmd([tools/git-version-gen .tarball-version]),
4 [http://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 AC_PROG_LIBTOOL) to avoid autoconf errors.
13 AC_USE_SYSTEM_EXTENSIONS
14 AM_INIT_AUTOMAKE([-Wall foreign 1.10 tar-pax dist-bzip2 no-dist-gzip dist-xz -Wno-portability subdir-objects])
16 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
17 [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
19 AC_CONFIG_SRCDIR([sys-utils/mount.c])
20 AC_PREFIX_DEFAULT([/usr])
22 dnl version details from <major>.<minor>[-<suffix>]
23 PACKAGE_VERSION_MAJOR=$(echo $PACKAGE_VERSION | awk -F. '{print $1}')
24 PACKAGE_VERSION_MINOR=$(echo $PACKAGE_VERSION | awk -F. '{
25 sub("-.*","",$2); print $2}')
26 PACKAGE_VERSION_RELEASE=$(echo $PACKAGE_VERSION | awk -F. '{
27 sub("-.*","",$3); print $3 ~ /^@<:@0-9@:>@+$/ ? $3 : 0}')
30 LIBBLKID_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
31 LIBBLKID_DATE="08-Nov-2016"
35 LIBBLKID_VERSION_INFO=`expr $LIBBLKID_LT_MAJOR + $LIBBLKID_LT_MINOR`:$LIBBLKID_LT_MICRO:$LIBBLKID_LT_MINOR
38 LIBUUID_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
42 LIBUUID_VERSION_INFO=`expr $LIBUUID_LT_MAJOR + $LIBUUID_LT_MINOR`:$LIBUUID_LT_MICRO:$LIBUUID_LT_MINOR
45 LIBMOUNT_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
49 LIBMOUNT_VERSION_INFO=`expr $LIBMOUNT_LT_MAJOR + $LIBMOUNT_LT_MINOR`:$LIBMOUNT_LT_MICRO:$LIBMOUNT_LT_MINOR
51 dnl libsmartcols version
52 LIBSMARTCOLS_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
53 LIBSMARTCOLS_LT_MAJOR=1
54 LIBSMARTCOLS_LT_MINOR=1
55 LIBSMARTCOLS_LT_MICRO=0
56 LIBSMARTCOLS_VERSION_INFO=`expr $LIBSMARTCOLS_LT_MAJOR + $LIBSMARTCOLS_LT_MINOR`:$LIBSMARTCOLS_LT_MICRO:$LIBSMARTCOLS_LT_MINOR
59 LIBFDISK_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
63 LIBFDISK_VERSION_INFO=`expr $LIBFDISK_LT_MAJOR + $LIBFDISK_LT_MINOR`:$LIBFDISK_LT_MICRO:$LIBFDISK_LT_MINOR
65 # Check whether exec_prefix=/usr:
66 AS_CASE([$exec_prefix:$prefix],
67 [NONE:NONE | NONE:/usr | /usr:*],
68 [AC_MSG_NOTICE([Default --exec-prefix detected.])
69 AS_CASE([$bindir], ['${exec_prefix}/bin'], [bindir=/bin; AC_MSG_NOTICE([ --bindir defaults to /bin]) ])
70 AS_CASE([$sbindir], ['${exec_prefix}/sbin'], [sbindir=/sbin; AC_MSG_NOTICE([ --sbindir defaults to /sbin])])
71 AS_CASE([$libdir], ['${exec_prefix}/lib'], [libdir=/lib; AC_MSG_NOTICE([ --libdir defaults to /lib]) ])
75 AS_CASE([$prefix:$localstatedir],
76 [NONE:'${prefix}/var' | /usr:'${prefix}/var'],
78 AC_MSG_NOTICE([ --localstatedir defaults to /run])
81 AC_SUBST([localstatedir])
84 # The original default values of {bin,sbin,lib}dir
85 usrbin_execdir='${exec_prefix}/bin'
86 AC_SUBST([usrbin_execdir])
88 usrsbin_execdir='${exec_prefix}/sbin'
89 AC_SUBST([usrsbin_execdir])
92 ['${exec_prefix}/'* | '${prefix}/'* | /usr/* | "${prefix}"/* ],
93 [usrlib_execdir=$libdir],
94 [usrlib_execdir='${exec_prefix}'$libdir]
96 AC_SUBST([usrlib_execdir])
107 dnl Compiler warnings
108 UL_WARN_ADD([-fno-common])
110 UL_WARN_ADD([-Werror=sequence-point])
111 UL_WARN_ADD([-Wextra])
112 UL_WARN_ADD([-Wextra-semi])
113 UL_WARN_ADD([-Wembedded-directive])
114 UL_WARN_ADD([-Wmissing-declarations])
115 UL_WARN_ADD([-Wmissing-parameter-type])
116 UL_WARN_ADD([-Wmissing-prototypes])
117 UL_WARN_ADD([-Wno-missing-field-initializers])
118 UL_WARN_ADD([-Wredundant-decls])
119 UL_WARN_ADD([-Wsign-compare])
120 UL_WARN_ADD([-Wtype-limits])
121 UL_WARN_ADD([-Wuninitialized])
122 UL_WARN_ADD([-Wunused-but-set-parameter])
123 UL_WARN_ADD([-Wunused-but-set-variable])
124 UL_WARN_ADD([-Wunused-parameter])
125 UL_WARN_ADD([-Wunused-result])
126 UL_WARN_ADD([-Wunused-variable])
127 UL_WARN_ADD([-Wnested-externs])
128 UL_WARN_ADD([-Wpointer-arith])
129 UL_WARN_ADD([-Wstrict-prototypes])
130 UL_WARN_ADD([-Wformat-security])
131 UL_WARN_ADD([-Wimplicit-function-declaration])
132 AC_SUBST([WARN_CFLAGS])
134 UL_WARN_ADD([-Wno-clobbered], [BSD_WARN_CFLAGS])
135 AC_SUBST([BSD_WARN_CFLAGS])
136 UL_WARN_ADD([-Wno-unused-parameter], [NO_UNUSED_WARN_CFLAGS])
137 AC_SUBST([NO_UNUSED_WARN_CFLAGS])
142 dnl check supported linker flags
145 m4_ifndef([PKG_PROG_PKG_CONFIG],
146 [m4_fatal([Could not locate the pkg-config autoconf
147 macros. These are usually located in /usr/share/aclocal/pkg.m4.
148 If your macros are in a different location, try setting the
149 environment variable AL_OPTS="-I/other/macro/dir" before running
150 ./autogen.sh or autoreconf again.])])
153 GTK_DOC_CHECK([1.10])
154 AC_PATH_PROG([XSLTPROC], [xsltproc])
159 AS_CASE([${host_os}],
166 AM_CONDITIONAL([LINUX], [test "x$linux_os" = xyes])
167 AM_CONDITIONAL([DARWIN], [test "x$darwin_os" = xyes])
168 AM_CONDITIONAL([BSD], [test "x$bsd_os" = xyes])
170 AS_IF([test "x$darwin_os" = xyes], [
171 AC_DEFINE([_DARWIN_C_SOURCE], [1], [Enable MAP_ANON in sys/mman.h on Mac OS X])
174 dnl define ARCH_<NAME> conditionals
175 UL_SET_ARCH([I86], [i?86-*])
176 UL_SET_ARCH([86_64], [x86_64*])
177 UL_SET_ARCH([IA64], [ia64*])
178 UL_SET_ARCH([S390], [s390*])
179 UL_SET_ARCH([SPARC], [sparc*])
180 UL_SET_ARCH([PPC], [ppc*|powerpc*])
181 UL_SET_ARCH([M68K], [m68*])
182 UL_SET_ARCH([MIPS], [mips*])
183 UL_SET_ARCH([HPPA], [hppa*|parisc*])
188 dnl Don't forget to maintain alternatively allowed versions in autogen.sh!
189 AM_GNU_GETTEXT_VERSION([0.18.3])
190 AM_GNU_GETTEXT([external])
192 AS_IF([test -d "$srcdir/po"], [
193 ALL_LINGUAS=`cd $srcdir/po > /dev/null && echo *.po | sed 's/\.po//g'`
195 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"
198 AC_CHECK_HEADERS([linux/compiler.h linux/blkpg.h linux/major.h], [], [], [
199 #ifdef HAVE_LINUX_COMPILER_H
200 #include <linux/compiler.h>
228 security/pam_appl.h \
265 AC_CHECK_HEADERS([linux/gsmmux.h ], [], [],
266 [#ifdef LINUX_GSMMUX_H
267 # include <linux/gsmmux.h>
271 AC_CHECK_HEADERS([security/pam_misc.h],
272 [AM_CONDITIONAL([HAVE_LINUXPAM], [true])],
273 [AM_CONDITIONAL([HAVE_LINUXPAM], [false])], [
274 #ifdef HAVE_SECURITY_PAM_APPL_H
275 #include <security/pam_appl.h>
279 AC_CHECK_HEADERS([security/openpam.h], [], [], [
280 #ifdef HAVE_SECURITY_PAM_APPL_H
281 #include <security/pam_appl.h>
285 AC_CHECK_HEADERS([langinfo.h],
286 [AM_CONDITIONAL([HAVE_LANGINFO], [true])],
287 [AM_CONDITIONAL([HAVE_LANGINFO], [false])])
289 dnl Convert some ac_cv_header_* variables to have_*
291 have_linux_btrfs_h=$ac_cv_header_linux_btrfs_h
292 have_linux_raw_h=$ac_cv_header_linux_raw_h
293 have_linux_securebits_h=$ac_cv_header_linux_securebits_h
294 have_linux_watchdog_h=$ac_cv_header_linux_watchdog_h
295 have_security_pam_appl_h=$ac_cv_header_security_pam_appl_h
296 have_security_pam_misc_h=$ac_cv_header_security_pam_misc_h
297 have_security_openpam_h=$ac_cv_header_security_openpam_h
298 have_shadow_h=$ac_cv_header_shadow_h
299 have_sys_signalfd_h=$ac_cv_header_sys_signalfd_h
300 have_utmpx_h=$ac_cv_header_utmpx_h
302 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
307 struct tm *tm = localtime(0);
308 if (a == -1) /* false */
309 sleep(tm->tm_gmtoff);
311 [AC_DEFINE([HAVE_TM_GMTOFF], [1], [Does struct tm have a field tm_gmtoff?])
314 AC_CHECK_MEMBERS([struct termios.c_line],,,
315 [[#include <termios.h>]])
317 AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec],,,
318 [#include <sys/stat.h>])
320 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
322 #ifdef HAVE_SYS_SWAP_H
323 # include <sys/swap.h>
327 [[swapon("/dev/null", 0);]])],
328 [AC_DEFINE([SWAPON_HAS_TWO_ARGS], [1], [Is swapon() declared with two parameters?])
330 [AC_MSG_NOTICE([Your libc thinks that swapon has 1 arg only.])
334 AC_CHECK_DECLS([_NL_TIME_WEEK_1STDAY],[],[],[[#include <langinfo.h>]])
336 AC_CHECK_DECL([llseek],
337 [AC_DEFINE([HAVE_LLSEEK_PROTOTYPE], [1],
338 [Define to 1 if have llseek prototype])],
340 [#include <unistd.h>])
342 AC_CHECK_DECL([lseek64],
343 [AC_DEFINE([HAVE_LSEEK64_PROTOTYPE], [1],
344 [Define to 1 if have lseek64 prototype])],
346 [#define _LARGEFILE_SOURCE
347 #define _LARGEFILE64_SOURCE
348 #include <unistd.h>])
350 AC_CHECK_DECL([environ],
351 [AC_DEFINE([HAVE_ENVIRON_DECL], [1],
352 [Define to 1 if have **environ prototype])],
355 AC_CHECK_DECL([strsignal],
356 [AC_DEFINE([HAVE_STRSIGNAL_DECL], [1],
357 [Define to 1 if have strsignal function prototype])],
360 AC_CHECK_DECL([TIOCGLCKTRMIOS],
361 [have_tiocglcktrmios=yes], [have_tiocglcktrmios=no],
362 [#include <sys/ioctl.h>])
363 AC_CHECK_DECL([SOCK_CLOEXEC],
364 [have_sock_cloexec=yes], [have_sock_cloexec=no],
365 [#include <sys/types.h>
366 #include <sys/socket.h>])
367 AC_CHECK_DECL([SOCK_NONBLOCK],
368 [have_sock_nonblock=yes], [have_sock_nonblock=no],
369 [#include <sys/types.h>
370 #include <sys/socket.h>])
371 AC_CHECK_DECL([SO_PASSCRED],
372 [have_so_passcred=yes], [have_so_passcred=no],
373 [#include <sys/types.h>
374 #include <sys/socket.h>])
424 AC_CHECK_FUNCS([openat fstatat unlinkat], [have_openat=yes], [have_openat=no])
425 AC_CHECK_FUNCS([ioperm iopl], [have_io=yes])
426 AC_CHECK_FUNCS([futimens], [have_futimens=yes])
427 AC_CHECK_FUNCS([inotify_init1], [have_inotify_init1=yes])
428 AC_CHECK_FUNCS([open_memstream], [have_open_memstream=yes],[have_open_memstream=no])
429 AC_CHECK_FUNCS([reboot], [have_reboot=yes],[have_reboot=no])
430 AC_CHECK_FUNCS([updwtmpx updwtmpx], [have_gnu_utmpx=yes], [have_gnu_utmpx=no])
432 AM_CONDITIONAL([HAVE_OPENAT], [test "x$have_openat" = xyes])
434 dnl lib/mononotic.c may require -lrt
435 AC_CHECK_FUNCS([clock_gettime], [],
436 [AC_CHECK_LIB([rt], [clock_gettime], [REALTIME_LIBS="-lrt"])]
440 AC_CHECK_FUNCS([timer_create],
442 [AC_CHECK_LIB([rt], [timer_create], [
446 AC_SEARCH_LIBS([timer_create], [rt], [
449 REALTIME_LIBS="-lrt -lpthread"
455 AC_SUBST([REALTIME_LIBS])
458 AC_CHECK_LIB([rtas], [rtas_get_sysparm], [
460 AC_DEFINE_UNQUOTED([HAVE_LIBRTAS], [1], [Define if librtas exists]), [],
462 AC_SUBST([RTAS_LIBS])
465 AC_CHECK_MEMBER([struct sockaddr.sa_len],
466 AC_DEFINE_UNQUOTED([HAVE_SA_LEN], [1], [Define if struct sockaddr contains sa_len]), [],
467 [#include <sys/types.h>
468 #include <sys/socket.h>])
471 AC_SEARCH_LIBS([socket], [socket],
472 [AS_IF([test x"$ac_cv_search_socket" != x"none required"],
473 [SOCKET_LIBS="$SOCKET_LIBS -lsocket"])
475 AC_SUBST([SOCKET_LIBS])
479 AC_CHECK_FUNCS([dirfd], [have_dirfd=yes], [have_dirfd=no])
480 AS_IF([test x"$have_dirfd" = xno], [
481 AC_CHECK_DECLS([dirfd],
482 [have_dirfd=yes], [have_dirfd=no],
483 [#include <sys/types.h>
484 #include <dirent.h>])
488 AS_IF([test x"$have_dirfd" = xno], [
489 AC_CHECK_MEMBERS([DIR.dd_fd],
490 [have_ddfd=yes], [have_ddfd=no],
491 [#include <sys/types.h>
492 #include <dirent.h>])
495 AS_CASE([$have_dirfd:$have_ddfd],
497 [AC_MSG_ERROR([cannot find a method to get filedescriptor of directory])]
501 AC_MSG_CHECKING([whether program_invocation_short_name is defined])
502 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
505 program_invocation_short_name = "test";
508 AC_DEFINE([HAVE_PROGRAM_INVOCATION_SHORT_NAME], [1],
509 [Define if program_invocation_short_name is defined])
515 AC_MSG_CHECKING([whether __progname is defined])
516 AC_LINK_IFELSE([AC_LANG_PROGRAM([extern char *__progname;],
517 [if (*__progname == 0) return 1;])],
518 AC_DEFINE([HAVE___PROGNAME], [1], [Define if __progname is defined])
519 AC_MSG_RESULT([yes]),
522 dnl Static compilation
523 m4_define([UL_STATIC_PROGRAMS], [losetup, mount, umount, fdisk, sfdisk, blkid, nsenter, unshare])
525 AC_ARG_ENABLE([static-programs],
526 [AS_HELP_STRING([--enable-static-programs=LIST],
527 [link static the programs in LIST (comma-separated,
528 supported for ]m4_defn([UL_STATIC_PROGRAMS])[)])])
530 AS_CASE([$enable_static_programs],
532 [enable_static_programs=m4_quote(UL_STATIC_PROGRAMS)],
534 [enable_static_programs=]
537 dnl Set all the individual AM_CONDITIONALs
538 m4_foreach([UL_PRG], m4_defn([UL_STATIC_PROGRAMS]), [
539 AS_CASE([,$enable_static_programs,],
540 [*,UL_PRG,*], [static_[]UL_PRG=yes]
542 AS_IF([test "x$static_[]UL_PRG" = xyes], [AC_MSG_NOTICE([enable static build: UL_PRG.])])
543 AM_CONDITIONAL([HAVE_STATIC_]m4_toupper(UL_PRG),
544 [test "x$static_[]UL_PRG" = xyes])
548 AC_ARG_ENABLE([all-programs],
549 AS_HELP_STRING([--disable-all-programs], [disable everything, might be overridden by --enable-<name>]),
550 [], [enable_all_programs=undefined]
553 AS_CASE([$enable_all_programs],
554 [yes], [AC_MSG_WARN([force to build all programs by default])
555 ul_default_estate=check],
556 [no], [AC_MSG_WARN([disable all programs by default])
557 ul_default_estate=no]
563 AC_DEFUN([UL_SCANF_TYPE_MODIFIER], [dnl
571 i = sscanf("x", $1, &s);
572 if (i == 1 && *s == 'x')
578 AC_CACHE_VAL([scanf_cv_alloc_modifier],
579 AC_RUN_IFELSE([AC_LANG_SOURCE([UL_SCANF_TYPE_MODIFIER(["%ms"])])],
580 [scanf_cv_alloc_modifier=ms],
581 AC_RUN_IFELSE([AC_LANG_SOURCE([UL_SCANF_TYPE_MODIFIER(["%as"])])],
582 [scanf_cv_alloc_modifier=as],
583 [scanf_cv_alloc_modifier=no]
587 [AC_COMPILE_IFELSE([AC_LANG_SOURCE([
591 #if defined(__GLIBC__) && !defined(__UCLIBC__)
593 #if !(__GLIBC_PREREQ(2, 7))
594 #error %m is not available
597 #elif defined(_POSIX_VERSION)
599 #if _POSIX_VERSION < 200809L
600 #error %m is not available
604 #error Your C-library is not supported.
607 [scanf_cv_alloc_modifier=ms],
608 [scanf_cv_alloc_modifier=no])]
612 AC_MSG_CHECKING([scanf string alloc modifiers])
613 AS_CASE([$scanf_cv_alloc_modifier],
615 [AC_MSG_RESULT([(%ms) yes])
616 AC_DEFINE([HAVE_SCANF_MS_MODIFIER], [1], [scanf %ms modifier])
617 have_scanf_alloc_modifier=yes],
619 [AC_MSG_RESULT([(%as) yes])
620 have_scanf_alloc_modifier=yes
621 AC_DEFINE([HAVE_SCANF_AS_MODIFIER], [1], [scanf %as modifier])],
623 have_scanf_alloc_modifier=no]
627 AC_ARG_WITH([util], AS_HELP_STRING([--without-util], [compile without libutil]),
630 AS_IF([test "x$with_util" = xno], [
631 AM_CONDITIONAL([HAVE_UTIL], [false])
634 UL_CHECK_LIB([util], [openpty])
638 AC_CHECK_TYPES([union semun], [], [], [[
641 AC_CHECK_TYPES([loff_t])
644 AC_ARG_ENABLE([widechar],
645 AS_HELP_STRING([--disable-widechar], [do not compile wide character support]),
646 [], [enable_widechar=check]
648 UL_BUILD_INIT([widechar])
649 UL_REQUIRES_COMPILE([widechar], [[
657 if (w == WEOF) exit(1);
663 AS_IF([test "x$build_widechar" = xyes ], [
664 AC_DEFINE([HAVE_WIDECHAR], [1], [Do we have wide character support?])
668 AC_CHECK_TYPES([cpu_set_t], [have_cpu_set_t=yes], [], [[
672 AM_CONDITIONAL([HAVE_CPU_SET_T], [test "x$have_cpu_set_t" = xyes])
674 AC_CHECK_TYPES([sighandler_t], [], [], [[
678 AC_CHECK_DECLS([CPU_ALLOC], [], [], [[
682 # on Solaris, you can't mix and match standards, since we use c99
683 # aparently at this stage, XOPEN_SOURCE will conflict. As workaround,
684 # check for crypt.h and use that without XOPEN_SOURCE.
685 AC_CHECK_HEADERS([crypt.h])
686 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
690 #define _XOPEN_SOURCE
694 char *c = crypt("abc","pw");
697 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
701 #define _XOPEN_SOURCE
705 char *c = crypt("abc","pw");
707 AC_DEFINE([HAVE_LIBCRYPT], [1], [Do we need -lcrypt?])
710 AC_MSG_ERROR([crypt() is not available])
713 AM_CONDITIONAL([HAVE_LIBCRYPT], [test "x$have_libcrypt" = xyes])
716 AC_ARG_WITH([selinux],
717 AS_HELP_STRING([--with-selinux], [compile with SELinux support]),
718 [], [with_selinux=no]
721 AS_IF([test "x$with_selinux" = xno], [
722 AM_CONDITIONAL([HAVE_SELINUX], [false])
724 PKG_CHECK_MODULES([SELINUX], [libselinux >= 2.0],
725 [AC_DEFINE([HAVE_LIBSELINUX], [1], [Define if SELinux is available])
726 UL_PKG_STATIC([SELINUX_LIBS_STATIC], [libselinux])
727 AM_CONDITIONAL([HAVE_SELINUX], [true])
731 AS_CASE([$with_selinux:$have_selinux],
732 [yes:no], [AC_MSG_ERROR([SELinux selected but libselinux not found or too old])]
735 AS_IF([test "x$have_selinux" = xyes], [
736 UL_SET_FLAGS([], [], [$SELINUX_LIBS])
737 # This function is missing in old libselinux 1.xx versions
738 AC_CHECK_FUNCS([security_get_initial_context])
742 AC_SUBST([SELINUX_LIBS])
743 AC_SUBST([SELINUX_LIBS_STATIC])
747 AS_HELP_STRING([--with-audit], [compile with audit support]),
751 AS_IF([test "x$with_audit" = xno], [
752 AM_CONDITIONAL([HAVE_AUDIT], [false])
754 UL_CHECK_LIB([audit], [audit_log_user_message])
755 AS_CASE([$with_audit:$have_audit],
757 [AC_MSG_ERROR([Audit selected but libaudit not found (or does not support audit_log_user_message())])]
761 AC_ARG_WITH([udev], AS_HELP_STRING([--without-udev], [compile without udev support]),
765 AS_IF([test "x$with_udev" = xno], [
766 AM_CONDITIONAL([HAVE_UDEV], [false])
768 UL_CHECK_LIB([udev], [udev_new])
769 AS_CASE([$with_udev:$have_udev],
771 [AC_MSG_ERROR([udev selected but libudev not found])]
776 dnl wide-char ncurses
777 AC_ARG_WITH([ncursesw],
778 AS_HELP_STRING([--with-ncursesw], [build with wide-char ncurses, enabled by default]),
779 [], [with_ncursesw=auto]
782 AS_IF([test "x$with_ncursesw" != xno], [
783 UL_NCURSES_CHECK([ncursesw])
784 AS_IF([test "x$have_ncursesw" = xyes], [
785 AC_DEFINE([HAVE_LIBNCURSESW], [1], [Define if ncursesw library available])
786 CURSES_LIB_NAME="ncursesw"
787 AC_CHECK_HEADERS([ncursesw/ncurses.h ncurses.h])
790 AS_CASE([$with_ncursesw:$have_ncursesw],
791 [yes:no], [AC_MSG_ERROR([ncursesw selected, but library not found])])
795 AC_ARG_WITH([ncurses],
796 AS_HELP_STRING([--with-ncurses], [build with non-wide ncurses, disabled by default]),
797 [], [with_ncurses=auto]
801 AS_CASE([$with_ncurses:$build_widechar],
802 [yes:yes], [AC_MSG_ERROR([wide-char support enabled, but non-wide ncurses selects])])
804 AS_IF([test "x$have_ncursesw" = xno -a "x$with_ncurses" != xno ], [
805 UL_NCURSES_CHECK([ncurses])
806 AS_IF([test "x$have_ncurses" = xyes], [
807 AC_DEFINE([HAVE_LIBNCURSES], [1], [Define if ncurses library available])
808 CURSES_LIB_NAME="ncurses"
809 AC_CHECK_HEADERS([ncurses/ncurses.h ncurses.h])
812 AS_CASE([$with_ncurses:$have_ncurses],
813 [yes:no], [AC_MSG_ERROR([ncurses selected, but library not found])])
815 AC_SUBST([NCURSES_CFLAGS])
816 AC_SUBST([NCURSES_LIBS])
817 AM_CONDITIONAL([HAVE_NCURSES], [test "x$have_ncursesw" = xyes -o "x$have_ncurses" = xyes])
821 AS_HELP_STRING([--with-slang], [compile cfdisk with slang rather than ncurses]),
825 AS_IF([test "x$with_slang" = xyes], [
826 AC_CHECK_HEADERS([slang.h slang/slang.h])
827 AC_CHECK_HEADERS([slcurses.h slang/slcurses.h],
828 [have_slang=yes], [], [
831 #elif defined(HAVE_SLANG_SLANG_H)
832 #include <slang/slang.h>
835 AS_IF([test "x$have_slang" = xno], [
836 AC_MSG_ERROR([slang selected but slcurses.h not found])],
837 [CURSES_LIB_NAME=slang
840 AM_CONDITIONAL([HAVE_SLANG], [test "x$have_slang" = xyes])
843 AS_IF([test "x$have_slang" = xyes -o "x$have_ncursesw" = xyes -o "x$have_ncurses" = xyes], [
844 AC_CHECK_LIB([$CURSES_LIB_NAME], use_default_colors, [
845 AC_DEFINE(HAVE_USE_DEFAULT_COLORS, 1,
846 [Define if curses library has the use_default_colors().])
848 AC_CHECK_LIB([$CURSES_LIB_NAME], resizeterm, [
849 AC_DEFINE(HAVE_RESIZETERM, 1,
850 [Define if curses library has the resizeterm().])
855 AC_ARG_WITH([tinfo], AS_HELP_STRING([--without-tinfo], [compile without libtinfo]),
856 [], [with_tinfo=auto]
859 AS_IF([test "x$with_tinfo" != xno], [
860 dnl Try pkg-config for libtinfo
861 PKG_CHECK_MODULES(TINFO, [tinfo], [
862 dnl pkg-config success
864 UL_PKG_STATIC([TINFO_LIBS_STATIC], [tinfo])], [
866 dnl If pkg-config failed, fall back to classic searching.
867 AC_CHECK_LIB([tinfo], [tgetent], [
870 TINFO_LIBS_STATIC="-ltinfo"
874 AC_SUBST([TINFO_LIBS])
875 AC_SUBST([TINFO_LIBS_STATIC])
876 AC_SUBST([TINFO_CFLAGS])
877 AM_CONDITIONAL([HAVE_TINFO], [test "x$have_tinfo" = xyes])
878 AS_IF([test "x$have_tinfo" = xyes], [
879 AC_DEFINE(HAVE_LIBTINFO, 1, [Define if libtinfo available.])
883 AC_ARG_WITH([readline],
884 AS_HELP_STRING([--with-readline], [compile with GNU Readline support]),
885 [], [with_readline=auto]
888 AS_IF([test "x$with_readline" = xno], [
889 AM_CONDITIONAL([HAVE_READLINE], [false])
891 UL_CHECK_LIB([readline], [readline])
892 AS_CASE([$with_readline:$have_readline],
894 [AC_MSG_ERROR([readline selected but libreadline not found ])],
896 [READLINE_LIBS="-lreadline"
897 READLINE_LIBS_STATIC="-lreadline $TINFO_LIBS_STATIC"]
900 AC_SUBST([READLINE_LIBS])
901 AC_SUBST([READLINE_LIBS_STATIC])
904 AC_ARG_WITH([utempter],
905 AS_HELP_STRING([--with-utempter], [compile script(1) with libutempter]),
906 [], [with_utempter=no]
909 AS_IF([test "x$with_utempter" = xyes], [
910 UL_CHECK_LIB([utempter], [utempter_add_record])
911 AS_IF([test "x$have_utempter" = xno], [
912 AC_MSG_ERROR([utempter selected but libutempter not found])
915 AM_CONDITIONAL([HAVE_UTEMPTER], [false])
922 AC_ARG_ENABLE([libuuid],
923 AS_HELP_STRING([--disable-libuuid], [do not build libuuid and uuid utilities]),
924 [], [UL_DEFAULT_ENABLE([libuuid], [yes])]
926 UL_BUILD_INIT([libuuid])
927 AC_SUBST([LIBUUID_VERSION])
928 AC_SUBST([LIBUUID_VERSION_INFO])
929 AM_CONDITIONAL(BUILD_LIBUUID, test "x$build_libuuid" = xyes)
931 AC_ARG_ENABLE([libuuid-force-uuidd],
932 AS_HELP_STRING([--enable-libuuid-force-uuidd], [support uuidd even though the daemon is not built]),
933 [], [enable_libuuid_force_uuidd=no]
936 AS_IF([test "x$build_libuuid" = xyes], [
937 AC_DEFINE(HAVE_LIBUUID, 1, [Define to 1 if you have the -luuid.])
943 AC_ARG_ENABLE([libblkid],
944 AS_HELP_STRING([--disable-libblkid], [do not build libblkid and many related utilities]),
945 [], [UL_DEFAULT_ENABLE([libblkid], [check])]
947 UL_BUILD_INIT([libblkid])
948 UL_REQUIRES_HAVE([libblkid], [openat], [openat functions])
949 AC_SUBST([LIBBLKID_DATE])
950 AC_SUBST([LIBBLKID_VERSION])
951 AC_SUBST([LIBBLKID_VERSION_INFO])
952 AC_DEFINE_UNQUOTED([LIBBLKID_VERSION], ["$LIBBLKID_VERSION"], [libblkid version string])
953 AC_DEFINE_UNQUOTED([LIBBLKID_DATE], ["$LIBBLKID_DATE"], [libblkid date string])
954 AS_IF([test "x$build_libblkid" = xyes], [
955 AC_DEFINE([HAVE_LIBBLKID], [1], [Define to 1 if you have the -lblkid.])
957 AM_CONDITIONAL([BUILD_LIBBLKID], [test "x$build_libblkid" = xyes])
958 AM_CONDITIONAL([BUILD_LIBBLKID_TESTS], [test "x$build_libblkid" = xyes -a "x$enable_static" = xyes])
963 AC_ARG_ENABLE([libmount],
964 AS_HELP_STRING([--disable-libmount], [do not build libmount]),
965 [], [UL_DEFAULT_ENABLE([libmount], [check])]
967 UL_BUILD_INIT([libmount])
968 UL_REQUIRES_BUILD([libmount], [libblkid])
969 UL_REQUIRES_HAVE([libmount], [scanf_alloc_modifier], [scanf string alloc modifier])
970 AM_CONDITIONAL([BUILD_LIBMOUNT], [test "x$build_libmount" = xyes])
971 AM_CONDITIONAL([BUILD_LIBMOUNT_TESTS], [test "x$build_libmount" = xyes -a "x$enable_static" = xyes])
972 AS_IF([test "x$build_libmount" = xyes], [
973 AC_DEFINE(HAVE_LIBMOUNT, 1, [Define if libmount available.])
976 AC_SUBST([LIBMOUNT_VERSION])
977 AC_SUBST([LIBMOUNT_MAJOR_VERSION], $PACKAGE_VERSION_MAJOR)
978 AC_SUBST([LIBMOUNT_MINOR_VERSION], $PACKAGE_VERSION_MINOR)
979 AC_SUBST([LIBMOUNT_PATCH_VERSION], $PACKAGE_VERSION_RELEASE)
980 AC_SUBST([LIBMOUNT_VERSION_INFO])
981 AC_DEFINE_UNQUOTED([LIBMOUNT_VERSION], ["$LIBMOUNT_VERSION"], [libmount version string])
983 AC_ARG_ENABLE([libmount-support-mtab],
984 AS_HELP_STRING([--enable-libmount-support-mtab], [support /etc/mtab (default is use /proc/self/mountinfo)]),
985 [], [enable_libmount_support_mtab=no]
988 AS_IF([test "x$enable_libmount_support_mtab" == xyes], [
989 AC_DEFINE([USE_LIBMOUNT_SUPPORT_MTAB], [1], [Define to 1 if want to support mtab.])
996 AC_ARG_ENABLE([libsmartcols],
997 AS_HELP_STRING([--disable-libsmartcols], [do not build libsmartcols]),
998 [], [UL_DEFAULT_ENABLE([libsmartcols], [yes])]
1000 UL_BUILD_INIT([libsmartcols])
1001 AM_CONDITIONAL([BUILD_LIBSMARTCOLS], [test "x$build_libsmartcols" = xyes])
1003 AC_SUBST([LIBSMARTCOLS_VERSION])
1004 AC_SUBST([LIBSMARTCOLS_VERSION_INFO])
1005 AC_DEFINE_UNQUOTED([LIBSMARTCOLS_VERSION], ["$LIBSMARTCOLS_VERSION"], [libsmartcols version string])
1011 AC_ARG_ENABLE([libfdisk],
1012 AS_HELP_STRING([--disable-libfdisk], [do not build libfdisk]),
1013 [], [UL_DEFAULT_ENABLE([libfdisk], [check])]
1015 UL_BUILD_INIT([libfdisk])
1016 UL_REQUIRES_BUILD([libfdisk], [libuuid])
1017 AM_CONDITIONAL([BUILD_LIBFDISK], [test "x$build_libfdisk" = xyes])
1018 AM_CONDITIONAL([BUILD_LIBFDISK_TESTS], [test "x$build_libfdisk" = xyes -a "x$enable_static" = xyes])
1020 AS_IF([test "x$build_libblkid" = xyes],
1021 [LIBFDISK_PC_REQUIRES="uuid blkid"],[LIBFDISK_PC_REQUIRES="uuid"])
1022 AC_SUBST([LIBFDISK_PC_REQUIRES])
1024 AC_SUBST([LIBFDISK_VERSION])
1025 AC_SUBST([LIBFDISK_MAJOR_VERSION], $PACKAGE_VERSION_MAJOR)
1026 AC_SUBST([LIBFDISK_MINOR_VERSION], $PACKAGE_VERSION_MINOR)
1027 AC_SUBST([LIBFDISK_PATCH_VERSION], $PACKAGE_VERSION_RELEASE)
1028 AC_SUBST([LIBFDISK_VERSION_INFO])
1029 AC_DEFINE_UNQUOTED([LIBFDISK_VERSION], ["$LIBFDISK_VERSION"], [libfdisk version string])
1032 UL_BUILD_INIT([fdisk], [check])
1033 UL_REQUIRES_HAVE([fdisk], [openat], [openat functions])
1034 UL_REQUIRES_BUILD([fdisk], [libfdisk])
1035 UL_REQUIRES_BUILD([fdisk], [libsmartcols])
1036 AM_CONDITIONAL([BUILD_FDISK], [test "x$build_fdisk" = xyes])
1039 UL_BUILD_INIT([sfdisk], [check])
1040 UL_REQUIRES_HAVE([sfdisk], [openat], [openat functions])
1041 UL_REQUIRES_BUILD([sfdisk], [libfdisk])
1042 UL_REQUIRES_BUILD([sfdisk], [libsmartcols])
1043 AM_CONDITIONAL([BUILD_SFDISK], [test "x$build_sfdisk" = xyes])
1046 UL_BUILD_INIT([cfdisk], [check])
1047 UL_REQUIRES_BUILD([cfdisk], [libfdisk])
1048 UL_REQUIRES_BUILD([cfdisk], [libsmartcols])
1049 UL_REQUIRES_HAVE([cfdisk], [open_memstream], [open_memstream function])
1050 UL_REQUIRES_HAVE([cfdisk], [ncursesw,slang,ncurses], [ncursesw, ncurses or slang library])
1051 AM_CONDITIONAL([BUILD_CFDISK], [test "x$build_cfdisk" = xyes])
1054 AC_ARG_ENABLE([mount],
1055 AS_HELP_STRING([--disable-mount], [do not build mount(8) and umount(8)]),
1056 [], [UL_DEFAULT_ENABLE([mount], [check])]
1058 UL_BUILD_INIT([mount])
1059 UL_REQUIRES_LINUX([mount])
1060 UL_REQUIRES_BUILD([mount], [libmount])
1061 AM_CONDITIONAL([BUILD_MOUNT], [test "x$build_mount" = xyes])
1064 AC_ARG_ENABLE([losetup],
1065 AS_HELP_STRING([--disable-losetup], [do not build losetup]),
1066 [], [UL_DEFAULT_ENABLE([losetup], [check])]
1068 UL_BUILD_INIT([losetup])
1069 UL_REQUIRES_LINUX([losetup])
1070 UL_REQUIRES_BUILD([losetup], [libsmartcols])
1071 AM_CONDITIONAL([BUILD_LOSETUP], [test "x$build_losetup" = xyes])
1073 AC_ARG_ENABLE([zramctl],
1074 AS_HELP_STRING([--disable-zramctl], [do not build zramctl]),
1075 [], [UL_DEFAULT_ENABLE([zramctl], [check])]
1077 UL_BUILD_INIT([zramctl])
1078 UL_REQUIRES_LINUX([zramctl])
1079 UL_REQUIRES_BUILD([zramctl], [libsmartcols])
1080 AM_CONDITIONAL([BUILD_ZRAMCTL], [test "x$build_zramctl" = xyes])
1082 AC_ARG_ENABLE([fsck],
1083 AS_HELP_STRING([--disable-fsck], [do not build fsck]),
1084 [], [UL_DEFAULT_ENABLE([fsck], [check])]
1086 UL_BUILD_INIT([fsck])
1087 UL_REQUIRES_BUILD([fsck], [libmount])
1088 AM_CONDITIONAL([BUILD_FSCK], [test "x$build_fsck" = xyes])
1091 AC_ARG_ENABLE([partx],
1092 AS_HELP_STRING([--disable-partx], [do not build addpart, delpart, partx]),
1093 [], [UL_DEFAULT_ENABLE([partx], [check])]
1095 UL_BUILD_INIT([partx])
1096 UL_REQUIRES_LINUX([partx])
1097 UL_REQUIRES_BUILD([partx], [libblkid])
1098 UL_REQUIRES_BUILD([partx], [libsmartcols])
1099 AM_CONDITIONAL([BUILD_PARTX], [test "x$build_partx" = xyes])
1102 AC_ARG_ENABLE([uuidd],
1103 AS_HELP_STRING([--disable-uuidd], [do not build the uuid daemon]),
1104 [], [UL_DEFAULT_ENABLE([uuidd], [check])]
1106 UL_BUILD_INIT([uuidd])
1107 UL_REQUIRES_BUILD([uuidd], [libuuid])
1108 UL_REQUIRES_HAVE([uuidd], [timer], [timer_create function])
1109 UL_REQUIRES_HAVE([uuidd], [sys_signalfd_h], [sys/signalfd.h header])
1110 AS_IF([test "x$build_uuidd" = xyes || test "x$enable_libuuid_force_uuidd" == xyes ], [
1111 AC_DEFINE([HAVE_UUIDD], [1], [Define to 1 if you want to use uuid daemon.])
1113 AM_CONDITIONAL([BUILD_UUIDD], [test "x$build_uuidd" = xyes])
1116 UL_BUILD_INIT([uuidgen], [check])
1117 UL_REQUIRES_BUILD([uuidgen], [libuuid])
1118 AM_CONDITIONAL([BUILD_UUIDGEN], [test "x$build_uuidgen" = xyes])
1120 UL_BUILD_INIT([blkid], [check])
1121 UL_REQUIRES_BUILD([blkid], [libblkid])
1122 AM_CONDITIONAL([BUILD_BLKID], [test "x$build_blkid" = xyes])
1124 UL_BUILD_INIT([findfs], [check])
1125 UL_REQUIRES_BUILD([findfs], [libblkid])
1126 AM_CONDITIONAL([BUILD_FINDFS], [test "x$build_findfs" = xyes])
1128 UL_BUILD_INIT([wipefs], [check])
1129 UL_REQUIRES_BUILD([wipefs], [libblkid])
1130 AM_CONDITIONAL([BUILD_WIPEFS], [test "x$build_wipefs" = xyes])
1132 UL_BUILD_INIT([findmnt], [check])
1133 UL_REQUIRES_BUILD([findmnt], [libmount])
1134 UL_REQUIRES_BUILD([findmnt], [libblkid])
1135 UL_REQUIRES_BUILD([findmnt], [libsmartcols])
1136 AM_CONDITIONAL([BUILD_FINDMNT], [test "x$build_findmnt" = xyes])
1139 AC_ARG_ENABLE([mountpoint],
1140 AS_HELP_STRING([--disable-mountpoint], [do not build mountpoint]),
1141 [], [UL_DEFAULT_ENABLE([mountpoint], [check])]
1143 UL_BUILD_INIT([mountpoint])
1144 UL_REQUIRES_BUILD([mountpoint], [libmount])
1145 AM_CONDITIONAL([BUILD_MOUNTPOINT], [test "x$build_mountpoint" = xyes])
1148 AC_ARG_ENABLE([fallocate],
1149 AS_HELP_STRING([--disable-fallocate], [do not build fallocate]),
1150 [], [UL_DEFAULT_ENABLE([fallocate], [check])]
1152 UL_BUILD_INIT([fallocate])
1153 UL_REQUIRES_LINUX([fallocate])
1154 UL_REQUIRES_SYSCALL_CHECK([fallocate], [UL_CHECK_SYSCALL([fallocate])])
1155 AM_CONDITIONAL([BUILD_FALLOCATE], [test "x$build_fallocate" = xyes])
1157 AS_IF([test "x$build_fallocate" = xyes], [
1158 dnl check for valid fallocate() function
1159 dnl with 32 bits glibc 2.10, fallocate() exists but not fallocate64()
1160 dnl when _FILE_OFFSET_BITS==64, fallocate() is redirect to fallocate64()
1161 dnl and program can't be linked.
1162 dnl AC_CHECK_FUNC can't catch such errors since it's redefining
1163 dnl function prototype.
1164 AC_MSG_CHECKING([for valid fallocate() function])
1165 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1166 #ifdef HAVE_UNISTD_H
1167 # include <unistd.h>
1169 #ifdef HAVE_SYS_TYPES_H
1170 # include <sys/types.h>
1172 #ifdef HAVE_LINUX_FALLOC_H
1173 # include <linux/falloc.h>
1180 ret = fallocate(0, FALLOC_FL_KEEP_SIZE, 0xfffffffful, 0xfffffffful);
1185 AC_MSG_RESULT([yes])
1186 AC_DEFINE([HAVE_FALLOCATE], [1], [Have valid fallocate() function])],[
1187 AC_MSG_RESULT([no])])
1191 AC_ARG_ENABLE([unshare],
1192 AS_HELP_STRING([--disable-unshare], [do not build unshare]),
1193 [], [UL_DEFAULT_ENABLE([unshare], [check])]
1195 UL_BUILD_INIT([unshare])
1196 UL_REQUIRES_LINUX([unshare])
1197 UL_REQUIRES_SYSCALL_CHECK([unshare], [UL_CHECK_SYSCALL([unshare])])
1198 AM_CONDITIONAL([BUILD_UNSHARE], [test "x$build_unshare" = xyes])
1199 AC_CHECK_FUNCS([unshare])
1201 AC_ARG_ENABLE([nsenter],
1202 AS_HELP_STRING([--disable-nsenter], [do not build nsenter]),
1203 [], [UL_DEFAULT_ENABLE([nsenter], [check])]
1205 UL_BUILD_INIT([nsenter])
1206 UL_REQUIRES_LINUX([nsenter])
1207 UL_REQUIRES_SYSCALL_CHECK([nsenter], [UL_CHECK_SYSCALL([setns])], [setns])
1208 AM_CONDITIONAL([BUILD_NSENTER], [test "x$build_nsenter" = xyes])
1209 AC_CHECK_FUNCS([setns])
1212 AC_ARG_WITH([cap_ng],
1213 AS_HELP_STRING([--without-cap-ng], [compile without libcap-ng]),
1214 [], [with_cap_ng=auto]
1216 AS_IF([test "x$with_cap_ng" = xno], [
1217 AM_CONDITIONAL([HAVE_CAP_NG], [false])
1220 UL_CHECK_LIB([cap-ng], [capng_apply], [cap_ng])
1224 AC_ARG_ENABLE([setpriv],
1225 AS_HELP_STRING([--disable-setpriv], [do not build setpriv]),
1226 [], [UL_DEFAULT_ENABLE([setpriv], [check])]
1228 UL_BUILD_INIT([setpriv])
1229 UL_REQUIRES_LINUX([setpriv])
1230 UL_REQUIRES_HAVE([setpriv], [linux_securebits_h], [securebits.h header file])
1231 UL_REQUIRES_HAVE([setpriv], [cap_ng], [libcap-ng library])
1232 AM_CONDITIONAL([BUILD_SETPRIV], [test "x$build_setpriv" = xyes])
1235 AC_ARG_ENABLE([eject],
1236 AS_HELP_STRING([--disable-eject], [do not build eject]),
1237 [], [UL_DEFAULT_ENABLE([eject], [check])]
1239 UL_BUILD_INIT([eject])
1240 UL_REQUIRES_LINUX([eject])
1241 UL_REQUIRES_BUILD([eject], [libmount])
1242 AM_CONDITIONAL([BUILD_EJECT], [test "x$build_eject" = xyes])
1245 AC_ARG_ENABLE([agetty],
1246 AS_HELP_STRING([--disable-agetty], [do not build agetty]),
1247 [], [UL_DEFAULT_ENABLE([agetty], [check])]
1249 UL_BUILD_INIT([agetty])
1250 UL_REQUIRES_HAVE([agetty], [utmpx_h], [utmpx.h header])
1251 UL_REQUIRES_HAVE([agetty], [gnu_utmpx], [GNU utmpx fucntions])
1252 AM_CONDITIONAL([BUILD_AGETTY], [test "x$build_agetty" = xyes])
1253 AS_IF([test "x$have_futimens" = xyes -a "x$have_inotify_init1" = xyes ], [
1254 AC_DEFINE([AGETTY_RELOAD], [1], [Enable agetty --reload feature])
1256 AC_MSG_WARN([futimens or inotify_init1 not found; agetty(8) will not provide ---reload functionality])
1260 AC_ARG_ENABLE([plymouth_support],
1261 AS_HELP_STRING([--disable-plymouth_support], [don not care about plymouth in sylogin(8) and agetty(8)]),
1262 [], [enable_plymouth_support=check]
1264 UL_BUILD_INIT([plymouth_support])
1265 UL_REQUIRES_HAVE([plymouth_support], [tiocglcktrmios], [TIOCGLCKTRMIOS flag])
1266 UL_REQUIRES_HAVE([plymouth_support], [sock_cloexec], [SOCK_CLOEXEC flag])
1267 UL_REQUIRES_HAVE([plymouth_support], [sock_nonblock], [SOCK_NONBLOCK flag])
1268 UL_REQUIRES_HAVE([plymouth_support], [so_passcred], [SO_PASSCRED flag])
1269 AM_CONDITIONAL([USE_PLYMOUTH_SUPPORT], [test "x$build_plymouth_support" = xyes])
1270 AS_IF([test "x$build_plymouth_support" = xyes ], [
1271 AC_DEFINE([USE_PLYMOUTH_SUPPORT], [1], [Enable plymouth support feature for sulogin and aggety])
1276 AS_HELP_STRING([--without-libz], [compile without libz]),
1277 [], [with_libz=auto]
1279 AS_IF([test "x$with_libz" = xno], [have_z=no], [
1280 AC_CHECK_LIB([z], [crc32], [have_z=yes], [have_z=no])
1284 AC_ARG_ENABLE([cramfs],
1285 AS_HELP_STRING([--disable-cramfs], [do not build fsck.cramfs, mkfs.cramfs]),
1286 [], [UL_DEFAULT_ENABLE([cramfs], [check])]
1288 UL_BUILD_INIT([cramfs])
1289 UL_REQUIRES_HAVE([cramfs], [z], [z library])
1290 AM_CONDITIONAL([BUILD_CRAMFS], [test "x$build_cramfs" = xyes])
1293 AC_ARG_ENABLE([bfs],
1294 AS_HELP_STRING([--disable-bfs], [do not build mkfs.bfs]),
1295 [], [UL_DEFAULT_ENABLE([bfs], [yes])]
1297 UL_BUILD_INIT([bfs])
1298 AM_CONDITIONAL([BUILD_BFS], [test "x$build_bfs" = xyes])
1301 AC_ARG_ENABLE([minix],
1302 AS_HELP_STRING([--disable-minix], [do not build fsck.minix, mkfs.minix]),
1303 [], [UL_DEFAULT_ENABLE([minix], [yes])]
1305 UL_BUILD_INIT([minix])
1306 AM_CONDITIONAL([BUILD_MINIX], [test "x$build_minix" = xyes])
1309 AC_ARG_ENABLE([fdformat],
1310 AS_HELP_STRING([--disable-fdformat], [do not build fdformat]),
1311 [], [UL_DEFAULT_ENABLE([fdformat], [check])]
1313 UL_BUILD_INIT([fdformat])
1314 UL_REQUIRES_LINUX([fdformat])
1315 AM_CONDITIONAL([BUILD_FDFORMAT], [test "x$build_fdformat" = xyes])
1318 AC_ARG_ENABLE([hwclock],
1319 AS_HELP_STRING([--disable-hwclock], [do not build hwclock]),
1320 [], [UL_DEFAULT_ENABLE([hwclock], [check])]
1322 have_linuxdummy=$linux_os
1324 UL_BUILD_INIT([hwclock])
1325 UL_REQUIRES_HAVE([hwclock], [io, linuxdummy], [ioperm iopl function or Linux])
1326 AM_CONDITIONAL([BUILD_HWCLOCK], [test "x$build_hwclock" = xyes])
1329 UL_BUILD_INIT([mkfs], [yes])
1330 AM_CONDITIONAL([BUILD_MKFS], [test "x$build_mkfs" = xyes])
1332 UL_BUILD_INIT([isosize], [yes])
1333 AM_CONDITIONAL([BUILD_ISOSIZE], [test "x$build_isosize" = xyes])
1336 UL_BUILD_INIT([fstrim], [check])
1337 UL_REQUIRES_LINUX([fstrim])
1338 UL_REQUIRES_BUILD([fstrim], [libmount])
1339 AM_CONDITIONAL([BUILD_FSTRIM], [test "x$build_fstrim" = xyes])
1342 UL_BUILD_INIT([swapon], [check])
1343 UL_REQUIRES_LINUX([swapon])
1344 UL_REQUIRES_BUILD([swapon], [libblkid])
1345 UL_REQUIRES_BUILD([swapon], [libmount])
1346 UL_REQUIRES_BUILD([swapon], [libsmartcols])
1347 AM_CONDITIONAL([BUILD_SWAPON], [test "x$build_swapon" = xyes])
1350 UL_BUILD_INIT([lsblk], [check])
1351 UL_REQUIRES_LINUX([lsblk])
1352 UL_REQUIRES_BUILD([lsblk], [libblkid])
1353 UL_REQUIRES_BUILD([lsblk], [libmount])
1354 UL_REQUIRES_BUILD([lsblk], [libsmartcols])
1355 AM_CONDITIONAL([BUILD_LSBLK], [test "x$build_lsblk" = xyes])
1358 UL_BUILD_INIT([lscpu], [check])
1359 UL_REQUIRES_LINUX([lscpu])
1360 UL_REQUIRES_BUILD([lscpu], [libsmartcols])
1361 UL_REQUIRES_HAVE([lscpu], [cpu_set_t], [cpu_set_t type])
1362 AM_CONDITIONAL([BUILD_LSCPU], [test "x$build_lscpu" = xyes])
1365 AC_ARG_ENABLE([lslogins],
1366 AS_HELP_STRING([--disable-lslogins], [do not build lslogins]),
1367 [], [UL_DEFAULT_ENABLE([lslogins], [check])]
1369 UL_BUILD_INIT([lslogins])
1370 UL_REQUIRES_BUILD([lslogins], [libsmartcols])
1371 UL_REQUIRES_HAVE([lslogins], [shadow_h], [shadow.h header])
1372 UL_REQUIRES_HAVE([lslogins], [utmpx_h], [utmpx.h header])
1373 UL_REQUIRES_HAVE([lslogins], [gnu_utmpx], [GNU utmpx fucntions])
1374 AM_CONDITIONAL([BUILD_LSLOGINS], [test "x$build_lslogins" = xyes])
1377 UL_BUILD_INIT([chcpu], [check])
1378 UL_REQUIRES_LINUX([chcpu])
1379 UL_REQUIRES_HAVE([chcpu], [cpu_set_t], [cpu_set_t type])
1380 AM_CONDITIONAL([BUILD_CHCPU], [test "x$build_chcpu" = xyes])
1383 AC_ARG_ENABLE([wdctl],
1384 AS_HELP_STRING([--disable-wdctl], [do not build wdctl]),
1385 [], [UL_DEFAULT_ENABLE([wdctl], [check])]
1387 UL_BUILD_INIT([wdctl])
1388 UL_REQUIRES_LINUX([wdctl])
1389 UL_REQUIRES_BUILD([wdctl], [libsmartcols])
1390 UL_REQUIRES_HAVE([wdctl], [linux_watchdog_h], [linux/watchdog.h header file])
1391 AM_CONDITIONAL([BUILD_WDCTL], [test "x$build_wdctl" = xyes])
1394 UL_BUILD_INIT([swaplabel], [check])
1395 UL_REQUIRES_BUILD([swaplabel], [libblkid])
1396 AM_CONDITIONAL([BUILD_SWAPLABEL], [test "x$build_swaplabel" = xyes])
1399 UL_BUILD_INIT([mkswap], [yes])
1400 AM_CONDITIONAL([BUILD_MKSWAP], [test "x$build_mkswap" = xyes])
1401 AS_IF([test "x$build_mkswap" = xyes -a "x$build_libuuid" != xyes], [
1402 AC_MSG_WARN([uuid library is not found; mkswap(8) will not generate UUIDs])
1406 AC_ARG_ENABLE([cal],
1407 AS_HELP_STRING([--disable-cal], [do not build cal]),
1408 [], [UL_DEFAULT_ENABLE([cal], [check])]
1410 UL_BUILD_INIT([cal])
1411 AM_CONDITIONAL([BUILD_CAL], [test "x$build_cal" = xyes])
1413 AC_ARG_ENABLE([logger],
1414 AS_HELP_STRING([--disable-logger], [do not build logger]),
1415 [], [UL_DEFAULT_ENABLE([logger], [check])]
1417 UL_BUILD_INIT([logger])
1418 AM_CONDITIONAL([BUILD_LOGGER], [test "x$build_logger" = xyes])
1420 UL_BUILD_INIT([look], [yes])
1421 AM_CONDITIONAL([BUILD_LOOK], [test "x$build_look" = xyes])
1423 UL_BUILD_INIT([mcookie], [yes])
1424 AM_CONDITIONAL([BUILD_MCOOKIE], [test "x$build_mcookie" = xyes])
1426 UL_BUILD_INIT([namei], [yes])
1427 AM_CONDITIONAL([BUILD_NAMEI], [test "x$build_namei" = xyes])
1429 UL_BUILD_INIT([whereis], [yes])
1430 AM_CONDITIONAL([BUILD_WHEREIS], [test "x$build_whereis" = xyes])
1432 UL_BUILD_INIT([getopt], [yes])
1433 AM_CONDITIONAL([BUILD_GETOPT], [test "x$build_getopt" = xyes])
1436 UL_BUILD_INIT([blockdev], [check])
1437 UL_REQUIRES_LINUX([blockdev])
1438 AM_CONDITIONAL([BUILD_BLOCKDEV], [test "x$build_blockdev" = xyes])
1441 UL_BUILD_INIT([prlimit], [check])
1442 UL_REQUIRES_LINUX([prlimit])
1443 UL_REQUIRES_BUILD([prlimit], [libsmartcols])
1444 UL_REQUIRES_SYSCALL_CHECK([prlimit], [UL_CHECK_SYSCALL([prlimit64])], [prlimit64])
1445 AM_CONDITIONAL([BUILD_PRLIMIT], [test "x$build_prlimit" = xyes])
1446 AS_IF([test "x$build_prlimit" = xyes], [
1447 AC_CHECK_FUNCS([prlimit])
1451 UL_BUILD_INIT([lslocks], [check])
1452 UL_REQUIRES_LINUX([lslocks])
1453 UL_REQUIRES_BUILD([lslocks], [libmount])
1454 UL_REQUIRES_BUILD([lslocks], [libsmartcols])
1455 AM_CONDITIONAL([BUILD_LSLOCKS], [test "x$build_lslocks" = xyes])
1458 AC_ARG_ENABLE([switch_root],
1459 AS_HELP_STRING([--disable-switch_root], [do not build switch_root]),
1460 [], [UL_DEFAULT_ENABLE([switch_root], [check])]
1462 UL_BUILD_INIT([switch_root])
1463 UL_REQUIRES_LINUX([switch_root])
1464 UL_REQUIRES_HAVE([switch_root], [openat], [openat function])
1465 AM_CONDITIONAL([BUILD_SWITCH_ROOT], [test "x$build_switch_root" = xyes])
1468 AC_ARG_ENABLE([pivot_root],
1469 AS_HELP_STRING([--disable-pivot_root], [do not build pivot_root]),
1470 [], [UL_DEFAULT_ENABLE([pivot_root], [check])]
1472 UL_BUILD_INIT([pivot_root])
1473 UL_REQUIRES_LINUX([pivot_root])
1474 UL_REQUIRES_SYSCALL_CHECK([pivot_root], [UL_CHECK_SYSCALL([pivot_root])])
1475 AM_CONDITIONAL([BUILD_PIVOT_ROOT], [test "x$build_pivot_root" = xyes])
1478 UL_BUILD_INIT([flock], [check])
1479 UL_REQUIRES_HAVE([flock], [timer], [timer_create function])
1480 AM_CONDITIONAL([BUILD_FLOCK], [test "x$build_flock" = xyes])
1483 AC_ARG_ENABLE([lsmem],
1484 AS_HELP_STRING([--disable-lsmem], [do not build lsmem]),
1485 [], [UL_DEFAULT_ENABLE([lsmem], [check])]
1487 UL_BUILD_INIT([lsmem])
1488 UL_REQUIRES_LINUX([lsmem])
1489 AM_CONDITIONAL([BUILD_LSMEM], [test "x$build_lsmem" = xyes])
1492 AC_ARG_ENABLE([chmem],
1493 AS_HELP_STRING([--disable-chmem], [do not build chmem]),
1494 [], [UL_DEFAULT_ENABLE([chmem], [check])]
1496 UL_BUILD_INIT([chmem])
1497 UL_REQUIRES_LINUX([chmem])
1498 AM_CONDITIONAL([BUILD_CHMEM], [test "x$build_chmem" = xyes])
1500 UL_BUILD_INIT([ipcmk], [yes])
1501 AM_CONDITIONAL([BUILD_IPCMK], [test "x$build_ipcmk" = xyes])
1504 AC_ARG_ENABLE([ipcrm],
1505 AS_HELP_STRING([--disable-ipcrm], [do not build ipcrm]),
1506 [], [UL_DEFAULT_ENABLE([ipcrm], [yes])]
1508 UL_BUILD_INIT([ipcrm])
1509 AM_CONDITIONAL([BUILD_IPCRM], [test "x$build_ipcrm" = xyes])
1511 AC_ARG_ENABLE([ipcs],
1512 AS_HELP_STRING([--disable-ipcs], [do not build ipcs]),
1513 [], [UL_DEFAULT_ENABLE([ipcs], [yes])]
1515 UL_BUILD_INIT([ipcs])
1516 AM_CONDITIONAL([BUILD_IPCS], [test "x$build_ipcs" = xyes])
1518 UL_BUILD_INIT([lsipc], [check])
1519 UL_REQUIRES_LINUX([lsipc])
1520 UL_REQUIRES_BUILD([lsipc], [libsmartcols])
1521 AM_CONDITIONAL([BUILD_LSIPC], [test "x$build_lsipc" = xyes])
1523 UL_BUILD_INIT([lsns], [check])
1524 UL_REQUIRES_LINUX([lsns])
1525 UL_REQUIRES_BUILD([lsns], [libsmartcols])
1526 AM_CONDITIONAL([BUILD_LSNS], [test "x$build_lsns" = xyes])
1528 UL_BUILD_INIT([renice], [yes])
1529 AM_CONDITIONAL([BUILD_RENICE], [test "x$build_renice" = xyes])
1531 UL_BUILD_INIT([setsid], [yes])
1532 AM_CONDITIONAL([BUILD_SETSID], [test "x$build_setsid" = xyes])
1534 UL_BUILD_INIT([readprofile], [check])
1535 UL_REQUIRES_LINUX([readprofile])
1536 AM_CONDITIONAL([BUILD_READPROFILE], [test "x$build_readprofile" = xyes])
1538 UL_BUILD_INIT([dmesg], [check])
1539 UL_REQUIRES_LINUX([dmesg])
1540 AM_CONDITIONAL([BUILD_DMESG], [test "x$build_dmesg" = xyes])
1542 UL_BUILD_INIT([ctrlaltdel], [check])
1543 UL_REQUIRES_LINUX([ctrlaltdel])
1544 dnl we assume reboot() to be the 1-argument variant, because even considering
1545 dnl widely used alternative C libraries like uclibc, dietlibc and musl,
1546 dnl reboot() with multiple arguments is yet only found in glibc versions
1547 dnl earlier than 2.x.
1548 UL_REQUIRES_HAVE([ctrlaltdel], [reboot], [reboot function])
1549 AM_CONDITIONAL([BUILD_CTRLALTDEL], [test "x$build_ctrlaltdel" = xyes])
1551 UL_BUILD_INIT([fsfreeze], [check])
1552 UL_REQUIRES_LINUX([fsfreeze])
1553 AM_CONDITIONAL([BUILD_FSFREEZE], [test "x$build_fsfreeze" = xyes])
1555 UL_BUILD_INIT([blkdiscard], [check])
1556 UL_REQUIRES_LINUX([blkdiscard])
1557 AM_CONDITIONAL([BUILD_BLKDISCARD], [test "x$build_blkdiscard" = xyes])
1559 UL_BUILD_INIT([ldattach], [check])
1560 UL_REQUIRES_LINUX([ldattach])
1561 AM_CONDITIONAL([BUILD_LDATTACH], [test "x$build_ldattach" = xyes])
1563 UL_BUILD_INIT([rtcwake], [check])
1564 UL_REQUIRES_LINUX([rtcwake])
1565 AM_CONDITIONAL([BUILD_RTCWAKE], [test "x$build_rtcwake" = xyes])
1567 UL_BUILD_INIT([setarch], [check])
1568 UL_REQUIRES_LINUX([setarch])
1569 AM_CONDITIONAL([BUILD_SETARCH], [test "x$build_setarch" = xyes])
1571 UL_BUILD_INIT([script], [check])
1572 UL_REQUIRES_HAVE([script], [sys_signalfd_h], [sys/signalfd.h header])
1573 AM_CONDITIONAL([BUILD_SCRIPT], [test "x$build_script" = xyes])
1575 UL_BUILD_INIT([scriptreplay], [yes])
1576 AM_CONDITIONAL([BUILD_SCRIPTREPLAY], [test "x$build_scriptreplay" = xyes])
1578 UL_BUILD_INIT([col], [yes])
1579 AM_CONDITIONAL([BUILD_COL], [test "x$build_col" = xyes])
1581 UL_BUILD_INIT([colcrt], [yes])
1582 AM_CONDITIONAL([BUILD_COLCRT], [test "x$build_colcrt" = xyes])
1584 UL_BUILD_INIT([colrm], [yes])
1585 AM_CONDITIONAL([BUILD_COLRM], [test "x$build_colrm" = xyes])
1587 UL_BUILD_INIT([column], [yes])
1588 AM_CONDITIONAL([BUILD_COLUMN], [test "x$build_column" = xyes])
1590 UL_BUILD_INIT([hexdump], [yes])
1591 AM_CONDITIONAL([BUILD_HEXDUMP], [test "x$build_hexdump" = xyes])
1593 UL_BUILD_INIT([rev], [yes])
1594 AM_CONDITIONAL([BUILD_REV], [test "x$build_rev" = xyes])
1596 AC_ARG_ENABLE([tailf],
1597 AS_HELP_STRING([--enable-tailf], [build tailf (deprecated)]),
1598 [], [UL_DEFAULT_ENABLE([tailf], [no])]
1600 UL_BUILD_INIT([tailf])
1601 AM_CONDITIONAL([BUILD_TAILF], [test "x$build_tailf" = xyes])
1604 AC_ARG_ENABLE([tunelp],
1605 AS_HELP_STRING([--enable-tunelp], [build tunelp]),
1606 [], [UL_DEFAULT_ENABLE([tunelp], [no])]
1608 UL_BUILD_INIT([tunelp])
1609 UL_REQUIRES_LINUX([tunelp])
1610 AM_CONDITIONAL([BUILD_TUNELP], [test "x$build_tunelp" = xyes])
1613 AC_ARG_ENABLE([kill],
1614 AS_HELP_STRING([--disable-kill], [do not build kill]),
1615 [], [UL_DEFAULT_ENABLE([kill], [check])]
1617 UL_BUILD_INIT([kill])
1618 UL_REQUIRES_LINUX([kill])
1619 AM_CONDITIONAL([BUILD_KILL], [test "x$build_kill" = xyes])
1622 AC_ARG_ENABLE([last],
1623 AS_HELP_STRING([--disable-last], [do not build last]),
1624 [], [UL_DEFAULT_ENABLE([last], [check])]
1626 UL_BUILD_INIT([last])
1627 UL_REQUIRES_HAVE([last], [utmpx_h], [utmpx.h header])
1628 UL_REQUIRES_HAVE([last], [gnu_utmpx], [GNU utmpx fucntions])
1629 AM_CONDITIONAL([BUILD_LAST], [test "x$build_last" = xyes])
1632 AC_ARG_ENABLE([utmpdump],
1633 AS_HELP_STRING([--disable-utmpdump], [do not build utmpdump]),
1634 [], [UL_DEFAULT_ENABLE([utmpdump], [check])]
1636 UL_BUILD_INIT([utmpdump])
1637 UL_REQUIRES_HAVE([utmpdump], [utmpx_h], [utmpx.h header])
1638 UL_REQUIRES_HAVE([utmpdump], [gnu_utmpx], [GNU utmpx fucntions])
1639 AM_CONDITIONAL([BUILD_UTMPDUMP], [test "x$build_utmpdump" = xyes])
1642 AC_ARG_ENABLE([line],
1643 AS_HELP_STRING([--enable-line], [build line]),
1644 [], [UL_DEFAULT_ENABLE([line], [no])]
1646 UL_BUILD_INIT([line])
1647 AM_CONDITIONAL([BUILD_LINE], [test "x$build_line" = xyes])
1650 AC_ARG_ENABLE([mesg],
1651 AS_HELP_STRING([--disable-mesg], [do not build mesg]),
1652 [], [UL_DEFAULT_ENABLE([mesg], [yes])]
1654 UL_BUILD_INIT([mesg])
1655 AM_CONDITIONAL([BUILD_MESG], [test "x$build_mesg" = xyes])
1658 AC_ARG_ENABLE([raw],
1659 AS_HELP_STRING([--disable-raw], [do not build raw]),
1660 [], [UL_DEFAULT_ENABLE([raw], [check])]
1662 UL_BUILD_INIT([raw])
1663 UL_REQUIRES_LINUX([raw])
1664 UL_REQUIRES_HAVE([raw], [linux_raw_h], [raw.h header file])
1665 AM_CONDITIONAL([BUILD_RAW], [test "x$build_raw" = xyes])
1668 AC_ARG_ENABLE([rename],
1669 AS_HELP_STRING([--disable-rename], [do not build rename]),
1670 [], [UL_DEFAULT_ENABLE([rename], [yes])]
1672 UL_BUILD_INIT([rename])
1673 AM_CONDITIONAL([BUILD_RENAME], [test "x$build_rename" = xyes])
1676 AC_ARG_ENABLE([reset],
1677 AS_HELP_STRING([--enable-reset], [build reset]),
1678 [], [UL_DEFAULT_ENABLE([reset], [no])]
1680 UL_BUILD_INIT([reset])
1681 AM_CONDITIONAL([BUILD_RESET], [test "x$build_reset" = xyes])
1684 AC_ARG_ENABLE([vipw],
1685 AS_HELP_STRING([--enable-vipw], [build vipw]),
1686 [], [UL_DEFAULT_ENABLE([vipw], [no])]
1688 UL_BUILD_INIT([vipw])
1689 UL_REQUIRES_HAVE([vipw], [shadow_h], [shadow.h header])
1690 AM_CONDITIONAL([BUILD_VIPW], [test "x$build_vipw" = xyes])
1693 AC_ARG_ENABLE([newgrp],
1694 AS_HELP_STRING([--enable-newgrp], [build newgrp]),
1695 [], [UL_DEFAULT_ENABLE([newgrp], [no])]
1697 UL_BUILD_INIT([newgrp])
1698 AM_CONDITIONAL([BUILD_NEWGRP], [test "x$build_newgrp" = xyes])
1701 AC_ARG_WITH([user], AS_HELP_STRING([--without-user], [compile without libuser (remote chsh)]),
1702 [], [with_user=check]
1705 AS_IF([test "x$with_user" != xno], [
1706 PKG_CHECK_MODULES(LIBUSER,[libuser >= 0.58], [have_user=yes], [have_user=no])
1707 AS_CASE([$with_user:$have_user],
1709 [AC_MSG_ERROR([user selected but libuser not found])],
1711 [AC_DEFINE([HAVE_LIBUSER], [1], [Define if libuser is available])]
1713 # temporary solution, libuser has stupid .pc where are exported all
1714 # private dependencies to Requires: instead of Requires.private:
1715 AS_IF([test "x$have_user" = xyes], [
1719 AM_CONDITIONAL([HAVE_USER], [test "x$have_user" = xyes])
1721 AC_ARG_ENABLE([chfn-chsh-password],
1722 AS_HELP_STRING([--disable-chfn-chsh-password], [do not require the user to enter the password in chfn and chsh]),
1723 [], [enable_chfn_chsh_password=yes]
1726 AC_ARG_ENABLE([chfn-chsh],
1727 AS_HELP_STRING([--enable-chfn-chsh], [build chfn and chsh]),
1728 [], [UL_DEFAULT_ENABLE([chfn_chsh], [check])]
1730 UL_BUILD_INIT([chfn_chsh])
1731 UL_REQUIRES_HAVE([chfn_chsh], [shadow_h], [shadow.h header])
1733 AS_IF([test "x$enable_chfn_chsh_password" = xyes -o "x$have_user" = xyes], [
1734 UL_REQUIRES_HAVE([chfn_chsh], [security_pam_appl_h], [PAM header file])
1735 AC_DEFINE([CHFN_CHSH_PASSWORD], [1], [Should chfn and chsh require the user to enter the password?])
1737 AM_CONDITIONAL([BUILD_CHFN_CHSH], [test "x$build_chfn_chsh" = xyes])
1738 AM_CONDITIONAL([CHFN_CHSH_PASSWORD], [test "x$enable_chfn_chsh_password" = xyes])
1740 AC_ARG_ENABLE([chsh-only-listed],
1741 AS_HELP_STRING([--disable-chsh-only-listed], [chsh: allow shells not in /etc/shells]),
1742 [], enable_chsh_only_listed=yes
1745 AS_IF([test "x$enable_chsh_only_listed" = xyes], [
1746 AC_DEFINE([ONLY_LISTED_SHELLS], [1], [Should chsh allow only shells in /etc/shells?])
1750 AC_ARG_ENABLE([login],
1751 AS_HELP_STRING([--disable-login], [do not build login]),
1752 [], [UL_DEFAULT_ENABLE([login], [check])]
1754 UL_BUILD_INIT([login])
1755 UL_REQUIRES_HAVE([login], [security_pam_appl_h], [PAM header file])
1756 UL_REQUIRES_HAVE([login], [security_pam_misc_h, security_openpam_h], [PAM conversation functions])
1757 UL_REQUIRES_HAVE([login], [utmpx_h], [utmpx.h header])
1758 UL_REQUIRES_HAVE([login], [gnu_utmpx], [GNU utmpx fucntions])
1759 AM_CONDITIONAL([BUILD_LOGIN], [test "x$build_login" = xyes])
1761 AC_ARG_ENABLE([login-chown-vcs],
1762 AS_HELP_STRING([--enable-login-chown-vcs], [let login chown /dev/vcsN]),
1763 [], [enable_login_chown_vcs=no]
1766 AS_IF([test "x$enable_login_chown_vcs" = xyes], [
1767 AC_DEFINE([LOGIN_CHOWN_VCS], [1], [Should login chown /dev/vcsN?])
1770 AC_ARG_ENABLE([login-stat-mail],
1771 AS_HELP_STRING([--enable-login-stat-mail], [let login stat() the mailbox]),
1772 [], [enable_login_stat_mail=no]
1775 AS_IF([test "x$enable_login_stat_mail" = xyes], [
1776 AC_DEFINE([LOGIN_STAT_MAIL], [1], [Should login stat() the mailbox?])
1780 AC_ARG_ENABLE([nologin],
1781 AS_HELP_STRING([--disable-nologin], [do not build nologin]),
1782 [], [UL_DEFAULT_ENABLE([nologin], [yes])]
1784 UL_BUILD_INIT([nologin])
1785 AM_CONDITIONAL([BUILD_NOLOGIN], [test "x$build_nologin" = xyes])
1788 AC_ARG_ENABLE([sulogin],
1789 AS_HELP_STRING([--disable-sulogin], [do not build sulogin]),
1790 [], [UL_DEFAULT_ENABLE([sulogin], [check])]
1792 UL_BUILD_INIT([sulogin])
1793 UL_REQUIRES_HAVE([sulogin], [shadow_h], [shadow.h header])
1794 AM_CONDITIONAL([BUILD_SULOGIN], [test "x$build_sulogin" = xyes])
1798 AS_HELP_STRING([--disable-su], [do not build su]),
1799 [], [UL_DEFAULT_ENABLE([su], [check])]
1802 UL_REQUIRES_HAVE([su], [security_pam_appl_h], [PAM header file])
1803 UL_REQUIRES_HAVE([su], [utmpx_h], [utmpx.h header])
1804 UL_REQUIRES_HAVE([su], [gnu_utmpx], [GNU utmpx fucntions])
1805 AM_CONDITIONAL([BUILD_SU], [test "x$build_su" = xyes])
1808 AC_ARG_ENABLE([runuser],
1809 AS_HELP_STRING([--disable-runuser], [do not build runuser]),
1810 [], [UL_DEFAULT_ENABLE([runuser], [check])]
1812 UL_BUILD_INIT([runuser])
1813 UL_REQUIRES_HAVE([runuser], [security_pam_appl_h], [PAM header file])
1814 UL_REQUIRES_HAVE([runuser], [utmpx_h], [utmpx.h header])
1815 UL_REQUIRES_HAVE([runuser], [gnu_utmpx], [GNU utmpx fucntions])
1816 AM_CONDITIONAL([BUILD_RUNUSER], [test "x$build_runuser" = xyes])
1820 AS_HELP_STRING([--disable-ul], [do not build ul]),
1821 [], [UL_DEFAULT_ENABLE([ul], [check])]
1824 UL_REQUIRES_HAVE([ul], [ncursesw, tinfo, ncurses], [ncursesw, ncurses or tinfo libraries])
1825 AM_CONDITIONAL([BUILD_UL], [test "x$build_ul" = xyes])
1828 AC_ARG_ENABLE([more],
1829 AS_HELP_STRING([--disable-more], [do not build more]),
1830 [], [UL_DEFAULT_ENABLE([more], [check])]
1832 UL_BUILD_INIT([more])
1833 UL_REQUIRES_HAVE([more], [ncursesw, tinfo, ncurses, termcap], [ncursesw, ncurses, tinfo or termcap libraries])
1834 AM_CONDITIONAL([BUILD_MORE], [test "x$build_more" = xyes])
1838 AS_HELP_STRING([--enable-pg], [build pg]),
1839 [], [UL_DEFAULT_ENABLE([pg], [no])]
1842 UL_REQUIRES_HAVE([pg], [ncursesw, ncurses], [ncursesw or ncurses library])
1843 AM_CONDITIONAL([BUILD_PG], [test "x$build_pg" = xyes])
1846 AC_ARG_ENABLE([setterm],
1847 AS_HELP_STRING([--disable-setterm], [do not build setterm]),
1848 [], [UL_DEFAULT_ENABLE([setterm], [check])]
1850 UL_BUILD_INIT([setterm])
1851 UL_REQUIRES_LINUX([setterm])
1852 UL_REQUIRES_HAVE([setterm], [ncursesw, ncurses], [ncursesw or ncurses library])
1853 AM_CONDITIONAL([BUILD_SETTERM], [test "x$build_setterm" = xyes])
1855 # build_schedutils= is just configure-only variable to control
1856 # ionice, taskset and chrt
1857 AC_ARG_ENABLE([schedutils],
1858 AS_HELP_STRING([--disable-schedutils], [do not build chrt, ionice, taskset]),
1859 [], [UL_DEFAULT_ENABLE([schedutils], [yes])]
1861 UL_BUILD_INIT([schedutils])
1863 UL_BUILD_INIT([ionice], [check])
1864 UL_REQUIRES_BUILD([ionice], [schedutils])
1865 UL_REQUIRES_SYSCALL_CHECK([ionice],
1866 [UL_CHECK_SYSCALL([ioprio_set],
1877 UL_REQUIRES_SYSCALL_CHECK([ionice],
1878 [UL_CHECK_SYSCALL([ioprio_get],
1889 AM_CONDITIONAL([BUILD_IONICE], [test "x$build_ionice" = xyes])
1891 UL_BUILD_INIT([taskset], [check])
1892 UL_REQUIRES_BUILD([taskset], [schedutils])
1893 UL_REQUIRES_HAVE([taskset], [cpu_set_t], [cpu_set_t type])
1894 UL_REQUIRES_SYSCALL_CHECK([taskset],
1895 [UL_CHECK_SYSCALL([sched_getaffinity])],
1896 [sched_getaffinity])
1897 AM_CONDITIONAL([BUILD_TASKSET], [test "x$build_taskset" = xyes])
1901 AS_IF([test "x$ac_cv_func_sched_setscheduler" = xyes], [have_schedsetter=yes],
1902 [test "x$ac_cv_func_sched_setattr" = xyes], [have_schedsetter=yes])
1904 UL_BUILD_INIT([chrt], [check])
1905 UL_REQUIRES_BUILD([chrt], [schedutils])
1906 UL_REQUIRES_HAVE([chrt], [schedsetter], [sched_set functions])
1907 AM_CONDITIONAL([BUILD_CHRT], [test "x$build_chrt" = xyes])
1909 AS_IF([test "x$build_chrt" = xyes], [
1910 UL_CHECK_SYSCALL([sched_setattr])
1914 AC_ARG_ENABLE([wall],
1915 AS_HELP_STRING([--disable-wall], [do not build wall]),
1916 [], [UL_DEFAULT_ENABLE([wall], [check])]
1918 UL_BUILD_INIT([wall])
1919 UL_REQUIRES_HAVE([wall], [utmpx_h], [utmpx.h header])
1920 AM_CONDITIONAL([BUILD_WALL], [test "x$build_wall" = xyes])
1923 AC_ARG_ENABLE([write],
1924 AS_HELP_STRING([--enable-write], [build write]),
1925 [], [UL_DEFAULT_ENABLE([write], [no])]
1927 UL_BUILD_INIT([write])
1928 UL_REQUIRES_HAVE([write], [utmpx_h], [utmpx.h header])
1929 UL_REQUIRES_HAVE([write], [gnu_utmpx], [GNU utmpx fucntions])
1930 AM_CONDITIONAL([BUILD_WRITE], [test "x$build_write" = xyes])
1933 AC_ARG_WITH([btrfs],
1934 AS_HELP_STRING([--with-btrfs], [build with support for btrfs]),
1935 [], [with_btrfs=check]
1938 AS_IF([test "x$with_btrfs" != xno], [
1939 AS_CASE([$with_btrfs:$have_linux_btrfs_h],
1941 [AC_MSG_ERROR([btrfs selected but linux/btrfs.h not found])],
1943 [AC_MSG_WARN([linux/btrfs.h not found, do not build with btrfs support])],
1946 AC_DEFINE([HAVE_BTRFS_SUPPORT], [1], [Define if btrfs stuff is available])]
1949 AM_CONDITIONAL([HAVE_BTRFS], [test "x$have_btrfs" = xyes])
1952 AC_ARG_WITH([systemd],
1953 AS_HELP_STRING([--with-systemd], [build with support for systemd]),
1954 [], [with_systemd=check]
1958 AS_IF([test "x$with_systemd" != xno], [
1959 # new version -- all libsystemd-* libs merged into libsystemd
1960 PKG_CHECK_MODULES([SYSTEMD], [libsystemd], [have_systemd=yes], [have_systemd=no])
1962 AS_IF([test "x$have_systemd" != "xyes"], [
1963 PKG_CHECK_MODULES([SYSTEMD_DAEMON], [libsystemd-daemon],
1964 [have_systemd_daemon=yes], [have_systemd_daemon=no])
1965 PKG_CHECK_MODULES([SYSTEMD_JOURNAL], [libsystemd-journal],
1966 [have_systemd_journal=yes], [have_systemd_journal=no])
1967 AS_IF([test "x$have_systemd_daemon" = "xyes" -a "x$have_systemd_journal" = "xyes" ],[
1970 AS_CASE([$with_systemd:$have_systemd],
1972 [AC_MSG_ERROR([systemd expected but libsystemd not found])],
1974 AC_DEFINE([HAVE_LIBSYSTEMD], [1], [Define if libsystemd is available])
1977 AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$have_systemd" = xyes])
1980 AC_ARG_WITH([systemdsystemunitdir],
1981 AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [directory for systemd service files]),
1982 [], [with_systemdsystemunitdir=`$PKG_CONFIG --variable=systemdsystemunitdir systemd`])
1984 AS_IF([test "x$with_systemdsystemunitdir" != "xno"], [
1985 AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
1989 AC_ARG_WITH([smack],
1990 AS_HELP_STRING([--with-smack], [build with SMACK support]),
1993 AS_IF([test "x$with_smack" = xyes], [
1994 AC_DEFINE([HAVE_SMACK], [1], [Add SMACK support])
1998 AC_ARG_WITH([bashcompletiondir],
1999 AS_HELP_STRING([--with-bashcompletiondir=DIR], [Bash completions directory]),
2001 [AS_IF([`$PKG_CONFIG --exists bash-completion`], [
2002 with_bashcompletiondir=`$PKG_CONFIG --variable=completionsdir bash-completion`
2004 with_bashcompletiondir=${datadir}/bash-completion/completions
2007 AC_SUBST([bashcompletiondir], [$with_bashcompletiondir])
2009 AC_ARG_ENABLE([bash-completion],
2010 AS_HELP_STRING([--disable-bash-completion], [do not install bash completion files]),
2011 [], [enable_bash_completion=yes]
2014 AM_CONDITIONAL([BUILD_BASH_COMPLETION], [test "x$enable_bash_completion" = xyes])
2017 AC_ARG_WITH([python],
2018 AS_HELP_STRING([--without-python], [do not build python bindings, use --with-python={2,3} to force version]),
2019 [], [with_python=check withval=check]
2024 AS_IF([test "x$with_python" != xno], [
2025 # We follow distributions default and look for PKG module name "python"
2026 # (minimal version is 2) but if major version is explicitly specified by
2027 # --with-python=2 or --with-python=3 then we look for PKG module "python2" or
2029 AS_IF([test "x$withval" != xno -a "x$withval" != xyes -a "x$withval" != xcheck],
2030 [pymajor="$withval"; PYTHON=python${pymajor}], [pymajor="2"])
2032 # check for python interpreter
2033 AM_PATH_PYTHON([$pymajor], [have_python=yes], [have_python=no])
2034 AS_CASE([$with_python:$have_python],
2036 [AC_MSG_ERROR([python selected but python interpreter not found])],
2038 [AC_MSG_WARN([python interpreter not found, do not build python bindings])],
2040 # check for python development stuff
2041 [PKG_CHECK_MODULES([PYTHON], [python-$PYTHON_VERSION],
2042 [have_libpython=yes], [have_libpython=no])]
2047 AC_ARG_ENABLE([pylibmount],
2048 AS_HELP_STRING([--disable-pylibmount], [do not build pylibmount]),
2049 [], [UL_DEFAULT_ENABLE([pylibmount], [check])]
2051 UL_BUILD_INIT([pylibmount])
2052 UL_REQUIRES_HAVE([pylibmount], [libpython], [libpython])
2053 UL_REQUIRES_BUILD([pylibmount], [libmount])
2054 AM_CONDITIONAL([BUILD_PYLIBMOUNT], [test "x$build_pylibmount" = "xyes"])
2056 # We need to introduce a verbatim dependency into the Makefile, without automake
2057 # trying to interpret it, so push it as a AM_SUBST_NOTMAKE variable.
2058 verbatim_pylibmount_dependency='
2060 # pylibmountexec module must be installed after usrlib_exec libraries,
2061 # otherwise the libtool relink step will fail to find libmount.la and
2062 # will try -lmount which is possibly not available.
2063 install-pylibmountexecLTLIBRARIES: install-usrlib_execLTLIBRARIES
2066 AC_SUBST([verbatim_pylibmount_dependency])
2067 AM_SUBST_NOTMAKE([verbatim_pylibmount_dependency])
2069 AC_ARG_ENABLE([pg-bell],
2070 AS_HELP_STRING([--disable-pg-bell], [let pg not ring the bell on invalid keys]),
2071 [], [enable_pg_bell=yes]
2074 AS_IF([test "x$enable_pg_bell" = xyes], [
2075 AC_DEFINE([PG_BELL], [1], [Should pg ring the bell on invalid keys?])
2079 AC_DEFUN([FS_PATHS_DEFAULT], [/sbin:/sbin/fs.d:/sbin/fs])
2080 AC_ARG_ENABLE([fs-paths-default],
2081 AS_HELP_STRING([--enable-fs-paths-default=paths], [default search path for fs helpers @<:@FS_PATHS_DEFAULT@:>@]),
2082 [AS_CASE([$enableval],
2083 [yes], [fs_paths_defaults="FS_PATHS_DEFAULT"],
2084 [no], [fs_paths_defaults=""],
2085 [fs_paths_defaults="$enableval"]
2087 [fs_paths_defaults="FS_PATHS_DEFAULT"]
2089 AC_ARG_ENABLE([fs-paths-extra],
2090 AS_HELP_STRING([--enable-fs-paths-extra=paths], [additional search paths for fs helpers]),
2091 [AS_CASE([$enableval],
2092 [yes|no], [fs_paths_extra=""],
2093 [fs_paths_extra="$enableval"]
2097 fs_paths="$fs_paths_defaults"
2098 AS_IF([test "x$fs_paths_extra" != "x"], [
2099 AS_IF([test "x$fs_paths" != "x"], [
2100 fs_paths="${fs_paths}:"
2102 fs_paths="${fs_paths}${fs_paths_extra}"
2104 AC_DEFINE_UNQUOTED([FS_SEARCH_PATH], "$fs_paths", [search path for fs helpers])
2107 AC_ARG_ENABLE([use-tty-group],
2108 AS_HELP_STRING([--disable-use-tty-group], [do not install wall and write setgid tty]),
2109 [], [enable_use_tty_group=yes]
2111 AM_CONDITIONAL([USE_TTY_GROUP], [test "x$enable_use_tty_group" = xyes])
2113 AS_IF([test "x$enable_use_tty_group" = xyes], [
2114 AC_DEFINE([USE_TTY_GROUP], [1], [Should wall and write be installed setgid tty?])
2118 AC_ARG_ENABLE([sulogin-emergency-mount],
2119 AS_HELP_STRING([--enable-sulogin-emergency-mount],
2120 [use emergency mount of /dev and /proc for sulogin]),
2121 [], [enable_sulogin_emergency_mount=no]
2124 AS_IF([test "x$enable_sulogin_emergency_mount" = xyes], [
2125 AC_DEFINE([USE_SULOGIN_EMERGENCY_MOUNT], [1],
2126 [Should sulogin use a emergency mount of /dev and /proc?])
2130 AC_ARG_ENABLE([usrdir-path],
2131 AS_HELP_STRING([--enable-usrdir-path], [use only /usr paths in PATH env. variable (recommended on systems with /bin -> /usr/bin symlinks)]),
2132 [], [enable_usrdir_path=no]
2135 AS_IF([test "x$enable_usrdir_path" == xyes], [
2136 AC_DEFINE([USE_USRDIR_PATHS_ONLY], [1], [Define to 1 to remove /bin and /sbin from PATH env.variable])
2140 AC_ARG_ENABLE([makeinstall-chown],
2141 AS_HELP_STRING([--disable-makeinstall-chown], [do not do chown-like operations during "make install"]),
2142 [], [enable_makeinstall_chown=yes]
2144 AM_CONDITIONAL([MAKEINSTALL_DO_CHOWN], [test "x$enable_makeinstall_chown" = xyes])
2147 AC_ARG_ENABLE([makeinstall-setuid],
2148 AS_HELP_STRING([--disable-makeinstall-setuid], [do not do setuid chmod operations during "make install"]),
2149 [], [enable_makeinstall_setuid=yes]
2151 AM_CONDITIONAL([MAKEINSTALL_DO_SETUID], [test "x$enable_makeinstall_setuid" = xyes])
2154 AC_ARG_ENABLE([colors-default],
2155 AS_HELP_STRING([--disable-colors-default], [do not colorize output from utils by default]),
2156 [], [enable_colors_default=yes]
2158 AS_IF([test "x$enable_colors_default" = xyes], [
2159 AC_DEFINE([USE_COLORS_BY_DEFAULT], [1], [Enables colorized output from utils by default])
2163 AC_ARG_VAR([SUID_CFLAGS],
2164 [CFLAGS used for binaries which are usually with the suid bit])
2165 AC_ARG_VAR([SUID_LDFLAGS],
2166 [LDFLAGS used for binaries which are usually with the suid bit])
2168 AC_ARG_VAR([DAEMON_CFLAGS],
2169 [CFLAGS used for binaries which are usually executed as daemons])
2170 AC_ARG_VAR([DAEMON_LDFLAGS],
2171 [LDFLAGS used for binaries which are usually executed as daemons])
2173 AC_ARG_VAR([SOLIB_CFLAGS],
2174 [CFLAGS used for shared libraries])
2175 AC_ARG_VAR([SOLIB_LDFLAGS],
2176 [LDFLAGS used for shared libraries])
2178 AC_ARG_VAR([ADJTIME_PATH],
2179 [Path to hwclock adjtime file, default /etc/adjtime])
2180 AS_IF([test "x$ADJTIME_PATH" = x], [ADJTIME_PATH="/etc/adjtime"])
2181 AC_DEFINE_UNQUOTED([CONFIG_ADJTIME_PATH], "$ADJTIME_PATH", [Path to hwclock adjtime file])
2187 AC_CONFIG_HEADERS([config.h])
2190 # Don't use configure.ac to replace install paths! See Makefile PATHFILES for
2195 libblkid/docs/Makefile
2196 libblkid/docs/version.xml
2197 libblkid/src/blkid.h
2198 libfdisk/docs/Makefile
2199 libfdisk/docs/version.xml
2200 libfdisk/src/libfdisk.h
2201 libmount/docs/Makefile
2202 libmount/docs/version.xml
2203 libmount/src/libmount.h
2204 libsmartcols/docs/Makefile
2205 libsmartcols/docs/version.xml
2206 libsmartcols/src/libsmartcols.h
2213 ${PACKAGE} ${VERSION}
2216 exec prefix: ${exec_prefix}
2218 localstatedir: ${localstatedir}
2222 includedir: ${includedir}
2223 usrbin_execdir: ${usrbin_execdir}
2224 usrsbin_execdir: ${usrsbin_execdir}
2225 usrlib_execdir: ${usrlib_execdir}
2229 suid cflags: ${SUID_CFLAGS}
2231 suid ldflags: ${SUID_LDFLAGS}
2234 Python version: ${PYTHON_VERSION}
2235 Python libs: ${pyexecdir}
2237 Bash completions: ${with_bashcompletiondir}
2238 Systemd support: ${have_systemd}
2239 Btrfs support: ${have_btrfs}
2240 Wide-char support: ${build_widechar}
2246 Type 'make' or 'make <utilname>' to compile.