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])
108 dnl Compiler warnings
109 UL_WARN_ADD([-fno-common])
111 UL_WARN_ADD([-Werror=sequence-point])
112 UL_WARN_ADD([-Wextra])
113 UL_WARN_ADD([-Wextra-semi])
114 UL_WARN_ADD([-Wembedded-directive])
115 UL_WARN_ADD([-Wmissing-declarations])
116 UL_WARN_ADD([-Wmissing-parameter-type])
117 UL_WARN_ADD([-Wmissing-prototypes])
118 UL_WARN_ADD([-Wno-missing-field-initializers])
119 UL_WARN_ADD([-Wredundant-decls])
120 UL_WARN_ADD([-Wsign-compare])
121 UL_WARN_ADD([-Wtype-limits])
122 UL_WARN_ADD([-Wuninitialized])
123 UL_WARN_ADD([-Wunused-but-set-parameter])
124 UL_WARN_ADD([-Wunused-but-set-variable])
125 UL_WARN_ADD([-Wunused-parameter])
126 UL_WARN_ADD([-Wunused-result])
127 UL_WARN_ADD([-Wunused-variable])
128 UL_WARN_ADD([-Wnested-externs])
129 UL_WARN_ADD([-Wpointer-arith])
130 UL_WARN_ADD([-Wstrict-prototypes])
131 UL_WARN_ADD([-Wformat-security])
132 UL_WARN_ADD([-Wimplicit-function-declaration])
133 AC_SUBST([WARN_CFLAGS])
135 UL_WARN_ADD([-Wno-clobbered], [BSD_WARN_CFLAGS])
136 AC_SUBST([BSD_WARN_CFLAGS])
137 UL_WARN_ADD([-Wno-unused-parameter], [NO_UNUSED_WARN_CFLAGS])
138 AC_SUBST([NO_UNUSED_WARN_CFLAGS])
143 dnl check supported linker flags
146 m4_ifndef([PKG_PROG_PKG_CONFIG],
147 [m4_fatal([Could not locate the pkg-config autoconf
148 macros. These are usually located in /usr/share/aclocal/pkg.m4.
149 If your macros are in a different location, try setting the
150 environment variable AL_OPTS="-I/other/macro/dir" before running
151 ./autogen.sh or autoreconf again.])])
154 GTK_DOC_CHECK([1.10])
155 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([linux/blkzoned.h])
281 AC_CHECK_HEADERS([security/openpam.h], [], [], [
282 #ifdef HAVE_SECURITY_PAM_APPL_H
283 #include <security/pam_appl.h>
287 AC_CHECK_HEADERS([langinfo.h],
288 [AM_CONDITIONAL([HAVE_LANGINFO], [true])],
289 [AM_CONDITIONAL([HAVE_LANGINFO], [false])])
291 dnl Convert some ac_cv_header_* variables to have_*
293 have_linux_blkzoned_h=$ac_cv_header_linux_blkzoned_h
294 have_linux_btrfs_h=$ac_cv_header_linux_btrfs_h
295 have_linux_raw_h=$ac_cv_header_linux_raw_h
296 have_linux_securebits_h=$ac_cv_header_linux_securebits_h
297 have_linux_watchdog_h=$ac_cv_header_linux_watchdog_h
298 have_security_pam_appl_h=$ac_cv_header_security_pam_appl_h
299 have_security_pam_misc_h=$ac_cv_header_security_pam_misc_h
300 have_security_openpam_h=$ac_cv_header_security_openpam_h
301 have_shadow_h=$ac_cv_header_shadow_h
302 have_sys_signalfd_h=$ac_cv_header_sys_signalfd_h
303 have_utmpx_h=$ac_cv_header_utmpx_h
305 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
310 struct tm *tm = localtime(0);
311 if (a == -1) /* false */
312 sleep(tm->tm_gmtoff);
314 [AC_DEFINE([HAVE_TM_GMTOFF], [1], [Does struct tm have a field tm_gmtoff?])
317 AC_CHECK_MEMBERS([struct termios.c_line],,,
318 [[#include <termios.h>]])
320 AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec],,,
321 [#include <sys/stat.h>])
323 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
325 #ifdef HAVE_SYS_SWAP_H
326 # include <sys/swap.h>
330 [[swapon("/dev/null", 0);]])],
331 [AC_DEFINE([SWAPON_HAS_TWO_ARGS], [1], [Is swapon() declared with two parameters?])
333 [AC_MSG_NOTICE([Your libc thinks that swapon has 1 arg only.])
337 AC_CHECK_DECLS([_NL_TIME_WEEK_1STDAY],[],[],[[#include <langinfo.h>]])
339 AC_CHECK_DECL([llseek],
340 [AC_DEFINE([HAVE_LLSEEK_PROTOTYPE], [1],
341 [Define to 1 if have llseek prototype])],
343 [#include <unistd.h>])
345 AC_CHECK_DECL([lseek64],
346 [AC_DEFINE([HAVE_LSEEK64_PROTOTYPE], [1],
347 [Define to 1 if have lseek64 prototype])],
349 [#define _LARGEFILE_SOURCE
350 #define _LARGEFILE64_SOURCE
351 #include <unistd.h>])
353 AC_CHECK_DECL([environ],
354 [AC_DEFINE([HAVE_ENVIRON_DECL], [1],
355 [Define to 1 if have **environ prototype])],
358 AC_CHECK_DECL([strsignal],
359 [AC_DEFINE([HAVE_STRSIGNAL_DECL], [1],
360 [Define to 1 if have strsignal function prototype])],
363 AC_CHECK_DECL([TIOCGLCKTRMIOS],
364 [have_tiocglcktrmios=yes], [have_tiocglcktrmios=no],
365 [#include <sys/ioctl.h>])
366 AC_CHECK_DECL([SOCK_CLOEXEC],
367 [have_sock_cloexec=yes], [have_sock_cloexec=no],
368 [#include <sys/types.h>
369 #include <sys/socket.h>])
370 AC_CHECK_DECL([SOCK_NONBLOCK],
371 [have_sock_nonblock=yes], [have_sock_nonblock=no],
372 [#include <sys/types.h>
373 #include <sys/socket.h>])
374 AC_CHECK_DECL([SO_PASSCRED],
375 [have_so_passcred=yes], [have_so_passcred=no],
376 [#include <sys/types.h>
377 #include <sys/socket.h>])
429 AC_CHECK_FUNCS([openat fstatat unlinkat], [have_openat=yes], [have_openat=no])
430 AC_CHECK_FUNCS([ioperm iopl], [have_io=yes])
431 AC_CHECK_FUNCS([futimens], [have_futimens=yes])
432 AC_CHECK_FUNCS([inotify_init1], [have_inotify_init1=yes])
433 AC_CHECK_FUNCS([open_memstream], [have_open_memstream=yes],[have_open_memstream=no])
434 AC_CHECK_FUNCS([reboot], [have_reboot=yes],[have_reboot=no])
435 AC_CHECK_FUNCS([updwtmpx updwtmpx], [have_gnu_utmpx=yes], [have_gnu_utmpx=no])
437 AM_CONDITIONAL([HAVE_OPENAT], [test "x$have_openat" = xyes])
440 AC_CHECK_FUNCS([isnan], [],
441 [AC_CHECK_LIB([m], [isnan], [MATH_LIBS="-lm"])]
442 [AC_CHECK_LIB([m], [__isnan], [MATH_LIBS="-lm"])]
444 AC_SUBST([MATH_LIBS])
447 dnl lib/mononotic.c may require -lrt
448 AC_CHECK_FUNCS([clock_gettime], [],
449 [AC_CHECK_LIB([rt], [clock_gettime], [REALTIME_LIBS="-lrt"])]
453 AC_CHECK_FUNCS([timer_create],
455 [AC_CHECK_LIB([rt], [timer_create], [
459 AC_SEARCH_LIBS([timer_create], [rt], [
462 REALTIME_LIBS="-lrt -lpthread"
468 AC_SUBST([REALTIME_LIBS])
471 AC_CHECK_LIB([rtas], [rtas_get_sysparm], [
473 AC_DEFINE_UNQUOTED([HAVE_LIBRTAS], [1], [Define if librtas exists]), [],
475 AC_SUBST([RTAS_LIBS])
478 AC_CHECK_MEMBER([struct sockaddr.sa_len],
479 AC_DEFINE_UNQUOTED([HAVE_SA_LEN], [1], [Define if struct sockaddr contains sa_len]), [],
480 [#include <sys/types.h>
481 #include <sys/socket.h>])
484 AC_SEARCH_LIBS([socket], [socket],
485 [AS_IF([test x"$ac_cv_search_socket" != x"none required"],
486 [SOCKET_LIBS="$SOCKET_LIBS -lsocket"])
488 AC_SUBST([SOCKET_LIBS])
492 AC_CHECK_FUNCS([dirfd], [have_dirfd=yes], [have_dirfd=no])
493 AS_IF([test x"$have_dirfd" = xno], [
494 AC_CHECK_DECLS([dirfd],
495 [have_dirfd=yes], [have_dirfd=no],
496 [#include <sys/types.h>
497 #include <dirent.h>])
501 AS_IF([test x"$have_dirfd" = xno], [
502 AC_CHECK_MEMBERS([DIR.dd_fd],
503 [have_ddfd=yes], [have_ddfd=no],
504 [#include <sys/types.h>
505 #include <dirent.h>])
508 AS_CASE([$have_dirfd:$have_ddfd],
510 [AC_MSG_ERROR([cannot find a method to get filedescriptor of directory])]
514 AC_MSG_CHECKING([whether program_invocation_short_name is defined])
515 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
518 program_invocation_short_name = "test";
521 AC_DEFINE([HAVE_PROGRAM_INVOCATION_SHORT_NAME], [1],
522 [Define if program_invocation_short_name is defined])
528 AC_MSG_CHECKING([whether __progname is defined])
529 AC_LINK_IFELSE([AC_LANG_PROGRAM([extern char *__progname;],
530 [if (*__progname == 0) return 1;])],
531 AC_DEFINE([HAVE___PROGNAME], [1], [Define if __progname is defined])
532 AC_MSG_RESULT([yes]),
535 dnl Static compilation
536 m4_define([UL_STATIC_PROGRAMS], [losetup, mount, umount, fdisk, sfdisk, blkid, nsenter, unshare])
538 AC_ARG_ENABLE([static-programs],
539 [AS_HELP_STRING([--enable-static-programs=LIST],
540 [link static the programs in LIST (comma-separated,
541 supported for ]m4_defn([UL_STATIC_PROGRAMS])[)])])
543 AS_CASE([$enable_static_programs],
545 [enable_static_programs=m4_quote(UL_STATIC_PROGRAMS)],
547 [enable_static_programs=]
550 dnl Set all the individual AM_CONDITIONALs
551 m4_foreach([UL_PRG], m4_defn([UL_STATIC_PROGRAMS]), [
552 AS_CASE([,$enable_static_programs,],
553 [*,UL_PRG,*], [static_[]UL_PRG=yes]
555 AS_IF([test "x$static_[]UL_PRG" = xyes], [AC_MSG_NOTICE([enable static build: UL_PRG.])])
556 AM_CONDITIONAL([HAVE_STATIC_]m4_toupper(UL_PRG),
557 [test "x$static_[]UL_PRG" = xyes])
561 AC_ARG_ENABLE([all-programs],
562 AS_HELP_STRING([--disable-all-programs], [disable everything, might be overridden by --enable-<name>]),
563 [], [enable_all_programs=undefined]
566 AS_CASE([$enable_all_programs],
567 [yes], [AC_MSG_WARN([force to build all programs by default])
568 ul_default_estate=check],
569 [no], [AC_MSG_WARN([disable all programs by default])
570 ul_default_estate=no]
576 AC_DEFUN([UL_SCANF_TYPE_MODIFIER], [dnl
584 i = sscanf("x", $1, &s);
585 if (i == 1 && *s == 'x')
591 AC_CACHE_VAL([scanf_cv_alloc_modifier],
592 AC_RUN_IFELSE([AC_LANG_SOURCE([UL_SCANF_TYPE_MODIFIER(["%ms"])])],
593 [scanf_cv_alloc_modifier=ms],
594 AC_RUN_IFELSE([AC_LANG_SOURCE([UL_SCANF_TYPE_MODIFIER(["%as"])])],
595 [scanf_cv_alloc_modifier=as],
596 [scanf_cv_alloc_modifier=no]
600 [AC_COMPILE_IFELSE([AC_LANG_SOURCE([
604 #if defined(__GLIBC__) && !defined(__UCLIBC__)
606 #if !(__GLIBC_PREREQ(2, 7))
607 #error %m is not available
610 #elif defined(_POSIX_VERSION)
612 #if _POSIX_VERSION < 200809L
613 #error %m is not available
617 #error Your C-library is not supported.
620 [scanf_cv_alloc_modifier=ms],
621 [scanf_cv_alloc_modifier=no])]
625 AC_MSG_CHECKING([scanf string alloc modifiers])
626 AS_CASE([$scanf_cv_alloc_modifier],
628 [AC_MSG_RESULT([(%ms) yes])
629 AC_DEFINE([HAVE_SCANF_MS_MODIFIER], [1], [scanf %ms modifier])
630 have_scanf_alloc_modifier=yes],
632 [AC_MSG_RESULT([(%as) yes])
633 have_scanf_alloc_modifier=yes
634 AC_DEFINE([HAVE_SCANF_AS_MODIFIER], [1], [scanf %as modifier])],
636 have_scanf_alloc_modifier=no]
640 AC_ARG_WITH([util], AS_HELP_STRING([--without-util], [compile without libutil]),
643 AS_IF([test "x$with_util" = xno], [
644 AM_CONDITIONAL([HAVE_UTIL], [false])
647 UL_CHECK_LIB([util], [openpty])
651 AC_CHECK_TYPES([union semun], [], [], [[
654 AC_CHECK_TYPES([loff_t])
657 AC_ARG_ENABLE([widechar],
658 AS_HELP_STRING([--disable-widechar], [do not compile wide character support]),
659 [], [enable_widechar=check]
661 UL_BUILD_INIT([widechar])
662 UL_REQUIRES_COMPILE([widechar], [[
670 if (w == WEOF) exit(1);
676 AS_IF([test "x$build_widechar" = xyes ], [
677 AC_DEFINE([HAVE_WIDECHAR], [1], [Do we have wide character support?])
681 AC_CHECK_TYPES([cpu_set_t], [have_cpu_set_t=yes], [], [[
685 AM_CONDITIONAL([HAVE_CPU_SET_T], [test "x$have_cpu_set_t" = xyes])
687 AC_CHECK_TYPES([sighandler_t], [], [], [[
691 AC_CHECK_DECLS([CPU_ALLOC], [], [], [[
695 # on Solaris, you can't mix and match standards, since we use c99
696 # aparently at this stage, XOPEN_SOURCE will conflict. As workaround,
697 # check for crypt.h and use that without XOPEN_SOURCE.
698 AC_CHECK_HEADERS([crypt.h])
699 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
703 #define _XOPEN_SOURCE
707 char *c = crypt("abc","pw");
710 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
714 #define _XOPEN_SOURCE
718 char *c = crypt("abc","pw");
720 AC_DEFINE([HAVE_LIBCRYPT], [1], [Do we need -lcrypt?])
723 AC_MSG_ERROR([crypt() is not available])
726 AM_CONDITIONAL([HAVE_LIBCRYPT], [test "x$have_libcrypt" = xyes])
729 AC_ARG_WITH([selinux],
730 AS_HELP_STRING([--with-selinux], [compile with SELinux support]),
731 [], [with_selinux=no]
734 AS_IF([test "x$with_selinux" = xno], [
735 AM_CONDITIONAL([HAVE_SELINUX], [false])
737 PKG_CHECK_MODULES([SELINUX], [libselinux >= 2.0],
738 [AC_DEFINE([HAVE_LIBSELINUX], [1], [Define if SELinux is available])
739 UL_PKG_STATIC([SELINUX_LIBS_STATIC], [libselinux])
740 AM_CONDITIONAL([HAVE_SELINUX], [true])
744 AS_CASE([$with_selinux:$have_selinux],
745 [yes:no], [AC_MSG_ERROR([SELinux selected but libselinux not found or too old])]
748 AS_IF([test "x$have_selinux" = xyes], [
749 UL_SET_FLAGS([], [], [$SELINUX_LIBS])
750 # This function is missing in old libselinux 1.xx versions
751 AC_CHECK_FUNCS([security_get_initial_context])
755 AC_SUBST([SELINUX_LIBS])
756 AC_SUBST([SELINUX_LIBS_STATIC])
760 AS_HELP_STRING([--with-audit], [compile with audit support]),
764 AS_IF([test "x$with_audit" = xno], [
765 AM_CONDITIONAL([HAVE_AUDIT], [false])
767 UL_CHECK_LIB([audit], [audit_log_user_message])
768 AS_CASE([$with_audit:$have_audit],
770 [AC_MSG_ERROR([Audit selected but libaudit not found (or does not support audit_log_user_message())])]
774 AC_ARG_WITH([udev], AS_HELP_STRING([--without-udev], [compile without udev support]),
778 AS_IF([test "x$with_udev" = xno], [
779 AM_CONDITIONAL([HAVE_UDEV], [false])
781 UL_CHECK_LIB([udev], [udev_new])
782 AS_CASE([$with_udev:$have_udev],
784 [AC_MSG_ERROR([udev selected but libudev not found])]
789 dnl wide-char ncurses
790 AC_ARG_WITH([ncursesw],
791 AS_HELP_STRING([--with-ncursesw], [build with wide-char ncurses, enabled by default]),
792 [], [with_ncursesw=auto]
795 AS_IF([test "x$with_ncursesw" != xno], [
796 UL_NCURSES_CHECK([ncursesw])
797 AS_IF([test "x$have_ncursesw" = xyes], [
798 AC_DEFINE([HAVE_LIBNCURSESW], [1], [Define if ncursesw library available])
799 CURSES_LIB_NAME="ncursesw"
800 AC_CHECK_HEADERS([ncursesw/ncurses.h ncurses.h])
803 AS_CASE([$with_ncursesw:$have_ncursesw],
804 [yes:no], [AC_MSG_ERROR([ncursesw selected, but library not found])])
808 AC_ARG_WITH([ncurses],
809 AS_HELP_STRING([--with-ncurses], [build with non-wide ncurses, disabled by default]),
810 [], [with_ncurses=auto]
814 AS_CASE([$with_ncurses:$build_widechar],
815 [yes:yes], [AC_MSG_ERROR([wide-char support enabled, but non-wide ncurses selects])])
817 AS_IF([test "x$have_ncursesw" = xno -a "x$with_ncurses" != xno ], [
818 UL_NCURSES_CHECK([ncurses])
819 AS_IF([test "x$have_ncurses" = xyes], [
820 AC_DEFINE([HAVE_LIBNCURSES], [1], [Define if ncurses library available])
821 CURSES_LIB_NAME="ncurses"
822 AC_CHECK_HEADERS([ncurses/ncurses.h ncurses.h])
825 AS_CASE([$with_ncurses:$have_ncurses],
826 [yes:no], [AC_MSG_ERROR([ncurses selected, but library not found])])
828 AC_SUBST([NCURSES_CFLAGS])
829 AC_SUBST([NCURSES_LIBS])
830 AM_CONDITIONAL([HAVE_NCURSES], [test "x$have_ncursesw" = xyes -o "x$have_ncurses" = xyes])
834 AS_HELP_STRING([--with-slang], [compile cfdisk with slang rather than ncurses]),
838 AS_IF([test "x$with_slang" = xyes], [
839 AC_CHECK_HEADERS([slang.h slang/slang.h])
840 AC_CHECK_HEADERS([slcurses.h slang/slcurses.h],
841 [have_slang=yes], [], [
844 #elif defined(HAVE_SLANG_SLANG_H)
845 #include <slang/slang.h>
848 AS_IF([test "x$have_slang" = xno], [
849 AC_MSG_ERROR([slang selected but slcurses.h not found])],
850 [CURSES_LIB_NAME=slang
853 AM_CONDITIONAL([HAVE_SLANG], [test "x$have_slang" = xyes])
856 AS_IF([test "x$have_slang" = xyes -o "x$have_ncursesw" = xyes -o "x$have_ncurses" = xyes], [
857 AC_CHECK_LIB([$CURSES_LIB_NAME], use_default_colors, [
858 AC_DEFINE(HAVE_USE_DEFAULT_COLORS, 1,
859 [Define if curses library has the use_default_colors().])
861 AC_CHECK_LIB([$CURSES_LIB_NAME], resizeterm, [
862 AC_DEFINE(HAVE_RESIZETERM, 1,
863 [Define if curses library has the resizeterm().])
868 AC_ARG_WITH([tinfo], AS_HELP_STRING([--without-tinfo], [compile without libtinfo]),
869 [], [with_tinfo=auto]
872 AS_IF([test "x$with_tinfo" != xno], [
873 dnl Try pkg-config for libtinfo
874 PKG_CHECK_MODULES(TINFO, [tinfo], [
875 dnl pkg-config success
877 UL_PKG_STATIC([TINFO_LIBS_STATIC], [tinfo])], [
879 dnl If pkg-config failed, fall back to classic searching.
880 AC_CHECK_LIB([tinfo], [tgetent], [
883 TINFO_LIBS_STATIC="-ltinfo"
887 AC_SUBST([TINFO_LIBS])
888 AC_SUBST([TINFO_LIBS_STATIC])
889 AC_SUBST([TINFO_CFLAGS])
890 AM_CONDITIONAL([HAVE_TINFO], [test "x$have_tinfo" = xyes])
891 AS_IF([test "x$have_tinfo" = xyes], [
892 AC_DEFINE(HAVE_LIBTINFO, 1, [Define if libtinfo available.])
896 AC_ARG_WITH([readline],
897 AS_HELP_STRING([--with-readline], [compile with GNU Readline support]),
898 [], [with_readline=auto]
901 AS_IF([test "x$with_readline" = xno], [
902 AM_CONDITIONAL([HAVE_READLINE], [false])
904 UL_CHECK_LIB([readline], [readline])
905 AS_CASE([$with_readline:$have_readline],
907 [AC_MSG_ERROR([readline selected but libreadline not found ])],
909 [READLINE_LIBS="-lreadline"
910 READLINE_LIBS_STATIC="-lreadline $TINFO_LIBS_STATIC"]
913 AC_SUBST([READLINE_LIBS])
914 AC_SUBST([READLINE_LIBS_STATIC])
917 AC_ARG_WITH([utempter],
918 AS_HELP_STRING([--with-utempter], [compile script(1) with libutempter]),
919 [], [with_utempter=no]
922 AS_IF([test "x$with_utempter" = xyes], [
923 UL_CHECK_LIB([utempter], [utempter_add_record])
924 AS_IF([test "x$have_utempter" = xno], [
925 AC_MSG_ERROR([utempter selected but libutempter not found])
928 AM_CONDITIONAL([HAVE_UTEMPTER], [false])
935 AC_ARG_ENABLE([libuuid],
936 AS_HELP_STRING([--disable-libuuid], [do not build libuuid and uuid utilities]),
937 [], [UL_DEFAULT_ENABLE([libuuid], [yes])]
939 UL_BUILD_INIT([libuuid])
940 AC_SUBST([LIBUUID_VERSION])
941 AC_SUBST([LIBUUID_VERSION_INFO])
942 AM_CONDITIONAL(BUILD_LIBUUID, test "x$build_libuuid" = xyes)
944 AC_ARG_ENABLE([libuuid-force-uuidd],
945 AS_HELP_STRING([--enable-libuuid-force-uuidd], [support uuidd even though the daemon is not built]),
946 [], [enable_libuuid_force_uuidd=no]
949 AS_IF([test "x$build_libuuid" = xyes], [
950 AC_DEFINE(HAVE_LIBUUID, 1, [Define to 1 if you have the -luuid.])
956 AC_ARG_ENABLE([libblkid],
957 AS_HELP_STRING([--disable-libblkid], [do not build libblkid and many related utilities]),
958 [], [UL_DEFAULT_ENABLE([libblkid], [check])]
960 UL_BUILD_INIT([libblkid])
961 UL_REQUIRES_HAVE([libblkid], [openat], [openat functions])
962 AC_SUBST([LIBBLKID_DATE])
963 AC_SUBST([LIBBLKID_VERSION])
964 AC_SUBST([LIBBLKID_VERSION_INFO])
965 AC_DEFINE_UNQUOTED([LIBBLKID_VERSION], ["$LIBBLKID_VERSION"], [libblkid version string])
966 AC_DEFINE_UNQUOTED([LIBBLKID_DATE], ["$LIBBLKID_DATE"], [libblkid date string])
967 AS_IF([test "x$build_libblkid" = xyes], [
968 AC_DEFINE([HAVE_LIBBLKID], [1], [Define to 1 if you have the -lblkid.])
970 AM_CONDITIONAL([BUILD_LIBBLKID], [test "x$build_libblkid" = xyes])
971 AM_CONDITIONAL([BUILD_LIBBLKID_TESTS], [test "x$build_libblkid" = xyes -a "x$enable_static" = xyes])
976 AC_ARG_ENABLE([libmount],
977 AS_HELP_STRING([--disable-libmount], [do not build libmount]),
978 [], [UL_DEFAULT_ENABLE([libmount], [check])]
980 UL_BUILD_INIT([libmount])
981 UL_REQUIRES_BUILD([libmount], [libblkid])
982 UL_REQUIRES_HAVE([libmount], [scanf_alloc_modifier], [scanf string alloc modifier])
983 AM_CONDITIONAL([BUILD_LIBMOUNT], [test "x$build_libmount" = xyes])
984 AM_CONDITIONAL([BUILD_LIBMOUNT_TESTS], [test "x$build_libmount" = xyes -a "x$enable_static" = xyes])
985 AS_IF([test "x$build_libmount" = xyes], [
986 AC_DEFINE(HAVE_LIBMOUNT, 1, [Define if libmount available.])
989 AC_SUBST([LIBMOUNT_VERSION])
990 AC_SUBST([LIBMOUNT_MAJOR_VERSION], $PACKAGE_VERSION_MAJOR)
991 AC_SUBST([LIBMOUNT_MINOR_VERSION], $PACKAGE_VERSION_MINOR)
992 AC_SUBST([LIBMOUNT_PATCH_VERSION], $PACKAGE_VERSION_RELEASE)
993 AC_SUBST([LIBMOUNT_VERSION_INFO])
994 AC_DEFINE_UNQUOTED([LIBMOUNT_VERSION], ["$LIBMOUNT_VERSION"], [libmount version string])
996 AC_ARG_ENABLE([libmount-support-mtab],
997 AS_HELP_STRING([--enable-libmount-support-mtab], [support /etc/mtab (default is use /proc/self/mountinfo)]),
998 [], [enable_libmount_support_mtab=no]
1001 AS_IF([test "x$enable_libmount_support_mtab" == xyes], [
1002 AC_DEFINE([USE_LIBMOUNT_SUPPORT_MTAB], [1], [Define to 1 if want to support mtab.])
1009 AC_ARG_ENABLE([libsmartcols],
1010 AS_HELP_STRING([--disable-libsmartcols], [do not build libsmartcols]),
1011 [], [UL_DEFAULT_ENABLE([libsmartcols], [yes])]
1013 UL_BUILD_INIT([libsmartcols])
1014 AM_CONDITIONAL([BUILD_LIBSMARTCOLS], [test "x$build_libsmartcols" = xyes])
1016 AC_SUBST([LIBSMARTCOLS_VERSION])
1017 AC_SUBST([LIBSMARTCOLS_VERSION_INFO])
1018 AC_DEFINE_UNQUOTED([LIBSMARTCOLS_VERSION], ["$LIBSMARTCOLS_VERSION"], [libsmartcols version string])
1024 AC_ARG_ENABLE([libfdisk],
1025 AS_HELP_STRING([--disable-libfdisk], [do not build libfdisk]),
1026 [], [UL_DEFAULT_ENABLE([libfdisk], [check])]
1028 UL_BUILD_INIT([libfdisk])
1029 UL_REQUIRES_BUILD([libfdisk], [libuuid])
1030 AM_CONDITIONAL([BUILD_LIBFDISK], [test "x$build_libfdisk" = xyes])
1031 AM_CONDITIONAL([BUILD_LIBFDISK_TESTS], [test "x$build_libfdisk" = xyes -a "x$enable_static" = xyes])
1033 AS_IF([test "x$build_libblkid" = xyes],
1034 [LIBFDISK_PC_REQUIRES="uuid blkid"],[LIBFDISK_PC_REQUIRES="uuid"])
1035 AC_SUBST([LIBFDISK_PC_REQUIRES])
1037 AC_SUBST([LIBFDISK_VERSION])
1038 AC_SUBST([LIBFDISK_MAJOR_VERSION], $PACKAGE_VERSION_MAJOR)
1039 AC_SUBST([LIBFDISK_MINOR_VERSION], $PACKAGE_VERSION_MINOR)
1040 AC_SUBST([LIBFDISK_PATCH_VERSION], $PACKAGE_VERSION_RELEASE)
1041 AC_SUBST([LIBFDISK_VERSION_INFO])
1042 AC_DEFINE_UNQUOTED([LIBFDISK_VERSION], ["$LIBFDISK_VERSION"], [libfdisk version string])
1045 UL_BUILD_INIT([fdisk], [check])
1046 UL_REQUIRES_HAVE([fdisk], [openat], [openat functions])
1047 UL_REQUIRES_BUILD([fdisk], [libfdisk])
1048 UL_REQUIRES_BUILD([fdisk], [libsmartcols])
1049 AM_CONDITIONAL([BUILD_FDISK], [test "x$build_fdisk" = xyes])
1052 UL_BUILD_INIT([sfdisk], [check])
1053 UL_REQUIRES_HAVE([sfdisk], [openat], [openat functions])
1054 UL_REQUIRES_BUILD([sfdisk], [libfdisk])
1055 UL_REQUIRES_BUILD([sfdisk], [libsmartcols])
1056 AM_CONDITIONAL([BUILD_SFDISK], [test "x$build_sfdisk" = xyes])
1059 UL_BUILD_INIT([cfdisk], [check])
1060 UL_REQUIRES_BUILD([cfdisk], [libfdisk])
1061 UL_REQUIRES_BUILD([cfdisk], [libsmartcols])
1062 UL_REQUIRES_HAVE([cfdisk], [open_memstream], [open_memstream function])
1063 UL_REQUIRES_HAVE([cfdisk], [ncursesw,slang,ncurses], [ncursesw, ncurses or slang library])
1064 AM_CONDITIONAL([BUILD_CFDISK], [test "x$build_cfdisk" = xyes])
1067 AC_ARG_ENABLE([mount],
1068 AS_HELP_STRING([--disable-mount], [do not build mount(8) and umount(8)]),
1069 [], [UL_DEFAULT_ENABLE([mount], [check])]
1071 UL_BUILD_INIT([mount])
1072 UL_REQUIRES_LINUX([mount])
1073 UL_REQUIRES_BUILD([mount], [libmount])
1074 AM_CONDITIONAL([BUILD_MOUNT], [test "x$build_mount" = xyes])
1077 AC_ARG_ENABLE([losetup],
1078 AS_HELP_STRING([--disable-losetup], [do not build losetup]),
1079 [], [UL_DEFAULT_ENABLE([losetup], [check])]
1081 UL_BUILD_INIT([losetup])
1082 UL_REQUIRES_LINUX([losetup])
1083 UL_REQUIRES_BUILD([losetup], [libsmartcols])
1084 AM_CONDITIONAL([BUILD_LOSETUP], [test "x$build_losetup" = xyes])
1086 AC_ARG_ENABLE([zramctl],
1087 AS_HELP_STRING([--disable-zramctl], [do not build zramctl]),
1088 [], [UL_DEFAULT_ENABLE([zramctl], [check])]
1090 UL_BUILD_INIT([zramctl])
1091 UL_REQUIRES_LINUX([zramctl])
1092 UL_REQUIRES_BUILD([zramctl], [libsmartcols])
1093 AM_CONDITIONAL([BUILD_ZRAMCTL], [test "x$build_zramctl" = xyes])
1095 AC_ARG_ENABLE([fsck],
1096 AS_HELP_STRING([--disable-fsck], [do not build fsck]),
1097 [], [UL_DEFAULT_ENABLE([fsck], [check])]
1099 UL_BUILD_INIT([fsck])
1100 UL_REQUIRES_BUILD([fsck], [libmount])
1101 AM_CONDITIONAL([BUILD_FSCK], [test "x$build_fsck" = xyes])
1104 AC_ARG_ENABLE([partx],
1105 AS_HELP_STRING([--disable-partx], [do not build addpart, delpart, partx]),
1106 [], [UL_DEFAULT_ENABLE([partx], [check])]
1108 UL_BUILD_INIT([partx])
1109 UL_REQUIRES_LINUX([partx])
1110 UL_REQUIRES_BUILD([partx], [libblkid])
1111 UL_REQUIRES_BUILD([partx], [libsmartcols])
1112 AM_CONDITIONAL([BUILD_PARTX], [test "x$build_partx" = xyes])
1115 AC_ARG_ENABLE([uuidd],
1116 AS_HELP_STRING([--disable-uuidd], [do not build the uuid daemon]),
1117 [], [UL_DEFAULT_ENABLE([uuidd], [check])]
1119 UL_BUILD_INIT([uuidd])
1120 UL_REQUIRES_BUILD([uuidd], [libuuid])
1121 UL_REQUIRES_HAVE([uuidd], [timer], [timer_create function])
1122 UL_REQUIRES_HAVE([uuidd], [sys_signalfd_h], [sys/signalfd.h header])
1123 AS_IF([test "x$build_uuidd" = xyes || test "x$enable_libuuid_force_uuidd" == xyes ], [
1124 AC_DEFINE([HAVE_UUIDD], [1], [Define to 1 if you want to use uuid daemon.])
1126 AM_CONDITIONAL([BUILD_UUIDD], [test "x$build_uuidd" = xyes])
1129 UL_BUILD_INIT([uuidgen], [check])
1130 UL_REQUIRES_BUILD([uuidgen], [libuuid])
1131 AM_CONDITIONAL([BUILD_UUIDGEN], [test "x$build_uuidgen" = xyes])
1133 UL_BUILD_INIT([blkid], [check])
1134 UL_REQUIRES_BUILD([blkid], [libblkid])
1135 AM_CONDITIONAL([BUILD_BLKID], [test "x$build_blkid" = xyes])
1137 UL_BUILD_INIT([findfs], [check])
1138 UL_REQUIRES_BUILD([findfs], [libblkid])
1139 AM_CONDITIONAL([BUILD_FINDFS], [test "x$build_findfs" = xyes])
1141 UL_BUILD_INIT([wipefs], [check])
1142 UL_REQUIRES_BUILD([wipefs], [libblkid])
1143 AM_CONDITIONAL([BUILD_WIPEFS], [test "x$build_wipefs" = xyes])
1145 UL_BUILD_INIT([findmnt], [check])
1146 UL_REQUIRES_BUILD([findmnt], [libmount])
1147 UL_REQUIRES_BUILD([findmnt], [libblkid])
1148 UL_REQUIRES_BUILD([findmnt], [libsmartcols])
1149 AM_CONDITIONAL([BUILD_FINDMNT], [test "x$build_findmnt" = xyes])
1152 AC_ARG_ENABLE([mountpoint],
1153 AS_HELP_STRING([--disable-mountpoint], [do not build mountpoint]),
1154 [], [UL_DEFAULT_ENABLE([mountpoint], [check])]
1156 UL_BUILD_INIT([mountpoint])
1157 UL_REQUIRES_BUILD([mountpoint], [libmount])
1158 AM_CONDITIONAL([BUILD_MOUNTPOINT], [test "x$build_mountpoint" = xyes])
1161 AC_ARG_ENABLE([fallocate],
1162 AS_HELP_STRING([--disable-fallocate], [do not build fallocate]),
1163 [], [UL_DEFAULT_ENABLE([fallocate], [check])]
1165 UL_BUILD_INIT([fallocate])
1166 UL_REQUIRES_LINUX([fallocate])
1167 UL_REQUIRES_SYSCALL_CHECK([fallocate], [UL_CHECK_SYSCALL([fallocate])])
1168 AM_CONDITIONAL([BUILD_FALLOCATE], [test "x$build_fallocate" = xyes])
1170 AS_IF([test "x$build_fallocate" = xyes], [
1171 dnl check for valid fallocate() function
1172 dnl with 32 bits glibc 2.10, fallocate() exists but not fallocate64()
1173 dnl when _FILE_OFFSET_BITS==64, fallocate() is redirect to fallocate64()
1174 dnl and program can't be linked.
1175 dnl AC_CHECK_FUNC can't catch such errors since it's redefining
1176 dnl function prototype.
1177 AC_MSG_CHECKING([for valid fallocate() function])
1178 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1179 #ifdef HAVE_UNISTD_H
1180 # include <unistd.h>
1182 #ifdef HAVE_SYS_TYPES_H
1183 # include <sys/types.h>
1185 #ifdef HAVE_LINUX_FALLOC_H
1186 # include <linux/falloc.h>
1193 ret = fallocate(0, FALLOC_FL_KEEP_SIZE, 0xfffffffful, 0xfffffffful);
1198 AC_MSG_RESULT([yes])
1199 AC_DEFINE([HAVE_FALLOCATE], [1], [Have valid fallocate() function])],[
1200 AC_MSG_RESULT([no])])
1203 AS_IF([test "x$build_fallocate" = xyes], [
1204 dnl check for valid posix_fallocate() function
1205 AC_MSG_CHECKING([for valid posix_fallocate() function])
1206 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1207 #ifdef HAVE_UNISTD_H
1208 # include <unistd.h>
1210 #ifdef HAVE_SYS_TYPES_H
1211 # include <sys/types.h>
1213 #ifdef HAVE_LINUX_FALLOC_H
1214 # include <linux/falloc.h>
1221 ret = posix_fallocate(0, 0xfffffffful, 0xfffffffful);
1226 AC_MSG_RESULT([yes])
1227 AC_DEFINE([HAVE_POSIX_FALLOCATE], [1], [Have valid posix_fallocate() function])],[
1228 AC_MSG_RESULT([no])])
1232 AC_ARG_ENABLE([unshare],
1233 AS_HELP_STRING([--disable-unshare], [do not build unshare]),
1234 [], [UL_DEFAULT_ENABLE([unshare], [check])]
1236 UL_BUILD_INIT([unshare])
1237 UL_REQUIRES_LINUX([unshare])
1238 UL_REQUIRES_SYSCALL_CHECK([unshare], [UL_CHECK_SYSCALL([unshare])])
1239 AM_CONDITIONAL([BUILD_UNSHARE], [test "x$build_unshare" = xyes])
1240 AC_CHECK_FUNCS([unshare])
1242 AC_ARG_ENABLE([nsenter],
1243 AS_HELP_STRING([--disable-nsenter], [do not build nsenter]),
1244 [], [UL_DEFAULT_ENABLE([nsenter], [check])]
1246 UL_BUILD_INIT([nsenter])
1247 UL_REQUIRES_LINUX([nsenter])
1248 UL_REQUIRES_SYSCALL_CHECK([nsenter], [UL_CHECK_SYSCALL([setns])], [setns])
1249 AM_CONDITIONAL([BUILD_NSENTER], [test "x$build_nsenter" = xyes])
1250 AC_CHECK_FUNCS([setns])
1253 AC_ARG_WITH([cap_ng],
1254 AS_HELP_STRING([--without-cap-ng], [compile without libcap-ng]),
1255 [], [with_cap_ng=auto]
1257 AS_IF([test "x$with_cap_ng" = xno], [
1258 AM_CONDITIONAL([HAVE_CAP_NG], [false])
1261 UL_CHECK_LIB([cap-ng], [capng_apply], [cap_ng])
1265 AC_ARG_ENABLE([setpriv],
1266 AS_HELP_STRING([--disable-setpriv], [do not build setpriv]),
1267 [], [UL_DEFAULT_ENABLE([setpriv], [check])]
1269 UL_BUILD_INIT([setpriv])
1270 UL_REQUIRES_LINUX([setpriv])
1271 UL_REQUIRES_HAVE([setpriv], [linux_securebits_h], [securebits.h header file])
1272 UL_REQUIRES_HAVE([setpriv], [cap_ng], [libcap-ng library])
1273 AM_CONDITIONAL([BUILD_SETPRIV], [test "x$build_setpriv" = xyes])
1276 AC_ARG_ENABLE([eject],
1277 AS_HELP_STRING([--disable-eject], [do not build eject]),
1278 [], [UL_DEFAULT_ENABLE([eject], [check])]
1280 UL_BUILD_INIT([eject])
1281 UL_REQUIRES_LINUX([eject])
1282 UL_REQUIRES_BUILD([eject], [libmount])
1283 AM_CONDITIONAL([BUILD_EJECT], [test "x$build_eject" = xyes])
1286 AC_ARG_ENABLE([agetty],
1287 AS_HELP_STRING([--disable-agetty], [do not build agetty]),
1288 [], [UL_DEFAULT_ENABLE([agetty], [check])]
1290 UL_BUILD_INIT([agetty])
1291 UL_REQUIRES_HAVE([agetty], [utmpx_h], [utmpx.h header])
1292 UL_REQUIRES_HAVE([agetty], [gnu_utmpx], [GNU utmpx fucntions])
1293 AM_CONDITIONAL([BUILD_AGETTY], [test "x$build_agetty" = xyes])
1294 AS_IF([test "x$have_futimens" = xyes -a "x$have_inotify_init1" = xyes ], [
1295 AC_DEFINE([AGETTY_RELOAD], [1], [Enable agetty --reload feature])
1297 AC_MSG_WARN([futimens or inotify_init1 not found; agetty(8) will not provide ---reload functionality])
1301 AC_ARG_ENABLE([plymouth_support],
1302 AS_HELP_STRING([--disable-plymouth_support], [don not care about plymouth in sylogin(8) and agetty(8)]),
1303 [], [enable_plymouth_support=check]
1305 UL_BUILD_INIT([plymouth_support])
1306 UL_REQUIRES_HAVE([plymouth_support], [tiocglcktrmios], [TIOCGLCKTRMIOS flag])
1307 UL_REQUIRES_HAVE([plymouth_support], [sock_cloexec], [SOCK_CLOEXEC flag])
1308 UL_REQUIRES_HAVE([plymouth_support], [sock_nonblock], [SOCK_NONBLOCK flag])
1309 UL_REQUIRES_HAVE([plymouth_support], [so_passcred], [SO_PASSCRED flag])
1310 AM_CONDITIONAL([USE_PLYMOUTH_SUPPORT], [test "x$build_plymouth_support" = xyes])
1311 AS_IF([test "x$build_plymouth_support" = xyes ], [
1312 AC_DEFINE([USE_PLYMOUTH_SUPPORT], [1], [Enable plymouth support feature for sulogin and aggety])
1317 AS_HELP_STRING([--without-libz], [compile without libz]),
1318 [], [with_libz=auto]
1320 AS_IF([test "x$with_libz" = xno], [have_z=no], [
1321 AC_CHECK_LIB([z], [crc32], [have_z=yes], [have_z=no])
1325 AC_ARG_ENABLE([cramfs],
1326 AS_HELP_STRING([--disable-cramfs], [do not build fsck.cramfs, mkfs.cramfs]),
1327 [], [UL_DEFAULT_ENABLE([cramfs], [check])]
1329 UL_BUILD_INIT([cramfs])
1330 UL_REQUIRES_HAVE([cramfs], [z], [z library])
1331 AM_CONDITIONAL([BUILD_CRAMFS], [test "x$build_cramfs" = xyes])
1334 AC_ARG_ENABLE([bfs],
1335 AS_HELP_STRING([--disable-bfs], [do not build mkfs.bfs]),
1336 [], [UL_DEFAULT_ENABLE([bfs], [yes])]
1338 UL_BUILD_INIT([bfs])
1339 AM_CONDITIONAL([BUILD_BFS], [test "x$build_bfs" = xyes])
1342 AC_ARG_ENABLE([minix],
1343 AS_HELP_STRING([--disable-minix], [do not build fsck.minix, mkfs.minix]),
1344 [], [UL_DEFAULT_ENABLE([minix], [yes])]
1346 UL_BUILD_INIT([minix])
1347 AM_CONDITIONAL([BUILD_MINIX], [test "x$build_minix" = xyes])
1350 AC_ARG_ENABLE([fdformat],
1351 AS_HELP_STRING([--disable-fdformat], [do not build fdformat]),
1352 [], [UL_DEFAULT_ENABLE([fdformat], [check])]
1354 UL_BUILD_INIT([fdformat])
1355 UL_REQUIRES_LINUX([fdformat])
1356 AM_CONDITIONAL([BUILD_FDFORMAT], [test "x$build_fdformat" = xyes])
1359 AC_ARG_ENABLE([hwclock],
1360 AS_HELP_STRING([--disable-hwclock], [do not build hwclock]),
1361 [], [UL_DEFAULT_ENABLE([hwclock], [check])]
1363 have_linuxdummy=$linux_os
1365 UL_BUILD_INIT([hwclock])
1366 UL_REQUIRES_HAVE([hwclock], [io, linuxdummy], [ioperm iopl function or Linux])
1367 AM_CONDITIONAL([BUILD_HWCLOCK], [test "x$build_hwclock" = xyes])
1370 UL_BUILD_INIT([mkfs], [yes])
1371 AM_CONDITIONAL([BUILD_MKFS], [test "x$build_mkfs" = xyes])
1373 UL_BUILD_INIT([isosize], [yes])
1374 AM_CONDITIONAL([BUILD_ISOSIZE], [test "x$build_isosize" = xyes])
1377 UL_BUILD_INIT([fstrim], [check])
1378 UL_REQUIRES_LINUX([fstrim])
1379 UL_REQUIRES_BUILD([fstrim], [libmount])
1380 AM_CONDITIONAL([BUILD_FSTRIM], [test "x$build_fstrim" = xyes])
1383 UL_BUILD_INIT([swapon], [check])
1384 UL_REQUIRES_LINUX([swapon])
1385 UL_REQUIRES_BUILD([swapon], [libblkid])
1386 UL_REQUIRES_BUILD([swapon], [libmount])
1387 UL_REQUIRES_BUILD([swapon], [libsmartcols])
1388 AM_CONDITIONAL([BUILD_SWAPON], [test "x$build_swapon" = xyes])
1391 UL_BUILD_INIT([lsblk], [check])
1392 UL_REQUIRES_LINUX([lsblk])
1393 UL_REQUIRES_BUILD([lsblk], [libblkid])
1394 UL_REQUIRES_BUILD([lsblk], [libmount])
1395 UL_REQUIRES_BUILD([lsblk], [libsmartcols])
1396 AM_CONDITIONAL([BUILD_LSBLK], [test "x$build_lsblk" = xyes])
1399 UL_BUILD_INIT([lscpu], [check])
1400 UL_REQUIRES_LINUX([lscpu])
1401 UL_REQUIRES_BUILD([lscpu], [libsmartcols])
1402 UL_REQUIRES_HAVE([lscpu], [cpu_set_t], [cpu_set_t type])
1403 AM_CONDITIONAL([BUILD_LSCPU], [test "x$build_lscpu" = xyes])
1406 AC_ARG_ENABLE([lslogins],
1407 AS_HELP_STRING([--disable-lslogins], [do not build lslogins]),
1408 [], [UL_DEFAULT_ENABLE([lslogins], [check])]
1410 UL_BUILD_INIT([lslogins])
1411 UL_REQUIRES_BUILD([lslogins], [libsmartcols])
1412 UL_REQUIRES_HAVE([lslogins], [shadow_h], [shadow.h header])
1413 UL_REQUIRES_HAVE([lslogins], [utmpx_h], [utmpx.h header])
1414 UL_REQUIRES_HAVE([lslogins], [gnu_utmpx], [GNU utmpx fucntions])
1415 AM_CONDITIONAL([BUILD_LSLOGINS], [test "x$build_lslogins" = xyes])
1418 UL_BUILD_INIT([chcpu], [check])
1419 UL_REQUIRES_LINUX([chcpu])
1420 UL_REQUIRES_HAVE([chcpu], [cpu_set_t], [cpu_set_t type])
1421 AM_CONDITIONAL([BUILD_CHCPU], [test "x$build_chcpu" = xyes])
1424 AC_ARG_ENABLE([wdctl],
1425 AS_HELP_STRING([--disable-wdctl], [do not build wdctl]),
1426 [], [UL_DEFAULT_ENABLE([wdctl], [check])]
1428 UL_BUILD_INIT([wdctl])
1429 UL_REQUIRES_LINUX([wdctl])
1430 UL_REQUIRES_BUILD([wdctl], [libsmartcols])
1431 UL_REQUIRES_HAVE([wdctl], [linux_watchdog_h], [linux/watchdog.h header file])
1432 AM_CONDITIONAL([BUILD_WDCTL], [test "x$build_wdctl" = xyes])
1435 UL_BUILD_INIT([swaplabel], [check])
1436 UL_REQUIRES_BUILD([swaplabel], [libblkid])
1437 AM_CONDITIONAL([BUILD_SWAPLABEL], [test "x$build_swaplabel" = xyes])
1440 UL_BUILD_INIT([mkswap], [yes])
1441 AM_CONDITIONAL([BUILD_MKSWAP], [test "x$build_mkswap" = xyes])
1442 AS_IF([test "x$build_mkswap" = xyes -a "x$build_libuuid" != xyes], [
1443 AC_MSG_WARN([uuid library is not found; mkswap(8) will not generate UUIDs])
1447 AC_ARG_ENABLE([cal],
1448 AS_HELP_STRING([--disable-cal], [do not build cal]),
1449 [], [UL_DEFAULT_ENABLE([cal], [check])]
1451 UL_BUILD_INIT([cal])
1452 AM_CONDITIONAL([BUILD_CAL], [test "x$build_cal" = xyes])
1454 AC_ARG_ENABLE([logger],
1455 AS_HELP_STRING([--disable-logger], [do not build logger]),
1456 [], [UL_DEFAULT_ENABLE([logger], [check])]
1458 UL_BUILD_INIT([logger])
1459 AM_CONDITIONAL([BUILD_LOGGER], [test "x$build_logger" = xyes])
1461 UL_BUILD_INIT([look], [yes])
1462 AM_CONDITIONAL([BUILD_LOOK], [test "x$build_look" = xyes])
1464 UL_BUILD_INIT([mcookie], [yes])
1465 AM_CONDITIONAL([BUILD_MCOOKIE], [test "x$build_mcookie" = xyes])
1467 UL_BUILD_INIT([namei], [yes])
1468 AM_CONDITIONAL([BUILD_NAMEI], [test "x$build_namei" = xyes])
1470 UL_BUILD_INIT([whereis], [yes])
1471 AM_CONDITIONAL([BUILD_WHEREIS], [test "x$build_whereis" = xyes])
1473 UL_BUILD_INIT([getopt], [yes])
1474 AM_CONDITIONAL([BUILD_GETOPT], [test "x$build_getopt" = xyes])
1477 UL_BUILD_INIT([blockdev], [check])
1478 UL_REQUIRES_LINUX([blockdev])
1479 AM_CONDITIONAL([BUILD_BLOCKDEV], [test "x$build_blockdev" = xyes])
1482 UL_BUILD_INIT([prlimit], [check])
1483 UL_REQUIRES_LINUX([prlimit])
1484 UL_REQUIRES_BUILD([prlimit], [libsmartcols])
1485 UL_REQUIRES_SYSCALL_CHECK([prlimit], [UL_CHECK_SYSCALL([prlimit64])], [prlimit64])
1486 AM_CONDITIONAL([BUILD_PRLIMIT], [test "x$build_prlimit" = xyes])
1487 AS_IF([test "x$build_prlimit" = xyes], [
1488 AC_CHECK_FUNCS([prlimit])
1492 UL_BUILD_INIT([lslocks], [check])
1493 UL_REQUIRES_LINUX([lslocks])
1494 UL_REQUIRES_BUILD([lslocks], [libmount])
1495 UL_REQUIRES_BUILD([lslocks], [libsmartcols])
1496 AM_CONDITIONAL([BUILD_LSLOCKS], [test "x$build_lslocks" = xyes])
1499 AC_ARG_ENABLE([switch_root],
1500 AS_HELP_STRING([--disable-switch_root], [do not build switch_root]),
1501 [], [UL_DEFAULT_ENABLE([switch_root], [check])]
1503 UL_BUILD_INIT([switch_root])
1504 UL_REQUIRES_LINUX([switch_root])
1505 UL_REQUIRES_HAVE([switch_root], [openat], [openat function])
1506 AM_CONDITIONAL([BUILD_SWITCH_ROOT], [test "x$build_switch_root" = xyes])
1509 AC_ARG_ENABLE([pivot_root],
1510 AS_HELP_STRING([--disable-pivot_root], [do not build pivot_root]),
1511 [], [UL_DEFAULT_ENABLE([pivot_root], [check])]
1513 UL_BUILD_INIT([pivot_root])
1514 UL_REQUIRES_LINUX([pivot_root])
1515 UL_REQUIRES_SYSCALL_CHECK([pivot_root], [UL_CHECK_SYSCALL([pivot_root])])
1516 AM_CONDITIONAL([BUILD_PIVOT_ROOT], [test "x$build_pivot_root" = xyes])
1519 UL_BUILD_INIT([flock], [check])
1520 UL_REQUIRES_HAVE([flock], [timer], [timer_create function])
1521 AM_CONDITIONAL([BUILD_FLOCK], [test "x$build_flock" = xyes])
1524 AC_ARG_ENABLE([lsmem],
1525 AS_HELP_STRING([--disable-lsmem], [do not build lsmem]),
1526 [], [UL_DEFAULT_ENABLE([lsmem], [check])]
1528 UL_BUILD_INIT([lsmem])
1529 UL_REQUIRES_LINUX([lsmem])
1530 AM_CONDITIONAL([BUILD_LSMEM], [test "x$build_lsmem" = xyes])
1533 AC_ARG_ENABLE([chmem],
1534 AS_HELP_STRING([--disable-chmem], [do not build chmem]),
1535 [], [UL_DEFAULT_ENABLE([chmem], [check])]
1537 UL_BUILD_INIT([chmem])
1538 UL_REQUIRES_LINUX([chmem])
1539 AM_CONDITIONAL([BUILD_CHMEM], [test "x$build_chmem" = xyes])
1541 UL_BUILD_INIT([ipcmk], [yes])
1542 AM_CONDITIONAL([BUILD_IPCMK], [test "x$build_ipcmk" = xyes])
1545 AC_ARG_ENABLE([ipcrm],
1546 AS_HELP_STRING([--disable-ipcrm], [do not build ipcrm]),
1547 [], [UL_DEFAULT_ENABLE([ipcrm], [yes])]
1549 UL_BUILD_INIT([ipcrm])
1550 AM_CONDITIONAL([BUILD_IPCRM], [test "x$build_ipcrm" = xyes])
1552 AC_ARG_ENABLE([ipcs],
1553 AS_HELP_STRING([--disable-ipcs], [do not build ipcs]),
1554 [], [UL_DEFAULT_ENABLE([ipcs], [yes])]
1556 UL_BUILD_INIT([ipcs])
1557 AM_CONDITIONAL([BUILD_IPCS], [test "x$build_ipcs" = xyes])
1559 UL_BUILD_INIT([lsipc], [check])
1560 UL_REQUIRES_LINUX([lsipc])
1561 UL_REQUIRES_BUILD([lsipc], [libsmartcols])
1562 AM_CONDITIONAL([BUILD_LSIPC], [test "x$build_lsipc" = xyes])
1564 UL_BUILD_INIT([lsns], [check])
1565 UL_REQUIRES_LINUX([lsns])
1566 UL_REQUIRES_BUILD([lsns], [libsmartcols])
1567 AM_CONDITIONAL([BUILD_LSNS], [test "x$build_lsns" = xyes])
1569 UL_BUILD_INIT([renice], [yes])
1570 AM_CONDITIONAL([BUILD_RENICE], [test "x$build_renice" = xyes])
1572 UL_BUILD_INIT([setsid], [yes])
1573 AM_CONDITIONAL([BUILD_SETSID], [test "x$build_setsid" = xyes])
1575 UL_BUILD_INIT([readprofile], [check])
1576 UL_REQUIRES_LINUX([readprofile])
1577 AM_CONDITIONAL([BUILD_READPROFILE], [test "x$build_readprofile" = xyes])
1579 UL_BUILD_INIT([dmesg], [check])
1580 UL_REQUIRES_LINUX([dmesg])
1581 AM_CONDITIONAL([BUILD_DMESG], [test "x$build_dmesg" = xyes])
1583 UL_BUILD_INIT([ctrlaltdel], [check])
1584 UL_REQUIRES_LINUX([ctrlaltdel])
1585 dnl we assume reboot() to be the 1-argument variant, because even considering
1586 dnl widely used alternative C libraries like uclibc, dietlibc and musl,
1587 dnl reboot() with multiple arguments is yet only found in glibc versions
1588 dnl earlier than 2.x.
1589 UL_REQUIRES_HAVE([ctrlaltdel], [reboot], [reboot function])
1590 AM_CONDITIONAL([BUILD_CTRLALTDEL], [test "x$build_ctrlaltdel" = xyes])
1592 UL_BUILD_INIT([fincore], [check])
1593 UL_REQUIRES_LINUX([fincore])
1594 UL_REQUIRES_BUILD([fincore], [libsmartcols])
1595 AM_CONDITIONAL([BUILD_FINCORE], [test "x$build_fincore" = xyes])
1597 UL_BUILD_INIT([fsfreeze], [check])
1598 UL_REQUIRES_LINUX([fsfreeze])
1599 AM_CONDITIONAL([BUILD_FSFREEZE], [test "x$build_fsfreeze" = xyes])
1601 UL_BUILD_INIT([blkdiscard], [check])
1602 UL_REQUIRES_LINUX([blkdiscard])
1603 AM_CONDITIONAL([BUILD_BLKDISCARD], [test "x$build_blkdiscard" = xyes])
1605 UL_BUILD_INIT([blkzone], [check])
1606 UL_REQUIRES_LINUX([blkzone])
1607 UL_REQUIRES_HAVE([blkzone], [linux_blkzoned_h], [linux/blkzoned.h header])
1608 AM_CONDITIONAL([BUILD_BLKZONE], [test "x$build_blkzone" = xyes])
1610 UL_BUILD_INIT([ldattach], [check])
1611 UL_REQUIRES_LINUX([ldattach])
1612 AM_CONDITIONAL([BUILD_LDATTACH], [test "x$build_ldattach" = xyes])
1614 UL_BUILD_INIT([rtcwake], [check])
1615 UL_REQUIRES_LINUX([rtcwake])
1616 AM_CONDITIONAL([BUILD_RTCWAKE], [test "x$build_rtcwake" = xyes])
1618 UL_BUILD_INIT([setarch], [check])
1619 UL_REQUIRES_LINUX([setarch])
1620 AM_CONDITIONAL([BUILD_SETARCH], [test "x$build_setarch" = xyes])
1622 UL_BUILD_INIT([script], [check])
1623 UL_REQUIRES_HAVE([script], [sys_signalfd_h], [sys/signalfd.h header])
1624 AM_CONDITIONAL([BUILD_SCRIPT], [test "x$build_script" = xyes])
1626 UL_BUILD_INIT([scriptreplay], [yes])
1627 AM_CONDITIONAL([BUILD_SCRIPTREPLAY], [test "x$build_scriptreplay" = xyes])
1629 UL_BUILD_INIT([col], [yes])
1630 AM_CONDITIONAL([BUILD_COL], [test "x$build_col" = xyes])
1632 UL_BUILD_INIT([colcrt], [yes])
1633 AM_CONDITIONAL([BUILD_COLCRT], [test "x$build_colcrt" = xyes])
1635 UL_BUILD_INIT([colrm], [yes])
1636 AM_CONDITIONAL([BUILD_COLRM], [test "x$build_colrm" = xyes])
1638 UL_BUILD_INIT([column], [yes])
1639 AM_CONDITIONAL([BUILD_COLUMN], [test "x$build_column" = xyes])
1641 UL_BUILD_INIT([hexdump], [yes])
1642 AM_CONDITIONAL([BUILD_HEXDUMP], [test "x$build_hexdump" = xyes])
1644 UL_BUILD_INIT([rev], [yes])
1645 AM_CONDITIONAL([BUILD_REV], [test "x$build_rev" = xyes])
1648 AC_ARG_ENABLE([tunelp],
1649 AS_HELP_STRING([--enable-tunelp], [build tunelp]),
1650 [], [UL_DEFAULT_ENABLE([tunelp], [no])]
1652 UL_BUILD_INIT([tunelp])
1653 UL_REQUIRES_LINUX([tunelp])
1654 AM_CONDITIONAL([BUILD_TUNELP], [test "x$build_tunelp" = xyes])
1657 AC_ARG_ENABLE([kill],
1658 AS_HELP_STRING([--disable-kill], [do not build kill]),
1659 [], [UL_DEFAULT_ENABLE([kill], [check])]
1661 UL_BUILD_INIT([kill])
1662 UL_REQUIRES_LINUX([kill])
1663 AM_CONDITIONAL([BUILD_KILL], [test "x$build_kill" = xyes])
1666 AC_ARG_ENABLE([last],
1667 AS_HELP_STRING([--disable-last], [do not build last]),
1668 [], [UL_DEFAULT_ENABLE([last], [check])]
1670 UL_BUILD_INIT([last])
1671 UL_REQUIRES_HAVE([last], [utmpx_h], [utmpx.h header])
1672 UL_REQUIRES_HAVE([last], [gnu_utmpx], [GNU utmpx fucntions])
1673 AM_CONDITIONAL([BUILD_LAST], [test "x$build_last" = xyes])
1676 AC_ARG_ENABLE([utmpdump],
1677 AS_HELP_STRING([--disable-utmpdump], [do not build utmpdump]),
1678 [], [UL_DEFAULT_ENABLE([utmpdump], [check])]
1680 UL_BUILD_INIT([utmpdump])
1681 UL_REQUIRES_HAVE([utmpdump], [utmpx_h], [utmpx.h header])
1682 UL_REQUIRES_HAVE([utmpdump], [gnu_utmpx], [GNU utmpx fucntions])
1683 AM_CONDITIONAL([BUILD_UTMPDUMP], [test "x$build_utmpdump" = xyes])
1686 AC_ARG_ENABLE([line],
1687 AS_HELP_STRING([--enable-line], [build line]),
1688 [], [UL_DEFAULT_ENABLE([line], [no])]
1690 UL_BUILD_INIT([line])
1691 AM_CONDITIONAL([BUILD_LINE], [test "x$build_line" = xyes])
1694 AC_ARG_ENABLE([mesg],
1695 AS_HELP_STRING([--disable-mesg], [do not build mesg]),
1696 [], [UL_DEFAULT_ENABLE([mesg], [yes])]
1698 UL_BUILD_INIT([mesg])
1699 AM_CONDITIONAL([BUILD_MESG], [test "x$build_mesg" = xyes])
1702 AC_ARG_ENABLE([raw],
1703 AS_HELP_STRING([--disable-raw], [do not build raw]),
1704 [], [UL_DEFAULT_ENABLE([raw], [check])]
1706 UL_BUILD_INIT([raw])
1707 UL_REQUIRES_LINUX([raw])
1708 UL_REQUIRES_HAVE([raw], [linux_raw_h], [raw.h header file])
1709 AM_CONDITIONAL([BUILD_RAW], [test "x$build_raw" = xyes])
1712 AC_ARG_ENABLE([rename],
1713 AS_HELP_STRING([--disable-rename], [do not build rename]),
1714 [], [UL_DEFAULT_ENABLE([rename], [yes])]
1716 UL_BUILD_INIT([rename])
1717 AM_CONDITIONAL([BUILD_RENAME], [test "x$build_rename" = xyes])
1720 AC_ARG_ENABLE([reset],
1721 AS_HELP_STRING([--enable-reset], [build reset]),
1722 [], [UL_DEFAULT_ENABLE([reset], [no])]
1724 UL_BUILD_INIT([reset])
1725 AM_CONDITIONAL([BUILD_RESET], [test "x$build_reset" = xyes])
1728 AC_ARG_ENABLE([vipw],
1729 AS_HELP_STRING([--enable-vipw], [build vipw]),
1730 [], [UL_DEFAULT_ENABLE([vipw], [no])]
1732 UL_BUILD_INIT([vipw])
1733 UL_REQUIRES_HAVE([vipw], [shadow_h], [shadow.h header])
1734 AM_CONDITIONAL([BUILD_VIPW], [test "x$build_vipw" = xyes])
1737 AC_ARG_ENABLE([newgrp],
1738 AS_HELP_STRING([--enable-newgrp], [build newgrp]),
1739 [], [UL_DEFAULT_ENABLE([newgrp], [no])]
1741 UL_BUILD_INIT([newgrp])
1742 AM_CONDITIONAL([BUILD_NEWGRP], [test "x$build_newgrp" = xyes])
1745 AC_ARG_WITH([user], AS_HELP_STRING([--without-user], [compile without libuser (remote chsh)]),
1746 [], [with_user=check]
1749 AS_IF([test "x$with_user" != xno], [
1750 PKG_CHECK_MODULES(LIBUSER,[libuser >= 0.58], [have_user=yes], [have_user=no])
1751 AS_CASE([$with_user:$have_user],
1753 [AC_MSG_ERROR([user selected but libuser not found])],
1755 [AC_DEFINE([HAVE_LIBUSER], [1], [Define if libuser is available])]
1757 # temporary solution, libuser has stupid .pc where are exported all
1758 # private dependencies to Requires: instead of Requires.private:
1759 AS_IF([test "x$have_user" = xyes], [
1763 AM_CONDITIONAL([HAVE_USER], [test "x$have_user" = xyes])
1765 AC_ARG_ENABLE([chfn-chsh-password],
1766 AS_HELP_STRING([--disable-chfn-chsh-password], [do not require the user to enter the password in chfn and chsh]),
1767 [], [enable_chfn_chsh_password=yes]
1770 AC_ARG_ENABLE([chfn-chsh],
1771 AS_HELP_STRING([--enable-chfn-chsh], [build chfn and chsh]),
1772 [], [UL_DEFAULT_ENABLE([chfn_chsh], [check])]
1774 UL_BUILD_INIT([chfn_chsh])
1775 UL_REQUIRES_HAVE([chfn_chsh], [shadow_h], [shadow.h header])
1777 AS_IF([test "x$enable_chfn_chsh_password" = xyes -o "x$have_user" = xyes], [
1778 UL_REQUIRES_HAVE([chfn_chsh], [security_pam_appl_h], [PAM header file])
1779 AC_DEFINE([CHFN_CHSH_PASSWORD], [1], [Should chfn and chsh require the user to enter the password?])
1781 AM_CONDITIONAL([BUILD_CHFN_CHSH], [test "x$build_chfn_chsh" = xyes])
1782 AM_CONDITIONAL([CHFN_CHSH_PASSWORD], [test "x$enable_chfn_chsh_password" = xyes])
1784 AC_ARG_ENABLE([chsh-only-listed],
1785 AS_HELP_STRING([--disable-chsh-only-listed], [chsh: allow shells not in /etc/shells]),
1786 [], enable_chsh_only_listed=yes
1789 AS_IF([test "x$enable_chsh_only_listed" = xyes], [
1790 AC_DEFINE([ONLY_LISTED_SHELLS], [1], [Should chsh allow only shells in /etc/shells?])
1794 AC_ARG_ENABLE([login],
1795 AS_HELP_STRING([--disable-login], [do not build login]),
1796 [], [UL_DEFAULT_ENABLE([login], [check])]
1798 UL_BUILD_INIT([login])
1799 UL_REQUIRES_HAVE([login], [security_pam_appl_h], [PAM header file])
1800 UL_REQUIRES_HAVE([login], [security_pam_misc_h, security_openpam_h], [PAM conversation functions])
1801 UL_REQUIRES_HAVE([login], [utmpx_h], [utmpx.h header])
1802 UL_REQUIRES_HAVE([login], [gnu_utmpx], [GNU utmpx fucntions])
1803 AM_CONDITIONAL([BUILD_LOGIN], [test "x$build_login" = xyes])
1805 AC_ARG_ENABLE([login-chown-vcs],
1806 AS_HELP_STRING([--enable-login-chown-vcs], [let login chown /dev/vcsN]),
1807 [], [enable_login_chown_vcs=no]
1810 AS_IF([test "x$enable_login_chown_vcs" = xyes], [
1811 AC_DEFINE([LOGIN_CHOWN_VCS], [1], [Should login chown /dev/vcsN?])
1814 AC_ARG_ENABLE([login-stat-mail],
1815 AS_HELP_STRING([--enable-login-stat-mail], [let login stat() the mailbox]),
1816 [], [enable_login_stat_mail=no]
1819 AS_IF([test "x$enable_login_stat_mail" = xyes], [
1820 AC_DEFINE([LOGIN_STAT_MAIL], [1], [Should login stat() the mailbox?])
1824 AC_ARG_ENABLE([nologin],
1825 AS_HELP_STRING([--disable-nologin], [do not build nologin]),
1826 [], [UL_DEFAULT_ENABLE([nologin], [yes])]
1828 UL_BUILD_INIT([nologin])
1829 AM_CONDITIONAL([BUILD_NOLOGIN], [test "x$build_nologin" = xyes])
1832 AC_ARG_ENABLE([sulogin],
1833 AS_HELP_STRING([--disable-sulogin], [do not build sulogin]),
1834 [], [UL_DEFAULT_ENABLE([sulogin], [check])]
1836 UL_BUILD_INIT([sulogin])
1837 UL_REQUIRES_HAVE([sulogin], [shadow_h], [shadow.h header])
1838 AM_CONDITIONAL([BUILD_SULOGIN], [test "x$build_sulogin" = xyes])
1842 AS_HELP_STRING([--disable-su], [do not build su]),
1843 [], [UL_DEFAULT_ENABLE([su], [check])]
1846 UL_REQUIRES_HAVE([su], [security_pam_appl_h], [PAM header file])
1847 UL_REQUIRES_HAVE([su], [utmpx_h], [utmpx.h header])
1848 UL_REQUIRES_HAVE([su], [gnu_utmpx], [GNU utmpx fucntions])
1849 AM_CONDITIONAL([BUILD_SU], [test "x$build_su" = xyes])
1852 AC_ARG_ENABLE([runuser],
1853 AS_HELP_STRING([--disable-runuser], [do not build runuser]),
1854 [], [UL_DEFAULT_ENABLE([runuser], [check])]
1856 UL_BUILD_INIT([runuser])
1857 UL_REQUIRES_HAVE([runuser], [security_pam_appl_h], [PAM header file])
1858 UL_REQUIRES_HAVE([runuser], [utmpx_h], [utmpx.h header])
1859 UL_REQUIRES_HAVE([runuser], [gnu_utmpx], [GNU utmpx fucntions])
1860 AM_CONDITIONAL([BUILD_RUNUSER], [test "x$build_runuser" = xyes])
1864 AS_HELP_STRING([--disable-ul], [do not build ul]),
1865 [], [UL_DEFAULT_ENABLE([ul], [check])]
1868 UL_REQUIRES_HAVE([ul], [ncursesw, tinfo, ncurses], [ncursesw, ncurses or tinfo libraries])
1869 AM_CONDITIONAL([BUILD_UL], [test "x$build_ul" = xyes])
1872 AC_ARG_ENABLE([more],
1873 AS_HELP_STRING([--disable-more], [do not build more]),
1874 [], [UL_DEFAULT_ENABLE([more], [check])]
1876 UL_BUILD_INIT([more])
1877 UL_REQUIRES_HAVE([more], [ncursesw, tinfo, ncurses, termcap], [ncursesw, ncurses, tinfo or termcap libraries])
1878 AM_CONDITIONAL([BUILD_MORE], [test "x$build_more" = xyes])
1882 AS_HELP_STRING([--enable-pg], [build pg]),
1883 [], [UL_DEFAULT_ENABLE([pg], [no])]
1886 UL_REQUIRES_HAVE([pg], [ncursesw, ncurses], [ncursesw or ncurses library])
1887 AM_CONDITIONAL([BUILD_PG], [test "x$build_pg" = xyes])
1890 AC_ARG_ENABLE([setterm],
1891 AS_HELP_STRING([--disable-setterm], [do not build setterm]),
1892 [], [UL_DEFAULT_ENABLE([setterm], [check])]
1894 UL_BUILD_INIT([setterm])
1895 UL_REQUIRES_LINUX([setterm])
1896 UL_REQUIRES_HAVE([setterm], [ncursesw, ncurses], [ncursesw or ncurses library])
1897 AM_CONDITIONAL([BUILD_SETTERM], [test "x$build_setterm" = xyes])
1899 # build_schedutils= is just configure-only variable to control
1900 # ionice, taskset and chrt
1901 AC_ARG_ENABLE([schedutils],
1902 AS_HELP_STRING([--disable-schedutils], [do not build chrt, ionice, taskset]),
1903 [], [UL_DEFAULT_ENABLE([schedutils], [check])]
1907 UL_ENABLE_ALIAS([ionice], [schedutils])
1908 UL_BUILD_INIT([ionice])
1909 UL_REQUIRES_SYSCALL_CHECK([ionice],
1910 [UL_CHECK_SYSCALL([ioprio_set],
1921 UL_REQUIRES_SYSCALL_CHECK([ionice],
1922 [UL_CHECK_SYSCALL([ioprio_get],
1933 AM_CONDITIONAL([BUILD_IONICE], [test "x$build_ionice" = xyes])
1936 UL_ENABLE_ALIAS([taskset], [schedutils])
1937 UL_BUILD_INIT([taskset])
1938 UL_REQUIRES_HAVE([taskset], [cpu_set_t], [cpu_set_t type])
1939 UL_REQUIRES_SYSCALL_CHECK([taskset],
1940 [UL_CHECK_SYSCALL([sched_getaffinity])],
1941 [sched_getaffinity])
1942 AM_CONDITIONAL([BUILD_TASKSET], [test "x$build_taskset" = xyes])
1946 AS_IF([test "x$ac_cv_func_sched_setscheduler" = xyes], [have_schedsetter=yes],
1947 [test "x$ac_cv_func_sched_setattr" = xyes], [have_schedsetter=yes])
1949 UL_ENABLE_ALIAS([chrt], [schedutils])
1950 UL_BUILD_INIT([chrt])
1951 UL_REQUIRES_HAVE([chrt], [schedsetter], [sched_set functions])
1952 AM_CONDITIONAL([BUILD_CHRT], [test "x$build_chrt" = xyes])
1954 AS_IF([test "x$build_chrt" = xyes], [
1955 UL_CHECK_SYSCALL([sched_setattr])
1959 AC_ARG_ENABLE([wall],
1960 AS_HELP_STRING([--disable-wall], [do not build wall]),
1961 [], [UL_DEFAULT_ENABLE([wall], [check])]
1963 UL_BUILD_INIT([wall])
1964 UL_REQUIRES_HAVE([wall], [utmpx_h], [utmpx.h header])
1965 AM_CONDITIONAL([BUILD_WALL], [test "x$build_wall" = xyes])
1968 AC_ARG_ENABLE([write],
1969 AS_HELP_STRING([--enable-write], [build write]),
1970 [], [UL_DEFAULT_ENABLE([write], [no])]
1972 UL_BUILD_INIT([write])
1973 UL_REQUIRES_HAVE([write], [utmpx_h], [utmpx.h header])
1974 UL_REQUIRES_HAVE([write], [gnu_utmpx], [GNU utmpx fucntions])
1975 AM_CONDITIONAL([BUILD_WRITE], [test "x$build_write" = xyes])
1978 AC_ARG_WITH([btrfs],
1979 AS_HELP_STRING([--with-btrfs], [build with support for btrfs]),
1980 [], [with_btrfs=check]
1983 AS_IF([test "x$with_btrfs" != xno], [
1984 AS_CASE([$with_btrfs:$have_linux_btrfs_h],
1986 [AC_MSG_ERROR([btrfs selected but linux/btrfs.h not found])],
1988 [AC_MSG_WARN([linux/btrfs.h not found, do not build with btrfs support])],
1991 AC_DEFINE([HAVE_BTRFS_SUPPORT], [1], [Define if btrfs stuff is available])]
1994 AM_CONDITIONAL([HAVE_BTRFS], [test "x$have_btrfs" = xyes])
1997 AC_ARG_WITH([systemd],
1998 AS_HELP_STRING([--with-systemd], [build with support for systemd]),
1999 [], [with_systemd=check]
2003 AS_IF([test "x$with_systemd" != xno], [
2004 # new version -- all libsystemd-* libs merged into libsystemd
2005 PKG_CHECK_MODULES([SYSTEMD], [libsystemd], [have_systemd=yes], [have_systemd=no])
2007 AS_IF([test "x$have_systemd" != "xyes"], [
2008 PKG_CHECK_MODULES([SYSTEMD_DAEMON], [libsystemd-daemon],
2009 [have_systemd_daemon=yes], [have_systemd_daemon=no])
2010 PKG_CHECK_MODULES([SYSTEMD_JOURNAL], [libsystemd-journal],
2011 [have_systemd_journal=yes], [have_systemd_journal=no])
2012 AS_IF([test "x$have_systemd_daemon" = "xyes" -a "x$have_systemd_journal" = "xyes" ],[
2015 AS_CASE([$with_systemd:$have_systemd],
2017 [AC_MSG_ERROR([systemd expected but libsystemd not found])],
2019 AC_DEFINE([HAVE_LIBSYSTEMD], [1], [Define if libsystemd is available])
2022 AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$have_systemd" = xyes])
2025 AC_ARG_WITH([systemdsystemunitdir],
2026 AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [directory for systemd service files]),
2027 [], [with_systemdsystemunitdir=`$PKG_CONFIG --variable=systemdsystemunitdir systemd`])
2029 AS_IF([test "x$with_systemdsystemunitdir" != "xno"], [
2030 AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
2034 AC_ARG_WITH([smack],
2035 AS_HELP_STRING([--with-smack], [build with SMACK support]),
2038 AS_IF([test "x$with_smack" = xyes], [
2039 AC_DEFINE([HAVE_SMACK], [1], [Add SMACK support])
2043 AC_ARG_WITH([bashcompletiondir],
2044 AS_HELP_STRING([--with-bashcompletiondir=DIR], [Bash completions directory]),
2046 [AS_IF([`$PKG_CONFIG --exists bash-completion`], [
2047 with_bashcompletiondir=`$PKG_CONFIG --variable=completionsdir bash-completion`
2049 with_bashcompletiondir=${datadir}/bash-completion/completions
2052 AC_SUBST([bashcompletiondir], [$with_bashcompletiondir])
2054 AC_ARG_ENABLE([bash-completion],
2055 AS_HELP_STRING([--disable-bash-completion], [do not install bash completion files]),
2056 [], [enable_bash_completion=yes]
2059 AM_CONDITIONAL([BUILD_BASH_COMPLETION], [test "x$enable_bash_completion" = xyes])
2062 AC_ARG_WITH([python],
2063 AS_HELP_STRING([--without-python], [do not build python bindings, use --with-python={2,3} to force version]),
2064 [], [with_python=check withval=check]
2069 AS_IF([test "x$with_python" != xno], [
2070 # We follow distributions default and look for PKG module name "python"
2071 # (minimal version is 2) but if major version is explicitly specified by
2072 # --with-python=2 or --with-python=3 then we look for PKG module "python2" or
2074 AS_IF([test "x$withval" != xno -a "x$withval" != xyes -a "x$withval" != xcheck],
2075 [pymajor="$withval"; PYTHON=python${pymajor}], [pymajor="2"])
2077 # check for python interpreter
2078 AM_PATH_PYTHON([$pymajor], [have_python=yes], [have_python=no])
2079 AS_CASE([$with_python:$have_python],
2081 [AC_MSG_ERROR([python selected but python interpreter not found])],
2083 [AC_MSG_WARN([python interpreter not found, do not build python bindings])],
2085 # check for python development stuff
2086 [PKG_CHECK_MODULES([PYTHON], [python-$PYTHON_VERSION],
2087 [have_libpython=yes], [have_libpython=no])]
2092 AC_ARG_ENABLE([pylibmount],
2093 AS_HELP_STRING([--disable-pylibmount], [do not build pylibmount]),
2094 [], [UL_DEFAULT_ENABLE([pylibmount], [check])]
2096 UL_BUILD_INIT([pylibmount])
2097 UL_REQUIRES_HAVE([pylibmount], [libpython], [libpython])
2098 UL_REQUIRES_BUILD([pylibmount], [libmount])
2099 AM_CONDITIONAL([BUILD_PYLIBMOUNT], [test "x$build_pylibmount" = "xyes"])
2101 # We need to introduce a verbatim dependency into the Makefile, without automake
2102 # trying to interpret it, so push it as a AM_SUBST_NOTMAKE variable.
2103 verbatim_pylibmount_dependency='
2105 # pylibmountexec module must be installed after usrlib_exec libraries,
2106 # otherwise the libtool relink step will fail to find libmount.la and
2107 # will try -lmount which is possibly not available.
2108 install-pylibmountexecLTLIBRARIES: install-usrlib_execLTLIBRARIES
2111 AC_SUBST([verbatim_pylibmount_dependency])
2112 AM_SUBST_NOTMAKE([verbatim_pylibmount_dependency])
2114 AC_ARG_ENABLE([pg-bell],
2115 AS_HELP_STRING([--disable-pg-bell], [let pg not ring the bell on invalid keys]),
2116 [], [enable_pg_bell=yes]
2119 AS_IF([test "x$enable_pg_bell" = xyes], [
2120 AC_DEFINE([PG_BELL], [1], [Should pg ring the bell on invalid keys?])
2124 AC_DEFUN([FS_PATHS_DEFAULT], [/sbin:/sbin/fs.d:/sbin/fs])
2125 AC_ARG_ENABLE([fs-paths-default],
2126 AS_HELP_STRING([--enable-fs-paths-default=paths], [default search path for fs helpers @<:@FS_PATHS_DEFAULT@:>@]),
2127 [AS_CASE([$enableval],
2128 [yes], [fs_paths_defaults="FS_PATHS_DEFAULT"],
2129 [no], [fs_paths_defaults=""],
2130 [fs_paths_defaults="$enableval"]
2132 [fs_paths_defaults="FS_PATHS_DEFAULT"]
2134 AC_ARG_ENABLE([fs-paths-extra],
2135 AS_HELP_STRING([--enable-fs-paths-extra=paths], [additional search paths for fs helpers]),
2136 [AS_CASE([$enableval],
2137 [yes|no], [fs_paths_extra=""],
2138 [fs_paths_extra="$enableval"]
2142 fs_paths="$fs_paths_defaults"
2143 AS_IF([test "x$fs_paths_extra" != "x"], [
2144 AS_IF([test "x$fs_paths" != "x"], [
2145 fs_paths="${fs_paths}:"
2147 fs_paths="${fs_paths}${fs_paths_extra}"
2149 AC_DEFINE_UNQUOTED([FS_SEARCH_PATH], "$fs_paths", [search path for fs helpers])
2152 AC_ARG_ENABLE([use-tty-group],
2153 AS_HELP_STRING([--disable-use-tty-group], [do not install wall and write setgid tty]),
2154 [], [enable_use_tty_group=yes]
2156 AM_CONDITIONAL([USE_TTY_GROUP], [test "x$enable_use_tty_group" = xyes])
2158 AS_IF([test "x$enable_use_tty_group" = xyes], [
2159 AC_DEFINE([USE_TTY_GROUP], [1], [Should wall and write be installed setgid tty?])
2163 AC_ARG_ENABLE([sulogin-emergency-mount],
2164 AS_HELP_STRING([--enable-sulogin-emergency-mount],
2165 [use emergency mount of /dev and /proc for sulogin]),
2166 [], [enable_sulogin_emergency_mount=no]
2169 AS_IF([test "x$enable_sulogin_emergency_mount" = xyes], [
2170 AC_DEFINE([USE_SULOGIN_EMERGENCY_MOUNT], [1],
2171 [Should sulogin use a emergency mount of /dev and /proc?])
2175 AC_ARG_ENABLE([usrdir-path],
2176 AS_HELP_STRING([--enable-usrdir-path], [use only /usr paths in PATH env. variable (recommended on systems with /bin -> /usr/bin symlinks)]),
2177 [], [enable_usrdir_path=no]
2180 AS_IF([test "x$enable_usrdir_path" == xyes], [
2181 AC_DEFINE([USE_USRDIR_PATHS_ONLY], [1], [Define to 1 to remove /bin and /sbin from PATH env.variable])
2185 AC_ARG_ENABLE([makeinstall-chown],
2186 AS_HELP_STRING([--disable-makeinstall-chown], [do not do chown-like operations during "make install"]),
2187 [], [enable_makeinstall_chown=yes]
2189 AM_CONDITIONAL([MAKEINSTALL_DO_CHOWN], [test "x$enable_makeinstall_chown" = xyes])
2192 AC_ARG_ENABLE([makeinstall-setuid],
2193 AS_HELP_STRING([--disable-makeinstall-setuid], [do not do setuid chmod operations during "make install"]),
2194 [], [enable_makeinstall_setuid=yes]
2196 AM_CONDITIONAL([MAKEINSTALL_DO_SETUID], [test "x$enable_makeinstall_setuid" = xyes])
2199 AC_ARG_ENABLE([colors-default],
2200 AS_HELP_STRING([--disable-colors-default], [do not colorize output from utils by default]),
2201 [], [enable_colors_default=yes]
2203 AS_IF([test "x$enable_colors_default" = xyes], [
2204 AC_DEFINE([USE_COLORS_BY_DEFAULT], [1], [Enables colorized output from utils by default])
2208 AC_ARG_VAR([SUID_CFLAGS],
2209 [CFLAGS used for binaries which are usually with the suid bit])
2210 AC_ARG_VAR([SUID_LDFLAGS],
2211 [LDFLAGS used for binaries which are usually with the suid bit])
2213 AC_ARG_VAR([DAEMON_CFLAGS],
2214 [CFLAGS used for binaries which are usually executed as daemons])
2215 AC_ARG_VAR([DAEMON_LDFLAGS],
2216 [LDFLAGS used for binaries which are usually executed as daemons])
2218 AC_ARG_VAR([SOLIB_CFLAGS],
2219 [CFLAGS used for shared libraries])
2220 AC_ARG_VAR([SOLIB_LDFLAGS],
2221 [LDFLAGS used for shared libraries])
2223 AC_ARG_VAR([ADJTIME_PATH],
2224 [Path to hwclock adjtime file, default /etc/adjtime])
2225 AS_IF([test "x$ADJTIME_PATH" = x], [ADJTIME_PATH="/etc/adjtime"])
2226 AC_DEFINE_UNQUOTED([CONFIG_ADJTIME_PATH], "$ADJTIME_PATH", [Path to hwclock adjtime file])
2232 AC_CONFIG_HEADERS([config.h])
2235 # Don't use configure.ac to replace install paths! See Makefile PATHFILES for
2240 libblkid/docs/Makefile
2241 libblkid/docs/version.xml
2242 libblkid/src/blkid.h
2243 libfdisk/docs/Makefile
2244 libfdisk/docs/version.xml
2245 libfdisk/src/libfdisk.h
2246 libmount/docs/Makefile
2247 libmount/docs/version.xml
2248 libmount/src/libmount.h
2249 libsmartcols/docs/Makefile
2250 libsmartcols/docs/version.xml
2251 libsmartcols/src/libsmartcols.h
2258 ${PACKAGE} ${VERSION}
2261 exec prefix: ${exec_prefix}
2263 localstatedir: ${localstatedir}
2267 includedir: ${includedir}
2268 usrbin_execdir: ${usrbin_execdir}
2269 usrsbin_execdir: ${usrsbin_execdir}
2270 usrlib_execdir: ${usrlib_execdir}
2274 suid cflags: ${SUID_CFLAGS}
2276 suid ldflags: ${SUID_LDFLAGS}
2279 Python version: ${PYTHON_VERSION}
2280 Python libs: ${pyexecdir}
2282 Bash completions: ${with_bashcompletiondir}
2283 Systemd support: ${have_systemd}
2284 Btrfs support: ${have_btrfs}
2285 Wide-char support: ${build_widechar}
2291 Type 'make' or 'make <utilname>' to compile.