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. '{print $2}' \
25 | awk -F- '{print $1}')
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>
226 security/pam_appl.h \
262 AC_CHECK_HEADERS([linux/gsmmux.h ], [], [],
263 [#ifdef LINUX_GSMMUX_H
264 # include <linux/gsmmux.h>
268 AC_CHECK_HEADERS([security/pam_misc.h],
269 [AM_CONDITIONAL([HAVE_LINUXPAM], [true])],
270 [AM_CONDITIONAL([HAVE_LINUXPAM], [false])], [
271 #ifdef HAVE_SECURITY_PAM_APPL_H
272 #include <security/pam_appl.h>
276 AC_CHECK_HEADERS([security/openpam.h], [], [], [
277 #ifdef HAVE_SECURITY_PAM_APPL_H
278 #include <security/pam_appl.h>
282 AC_CHECK_HEADERS([langinfo.h],
283 [AM_CONDITIONAL([HAVE_LANGINFO], [true])],
284 [AM_CONDITIONAL([HAVE_LANGINFO], [false])])
286 dnl Convert some ac_cv_header_* variables to have_*
288 have_linux_btrfs_h=$ac_cv_header_linux_btrfs_h
289 have_linux_raw_h=$ac_cv_header_linux_raw_h
290 have_linux_securebits_h=$ac_cv_header_linux_securebits_h
291 have_linux_watchdog_h=$ac_cv_header_linux_watchdog_h
292 have_security_pam_appl_h=$ac_cv_header_security_pam_appl_h
293 have_security_pam_misc_h=$ac_cv_header_security_pam_misc_h
294 have_security_openpam_h=$ac_cv_header_security_openpam_h
295 have_shadow_h=$ac_cv_header_shadow_h
296 have_sys_signalfd_h=$ac_cv_header_sys_signalfd_h
297 have_utmp_h=$ac_cv_header_utmp_h
299 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
304 struct tm *tm = localtime(0);
305 if (a == -1) /* false */
306 sleep(tm->tm_gmtoff);
308 [AC_DEFINE([HAVE_TM_GMTOFF], [1], [Does struct tm have a field tm_gmtoff?])
311 AC_CHECK_MEMBERS([struct termios.c_line],,,
312 [[#include <termios.h>]])
314 AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec],,,
315 [#include <sys/stat.h>])
317 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
319 #ifdef HAVE_SYS_SWAP_H
320 # include <sys/swap.h>
324 [[swapon("/dev/null", 0);]])],
325 [AC_DEFINE([SWAPON_HAS_TWO_ARGS], [1], [Is swapon() declared with two parameters?])
327 [AC_MSG_NOTICE([Your libc thinks that swapon has 1 arg only.])
331 AC_CHECK_DECLS([_NL_TIME_WEEK_1STDAY],[],[],[[#include <langinfo.h>]])
333 AC_CHECK_DECL([llseek],
334 [AC_DEFINE([HAVE_LLSEEK_PROTOTYPE], [1],
335 [Define to 1 if have llseek prototype])],
337 [#include <unistd.h>])
339 AC_CHECK_DECL([lseek64],
340 [AC_DEFINE([HAVE_LSEEK64_PROTOTYPE], [1],
341 [Define to 1 if have lseek64 prototype])],
343 [#define _LARGEFILE_SOURCE
344 #define _LARGEFILE64_SOURCE
345 #include <unistd.h>])
347 AC_CHECK_DECL([environ],
348 [AC_DEFINE([HAVE_ENVIRON_DECL], [1],
349 [Define to 1 if have **environ prototype])],
352 AC_CHECK_DECL([strsignal],
353 [AC_DEFINE([HAVE_STRSIGNAL_DECL], [1],
354 [Define to 1 if have strsignal function prototype])],
357 AC_CHECK_DECL([TIOCGLCKTRMIOS],
358 [have_tiocglcktrmios=yes], [have_tiocglcktrmios=no],
359 [#include <sys/ioctl.h>])
360 AC_CHECK_DECL([SOCK_CLOEXEC],
361 [have_sock_cloexec=yes], [have_sock_cloexec=no],
362 [#include <sys/types.h>
363 #include <sys/socket.h>])
364 AC_CHECK_DECL([SOCK_NONBLOCK],
365 [have_sock_nonblock=yes], [have_sock_nonblock=no],
366 [#include <sys/types.h>
367 #include <sys/socket.h>])
368 AC_CHECK_DECL([SO_PASSCRED],
369 [have_so_passcred=yes], [have_so_passcred=no],
370 [#include <sys/types.h>
371 #include <sys/socket.h>])
421 AC_CHECK_FUNCS([openat fstatat unlinkat], [have_openat=yes], [have_openat=no])
422 AC_CHECK_FUNCS([ioperm iopl], [have_io=yes])
423 AC_CHECK_FUNCS([futimens], [have_futimens=yes])
424 AC_CHECK_FUNCS([inotify_init1], [have_inotify_init1=yes])
425 AC_CHECK_FUNCS([open_memstream], [have_open_memstream=yes],[have_open_memstream=no])
426 AC_CHECK_FUNCS([reboot], [have_reboot=yes],[have_reboot=no])
428 AM_CONDITIONAL([HAVE_OPENAT], [test "x$have_openat" = xyes])
430 dnl lib/mononotic.c may require -lrt
431 AC_CHECK_FUNCS([clock_gettime], [],
432 [AC_CHECK_LIB([rt], [clock_gettime], [REALTIME_LIBS="-lrt"])]
436 AC_CHECK_FUNCS([timer_create],
438 [AC_CHECK_LIB([rt], [timer_create], [
442 AC_SEARCH_LIBS([timer_create], [rt], [
445 REALTIME_LIBS="-lrt -lpthread"
451 AC_SUBST([REALTIME_LIBS])
454 AC_CHECK_LIB([rtas], [rtas_get_sysparm], [
456 AC_DEFINE_UNQUOTED([HAVE_LIBRTAS], [1], [Define if librtas exists]), [],
458 AC_SUBST([RTAS_LIBS])
461 AC_CHECK_MEMBER([struct sockaddr.sa_len],
462 AC_DEFINE_UNQUOTED([HAVE_SA_LEN], [1], [Define if struct sockaddr contains sa_len]), [],
463 [#include <sys/types.h>
464 #include <sys/socket.h>])
467 AC_SEARCH_LIBS([socket], [socket],
468 [AS_IF([test x"$ac_cv_search_socket" != x"none required"],
469 [SOCKET_LIBS="$SOCKET_LIBS -lsocket"])
471 AC_SUBST([SOCKET_LIBS])
475 AC_CHECK_FUNCS([dirfd], [have_dirfd=yes], [have_dirfd=no])
476 AS_IF([test x"$have_dirfd" = xno], [
477 AC_CHECK_DECLS([dirfd],
478 [have_dirfd=yes], [have_dirfd=no],
479 [#include <sys/types.h>
480 #include <dirent.h>])
484 AS_IF([test x"$have_dirfd" = xno], [
485 AC_CHECK_MEMBERS([DIR.dd_fd],
486 [have_ddfd=yes], [have_ddfd=no],
487 [#include <sys/types.h>
488 #include <dirent.h>])
491 AS_CASE([$have_dirfd:$have_ddfd],
493 [AC_MSG_ERROR([cannot find a method to get filedescriptor of directory])]
497 AC_MSG_CHECKING([whether program_invocation_short_name is defined])
498 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
501 program_invocation_short_name = "test";
504 AC_DEFINE([HAVE_PROGRAM_INVOCATION_SHORT_NAME], [1],
505 [Define if program_invocation_short_name is defined])
511 AC_MSG_CHECKING([whether __progname is defined])
512 AC_LINK_IFELSE([AC_LANG_PROGRAM([extern char *__progname;],
513 [if (*__progname == 0) return 1;])],
514 AC_DEFINE([HAVE___PROGNAME], [1], [Define if __progname is defined])
515 AC_MSG_RESULT([yes]),
518 dnl Static compilation
519 m4_define([UL_STATIC_PROGRAMS], [losetup, mount, umount, fdisk, sfdisk, blkid, nsenter, unshare])
521 AC_ARG_ENABLE([static-programs],
522 [AS_HELP_STRING([--enable-static-programs=LIST],
523 [link static the programs in LIST (comma-separated,
524 supported for ]m4_defn([UL_STATIC_PROGRAMS])[)])])
526 AS_CASE([$enable_static_programs],
528 [enable_static_programs=m4_quote(UL_STATIC_PROGRAMS)],
530 [enable_static_programs=]
533 dnl Set all the individual AM_CONDITIONALs
534 m4_foreach([UL_PRG], m4_defn([UL_STATIC_PROGRAMS]), [
535 AS_CASE([,$enable_static_programs,],
536 [*,UL_PRG,*], [static_[]UL_PRG=yes]
538 AS_IF([test "x$static_[]UL_PRG" = xyes], [AC_MSG_NOTICE([enable static build: UL_PRG.])])
539 AM_CONDITIONAL([HAVE_STATIC_]m4_toupper(UL_PRG),
540 [test "x$static_[]UL_PRG" = xyes])
544 AC_ARG_ENABLE([all-programs],
545 AS_HELP_STRING([--disable-all-programs], [disable everything, might be overridden by --enable-<name>]),
546 [], [enable_all_programs=undefined]
549 AS_CASE([$enable_all_programs],
550 [yes], [AC_MSG_WARN([force to build all programs by default])
551 ul_default_estate=check],
552 [no], [AC_MSG_WARN([disable all programs by default])
553 ul_default_estate=no]
559 AC_DEFUN([UL_SCANF_TYPE_MODIFIER], [dnl
567 i = sscanf("x", $1, &s);
568 if (i == 1 && *s == 'x')
574 AC_CACHE_VAL([scanf_cv_alloc_modifier],
575 AC_RUN_IFELSE([AC_LANG_SOURCE([UL_SCANF_TYPE_MODIFIER(["%ms"])])],
576 [scanf_cv_alloc_modifier=ms],
577 AC_RUN_IFELSE([AC_LANG_SOURCE([UL_SCANF_TYPE_MODIFIER(["%as"])])],
578 [scanf_cv_alloc_modifier=as],
579 [scanf_cv_alloc_modifier=no]
583 [AC_COMPILE_IFELSE([AC_LANG_SOURCE([
587 #if defined(__GLIBC__) && !defined(__UCLIBC__)
589 #if !(__GLIBC_PREREQ(2, 7))
590 #error %m is not available
593 #elif defined(_POSIX_VERSION)
595 #if _POSIX_VERSION < 200809L
596 #error %m is not available
600 #error Your C-library is not supported.
603 [scanf_cv_alloc_modifier=ms],
604 [scanf_cv_alloc_modifier=no])]
608 AC_MSG_CHECKING([scanf string alloc modifiers])
609 AS_CASE([$scanf_cv_alloc_modifier],
611 [AC_MSG_RESULT([(%ms) yes])
612 AC_DEFINE([HAVE_SCANF_MS_MODIFIER], [1], [scanf %ms modifier])
613 have_scanf_alloc_modifier=yes],
615 [AC_MSG_RESULT([(%as) yes])
616 have_scanf_alloc_modifier=yes
617 AC_DEFINE([HAVE_SCANF_AS_MODIFIER], [1], [scanf %as modifier])],
619 have_scanf_alloc_modifier=no]
623 AC_ARG_WITH([util], AS_HELP_STRING([--without-util], [compile without libutil]),
626 AS_IF([test "x$with_util" = xno], [
627 AM_CONDITIONAL([HAVE_UTIL], [false])
630 UL_CHECK_LIB([util], [openpty])
634 AC_CHECK_TYPES([union semun], [], [], [[
637 AC_CHECK_TYPES([loff_t])
640 AC_ARG_ENABLE([widechar],
641 AS_HELP_STRING([--disable-widechar], [do not compile wide character support]),
642 [], [enable_widechar=check]
644 UL_BUILD_INIT([widechar])
645 UL_REQUIRES_COMPILE([widechar], [[
653 if (w == WEOF) exit(1);
659 AS_IF([test "x$build_widechar" = xyes ], [
660 AC_DEFINE([HAVE_WIDECHAR], [1], [Do we have wide character support?])
664 AC_CHECK_TYPES([cpu_set_t], [have_cpu_set_t=yes], [], [[
668 AM_CONDITIONAL([HAVE_CPU_SET_T], [test "x$have_cpu_set_t" = xyes])
670 AC_CHECK_TYPES([sighandler_t], [], [], [[
674 AC_CHECK_DECLS([CPU_ALLOC], [], [], [[
678 # on Solaris, you can't mix and match standards, since we use c99
679 # aparently at this stage, XOPEN_SOURCE will conflict. As workaround,
680 # check for crypt.h and use that without XOPEN_SOURCE.
681 AC_CHECK_HEADERS([crypt.h])
682 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
686 #define _XOPEN_SOURCE
690 char *c = crypt("abc","pw");
693 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
697 #define _XOPEN_SOURCE
701 char *c = crypt("abc","pw");
703 AC_DEFINE([HAVE_LIBCRYPT], [1], [Do we need -lcrypt?])
706 AC_MSG_ERROR([crypt() is not available])
709 AM_CONDITIONAL([HAVE_LIBCRYPT], [test "x$have_libcrypt" = xyes])
712 AC_ARG_WITH([selinux],
713 AS_HELP_STRING([--with-selinux], [compile with SELinux support]),
714 [], [with_selinux=no]
717 AS_IF([test "x$with_selinux" = xno], [
718 AM_CONDITIONAL([HAVE_SELINUX], [false])
720 PKG_CHECK_MODULES([SELINUX], [libselinux >= 2.0],
721 [AC_DEFINE([HAVE_LIBSELINUX], [1], [Define if SELinux is available])
722 UL_PKG_STATIC([SELINUX_LIBS_STATIC], [libselinux])
723 AM_CONDITIONAL([HAVE_SELINUX], [true])
727 AS_CASE([$with_selinux:$have_selinux],
728 [yes:no], [AC_MSG_ERROR([SELinux selected but libselinux not found or too old])]
731 AS_IF([test "x$have_selinux" = xyes], [
732 UL_SET_FLAGS([], [], [$SELINUX_LIBS])
733 # This function is missing in old libselinux 1.xx versions
734 AC_CHECK_FUNCS([security_get_initial_context])
738 AC_SUBST([SELINUX_LIBS])
739 AC_SUBST([SELINUX_LIBS_STATIC])
743 AS_HELP_STRING([--with-audit], [compile with audit support]),
747 AS_IF([test "x$with_audit" = xno], [
748 AM_CONDITIONAL([HAVE_AUDIT], [false])
750 UL_CHECK_LIB([audit], [audit_log_user_message])
751 AS_CASE([$with_audit:$have_audit],
753 [AC_MSG_ERROR([Audit selected but libaudit not found (or does not support audit_log_user_message())])]
757 AC_ARG_WITH([udev], AS_HELP_STRING([--without-udev], [compile without udev support]),
761 AS_IF([test "x$with_udev" = xno], [
762 AM_CONDITIONAL([HAVE_UDEV], [false])
764 UL_CHECK_LIB([udev], [udev_new])
765 AS_CASE([$with_udev:$have_udev],
767 [AC_MSG_ERROR([udev selected but libudev not found])]
772 dnl wide-char ncurses
773 AC_ARG_WITH([ncursesw],
774 AS_HELP_STRING([--with-ncursesw], [build with wide-char ncurses, enabled by default]),
775 [], [with_ncursesw=auto]
778 AS_IF([test "x$with_ncursesw" != xno], [
779 UL_NCURSES_CHECK([ncursesw])
780 AS_IF([test "x$have_ncursesw" = xyes], [
781 AC_DEFINE([HAVE_LIBNCURSESW], [1], [Define if ncursesw library available])
782 CURSES_LIB_NAME="ncursesw"
783 AC_CHECK_HEADERS([ncursesw/ncurses.h ncurses.h])
786 AS_CASE([$with_ncursesw:$have_ncursesw],
787 [yes:no], [AC_MSG_ERROR([ncursesw selected, but library not found])])
791 AC_ARG_WITH([ncurses],
792 AS_HELP_STRING([--with-ncurses], [build with non-wide ncurses, disabled by default]),
793 [], [with_ncurses=auto]
797 AS_CASE([$with_ncurses:$build_widechar],
798 [yes:yes], [AC_MSG_ERROR([wide-char support enabled, but non-wide ncurses selects])])
800 AS_IF([test "x$have_ncursesw" = xno -a "x$with_ncurses" != xno ], [
801 UL_NCURSES_CHECK([ncurses])
802 AS_IF([test "x$have_ncurses" = xyes], [
803 AC_DEFINE([HAVE_LIBNCURSES], [1], [Define if ncurses library available])
804 CURSES_LIB_NAME="ncurses"
805 AC_CHECK_HEADERS([ncurses/ncurses.h ncurses.h])
808 AS_CASE([$with_ncurses:$have_ncurses],
809 [yes:no], [AC_MSG_ERROR([ncurses selected, but library not found])])
811 AC_SUBST([NCURSES_CFLAGS])
812 AC_SUBST([NCURSES_LIBS])
813 AM_CONDITIONAL([HAVE_NCURSES], [test "x$have_ncursesw" = xyes -o "x$have_ncurses" = xyes])
817 AS_HELP_STRING([--with-slang], [compile cfdisk with slang rather than ncurses]),
821 AS_IF([test "x$with_slang" = xyes], [
822 AC_CHECK_HEADERS([slang.h slang/slang.h])
823 AC_CHECK_HEADERS([slcurses.h slang/slcurses.h],
824 [have_slang=yes], [], [
827 #elif defined(HAVE_SLANG_SLANG_H)
828 #include <slang/slang.h>
831 AS_IF([test "x$have_slang" = xno], [
832 AC_MSG_ERROR([slang selected but slcurses.h not found])],
833 [CURSES_LIB_NAME=slang
836 AM_CONDITIONAL([HAVE_SLANG], [test "x$have_slang" = xyes])
839 AS_IF([test "x$have_slang" = xyes -o "x$have_ncursesw" = xyes -o "x$have_ncurses" = xyes], [
840 AC_CHECK_LIB([$CURSES_LIB_NAME], use_default_colors, [
841 AC_DEFINE(HAVE_USE_DEFAULT_COLORS, 1,
842 [Define if curses library has the use_default_colors().])
844 AC_CHECK_LIB([$CURSES_LIB_NAME], resizeterm, [
845 AC_DEFINE(HAVE_RESIZETERM, 1,
846 [Define if curses library has the resizeterm().])
851 AC_ARG_WITH([tinfo], AS_HELP_STRING([--without-tinfo], [compile without libtinfo]),
852 [], [with_tinfo=auto]
855 AS_IF([test "x$with_tinfo" != xno], [
856 dnl Try pkg-config for libtinfo
857 PKG_CHECK_MODULES(TINFO, [tinfo], [
858 dnl pkg-config success
860 UL_PKG_STATIC([TINFO_LIBS_STATIC], [tinfo])], [
862 dnl If pkg-config failed, fall back to classic searching.
863 AC_CHECK_LIB([tinfo], [tgetent], [
866 TINFO_LIBS_STATIC="-ltinfo"
870 AC_SUBST([TINFO_LIBS])
871 AC_SUBST([TINFO_LIBS_STATIC])
872 AC_SUBST([TINFO_CFLAGS])
873 AM_CONDITIONAL([HAVE_TINFO], [test "x$have_tinfo" = xyes])
874 AS_IF([test "x$have_tinfo" = xyes], [
875 AC_DEFINE(HAVE_LIBTINFO, 1, [Define if libtinfo available.])
879 AC_ARG_WITH([readline],
880 AS_HELP_STRING([--with-readline], [compile with GNU Readline support]),
881 [], [with_readline=auto]
884 AS_IF([test "x$with_readline" = xno], [
885 AM_CONDITIONAL([HAVE_READLINE], [false])
887 UL_CHECK_LIB([readline], [readline])
888 AS_CASE([$with_readline:$have_readline],
890 [AC_MSG_ERROR([readline selected but libreadline not found ])],
892 [READLINE_LIBS="-lreadline"
893 READLINE_LIBS_STATIC="-lreadline $TINFO_LIBS_STATIC"]
896 AC_SUBST([READLINE_LIBS])
897 AC_SUBST([READLINE_LIBS_STATIC])
900 AC_ARG_WITH([utempter],
901 AS_HELP_STRING([--with-utempter], [compile script(1) with libutempter]),
902 [], [with_utempter=no]
905 AS_IF([test "x$with_utempter" = xyes], [
906 UL_CHECK_LIB([utempter], [utempter_add_record])
907 AS_IF([test "x$have_utempter" = xno], [
908 AC_MSG_ERROR([utempter selected but libutempter not found])
911 AM_CONDITIONAL([HAVE_UTEMPTER], [false])
918 AC_ARG_ENABLE([libuuid],
919 AS_HELP_STRING([--disable-libuuid], [do not build libuuid and uuid utilities]),
920 [], [UL_DEFAULT_ENABLE([libuuid], [yes])]
922 UL_BUILD_INIT([libuuid])
923 AC_SUBST([LIBUUID_VERSION])
924 AC_SUBST([LIBUUID_VERSION_INFO])
925 AM_CONDITIONAL(BUILD_LIBUUID, test "x$build_libuuid" = xyes)
927 AC_ARG_ENABLE([libuuid-force-uuidd],
928 AS_HELP_STRING([--enable-libuuid-force-uuidd], [support uuidd even though the daemon is not built]),
929 [], [enable_libuuid_force_uuidd=no]
932 AS_IF([test "x$build_libuuid" = xyes], [
933 AC_DEFINE(HAVE_LIBUUID, 1, [Define to 1 if you have the -luuid.])
939 AC_ARG_ENABLE([libblkid],
940 AS_HELP_STRING([--disable-libblkid], [do not build libblkid and many related utilities]),
941 [], [UL_DEFAULT_ENABLE([libblkid], [check])]
943 UL_BUILD_INIT([libblkid])
944 UL_REQUIRES_HAVE([libblkid], [openat], [openat functions])
945 AC_SUBST([LIBBLKID_DATE])
946 AC_SUBST([LIBBLKID_VERSION])
947 AC_SUBST([LIBBLKID_VERSION_INFO])
948 AC_DEFINE_UNQUOTED([LIBBLKID_VERSION], ["$LIBBLKID_VERSION"], [libblkid version string])
949 AC_DEFINE_UNQUOTED([LIBBLKID_DATE], ["$LIBBLKID_DATE"], [libblkid date string])
950 AS_IF([test "x$build_libblkid" = xyes], [
951 AC_DEFINE([HAVE_LIBBLKID], [1], [Define to 1 if you have the -lblkid.])
953 AM_CONDITIONAL([BUILD_LIBBLKID], [test "x$build_libblkid" = xyes])
954 AM_CONDITIONAL([BUILD_LIBBLKID_TESTS], [test "x$build_libblkid" = xyes -a "x$enable_static" = xyes])
959 AC_ARG_ENABLE([libmount],
960 AS_HELP_STRING([--disable-libmount], [do not build libmount]),
961 [], [UL_DEFAULT_ENABLE([libmount], [check])]
963 UL_BUILD_INIT([libmount])
964 UL_REQUIRES_BUILD([libmount], [libblkid])
965 UL_REQUIRES_HAVE([libmount], [scanf_alloc_modifier], [scanf string alloc modifier])
966 AM_CONDITIONAL([BUILD_LIBMOUNT], [test "x$build_libmount" = xyes])
967 AM_CONDITIONAL([BUILD_LIBMOUNT_TESTS], [test "x$build_libmount" = xyes -a "x$enable_static" = xyes])
968 AS_IF([test "x$build_libmount" = xyes], [
969 AC_DEFINE(HAVE_LIBMOUNT, 1, [Define if libmount available.])
972 AC_SUBST([LIBMOUNT_VERSION])
973 AC_SUBST([LIBMOUNT_MAJOR_VERSION], $PACKAGE_VERSION_MAJOR)
974 AC_SUBST([LIBMOUNT_MINOR_VERSION], $PACKAGE_VERSION_MINOR)
975 AC_SUBST([LIBMOUNT_PATCH_VERSION], $PACKAGE_VERSION_RELEASE)
976 AC_SUBST([LIBMOUNT_VERSION_INFO])
977 AC_DEFINE_UNQUOTED([LIBMOUNT_VERSION], ["$LIBMOUNT_VERSION"], [libmount version string])
979 AC_ARG_ENABLE([libmount-support-mtab],
980 AS_HELP_STRING([--enable-libmount-support-mtab], [support /etc/mtab (default is use /proc/self/mountinfo)]),
981 [], [enable_libmount_support_mtab=no]
984 AS_IF([test "x$enable_libmount_support_mtab" == xyes], [
985 AC_DEFINE([USE_LIBMOUNT_SUPPORT_MTAB], [1], [Define to 1 if want to support mtab.])
992 AC_ARG_ENABLE([libsmartcols],
993 AS_HELP_STRING([--disable-libsmartcols], [do not build libsmartcols]),
994 [], [UL_DEFAULT_ENABLE([libsmartcols], [yes])]
996 UL_BUILD_INIT([libsmartcols])
997 AM_CONDITIONAL([BUILD_LIBSMARTCOLS], [test "x$build_libsmartcols" = xyes])
999 AC_SUBST([LIBSMARTCOLS_VERSION])
1000 AC_SUBST([LIBSMARTCOLS_VERSION_INFO])
1001 AC_DEFINE_UNQUOTED([LIBSMARTCOLS_VERSION], ["$LIBSMARTCOLS_VERSION"], [libsmartcols version string])
1007 AC_ARG_ENABLE([libfdisk],
1008 AS_HELP_STRING([--disable-libfdisk], [do not build libfdisk]),
1009 [], [UL_DEFAULT_ENABLE([libfdisk], [check])]
1011 UL_BUILD_INIT([libfdisk])
1012 UL_REQUIRES_BUILD([libfdisk], [libuuid])
1013 AM_CONDITIONAL([BUILD_LIBFDISK], [test "x$build_libfdisk" = xyes])
1014 AM_CONDITIONAL([BUILD_LIBFDISK_TESTS], [test "x$build_libfdisk" = xyes -a "x$enable_static" = xyes])
1016 AS_IF([test "x$build_libblkid" = xyes],
1017 [LIBFDISK_PC_REQUIRES="uuid blkid"],[LIBFDISK_PC_REQUIRES="uuid"])
1018 AC_SUBST([LIBFDISK_PC_REQUIRES])
1020 AC_SUBST([LIBFDISK_VERSION])
1021 AC_SUBST([LIBFDISK_MAJOR_VERSION], $PACKAGE_VERSION_MAJOR)
1022 AC_SUBST([LIBFDISK_MINOR_VERSION], $PACKAGE_VERSION_MINOR)
1023 AC_SUBST([LIBFDISK_PATCH_VERSION], $PACKAGE_VERSION_RELEASE)
1024 AC_SUBST([LIBFDISK_VERSION_INFO])
1025 AC_DEFINE_UNQUOTED([LIBFDISK_VERSION], ["$LIBFDISK_VERSION"], [libfdisk version string])
1028 UL_BUILD_INIT([fdisk], [check])
1029 UL_REQUIRES_HAVE([fdisk], [openat], [openat functions])
1030 UL_REQUIRES_BUILD([fdisk], [libfdisk])
1031 UL_REQUIRES_BUILD([fdisk], [libsmartcols])
1032 AM_CONDITIONAL([BUILD_FDISK], [test "x$build_fdisk" = xyes])
1035 UL_BUILD_INIT([sfdisk], [check])
1036 UL_REQUIRES_HAVE([sfdisk], [openat], [openat functions])
1037 UL_REQUIRES_BUILD([sfdisk], [libfdisk])
1038 UL_REQUIRES_BUILD([sfdisk], [libsmartcols])
1039 AM_CONDITIONAL([BUILD_SFDISK], [test "x$build_sfdisk" = xyes])
1042 UL_BUILD_INIT([cfdisk], [check])
1043 UL_REQUIRES_BUILD([cfdisk], [libfdisk])
1044 UL_REQUIRES_BUILD([cfdisk], [libsmartcols])
1045 UL_REQUIRES_HAVE([cfdisk], [open_memstream], [open_memstream function])
1046 UL_REQUIRES_HAVE([cfdisk], [ncursesw,slang,ncurses], [ncursesw, ncurses or slang library])
1047 AM_CONDITIONAL([BUILD_CFDISK], [test "x$build_cfdisk" = xyes])
1050 AC_ARG_ENABLE([mount],
1051 AS_HELP_STRING([--disable-mount], [do not build mount(8) and umount(8)]),
1052 [], [UL_DEFAULT_ENABLE([mount], [check])]
1054 UL_BUILD_INIT([mount])
1055 UL_REQUIRES_LINUX([mount])
1056 UL_REQUIRES_BUILD([mount], [libmount])
1057 AM_CONDITIONAL([BUILD_MOUNT], [test "x$build_mount" = xyes])
1060 AC_ARG_ENABLE([losetup],
1061 AS_HELP_STRING([--disable-losetup], [do not build losetup]),
1062 [], [UL_DEFAULT_ENABLE([losetup], [check])]
1064 UL_BUILD_INIT([losetup])
1065 UL_REQUIRES_LINUX([losetup])
1066 UL_REQUIRES_BUILD([losetup], [libsmartcols])
1067 AM_CONDITIONAL([BUILD_LOSETUP], [test "x$build_losetup" = xyes])
1069 AC_ARG_ENABLE([zramctl],
1070 AS_HELP_STRING([--disable-zramctl], [do not build zramctl]),
1071 [], [UL_DEFAULT_ENABLE([zramctl], [check])]
1073 UL_BUILD_INIT([zramctl])
1074 UL_REQUIRES_LINUX([zramctl])
1075 UL_REQUIRES_BUILD([zramctl], [libsmartcols])
1076 AM_CONDITIONAL([BUILD_ZRAMCTL], [test "x$build_zramctl" = xyes])
1078 AC_ARG_ENABLE([fsck],
1079 AS_HELP_STRING([--disable-fsck], [do not build fsck]),
1080 [], [UL_DEFAULT_ENABLE([fsck], [check])]
1082 UL_BUILD_INIT([fsck])
1083 UL_REQUIRES_BUILD([fsck], [libmount])
1084 AM_CONDITIONAL([BUILD_FSCK], [test "x$build_fsck" = xyes])
1087 AC_ARG_ENABLE([partx],
1088 AS_HELP_STRING([--disable-partx], [do not build addpart, delpart, partx]),
1089 [], [UL_DEFAULT_ENABLE([partx], [check])]
1091 UL_BUILD_INIT([partx])
1092 UL_REQUIRES_LINUX([partx])
1093 UL_REQUIRES_BUILD([partx], [libblkid])
1094 UL_REQUIRES_BUILD([partx], [libsmartcols])
1095 AM_CONDITIONAL([BUILD_PARTX], [test "x$build_partx" = xyes])
1098 AC_ARG_ENABLE([uuidd],
1099 AS_HELP_STRING([--disable-uuidd], [do not build the uuid daemon]),
1100 [], [UL_DEFAULT_ENABLE([uuidd], [check])]
1102 UL_BUILD_INIT([uuidd])
1103 UL_REQUIRES_BUILD([uuidd], [libuuid])
1104 UL_REQUIRES_HAVE([uuidd], [timer], [timer_create function])
1105 UL_REQUIRES_HAVE([uuidd], [sys_signalfd_h], [sys/signalfd.h header])
1106 AS_IF([test "x$build_uuidd" = xyes || test "x$enable_libuuid_force_uuidd" == xyes ], [
1107 AC_DEFINE([HAVE_UUIDD], [1], [Define to 1 if you want to use uuid daemon.])
1109 AM_CONDITIONAL([BUILD_UUIDD], [test "x$build_uuidd" = xyes])
1112 UL_BUILD_INIT([uuidgen], [check])
1113 UL_REQUIRES_BUILD([uuidgen], [libuuid])
1114 AM_CONDITIONAL([BUILD_UUIDGEN], [test "x$build_uuidgen" = xyes])
1116 UL_BUILD_INIT([blkid], [check])
1117 UL_REQUIRES_BUILD([blkid], [libblkid])
1118 AM_CONDITIONAL([BUILD_BLKID], [test "x$build_blkid" = xyes])
1120 UL_BUILD_INIT([findfs], [check])
1121 UL_REQUIRES_BUILD([findfs], [libblkid])
1122 AM_CONDITIONAL([BUILD_FINDFS], [test "x$build_findfs" = xyes])
1124 UL_BUILD_INIT([wipefs], [check])
1125 UL_REQUIRES_BUILD([wipefs], [libblkid])
1126 AM_CONDITIONAL([BUILD_WIPEFS], [test "x$build_wipefs" = xyes])
1128 UL_BUILD_INIT([findmnt], [check])
1129 UL_REQUIRES_BUILD([findmnt], [libmount])
1130 UL_REQUIRES_BUILD([findmnt], [libblkid])
1131 UL_REQUIRES_BUILD([findmnt], [libsmartcols])
1132 AM_CONDITIONAL([BUILD_FINDMNT], [test "x$build_findmnt" = xyes])
1135 AC_ARG_ENABLE([mountpoint],
1136 AS_HELP_STRING([--disable-mountpoint], [do not build mountpoint]),
1137 [], [UL_DEFAULT_ENABLE([mountpoint], [check])]
1139 UL_BUILD_INIT([mountpoint])
1140 UL_REQUIRES_BUILD([mountpoint], [libmount])
1141 AM_CONDITIONAL([BUILD_MOUNTPOINT], [test "x$build_mountpoint" = xyes])
1144 AC_ARG_ENABLE([fallocate],
1145 AS_HELP_STRING([--disable-fallocate], [do not build fallocate]),
1146 [], [UL_DEFAULT_ENABLE([fallocate], [check])]
1148 UL_BUILD_INIT([fallocate])
1149 UL_REQUIRES_LINUX([fallocate])
1150 UL_REQUIRES_SYSCALL_CHECK([fallocate], [UL_CHECK_SYSCALL([fallocate])])
1151 AM_CONDITIONAL([BUILD_FALLOCATE], [test "x$build_fallocate" = xyes])
1153 AS_IF([test "x$build_fallocate" = xyes], [
1154 dnl check for valid fallocate() function
1155 dnl with 32 bits glibc 2.10, fallocate() exists but not fallocate64()
1156 dnl when _FILE_OFFSET_BITS==64, fallocate() is redirect to fallocate64()
1157 dnl and program can't be linked.
1158 dnl AC_CHECK_FUNC can't catch such errors since it's redefining
1159 dnl function prototype.
1160 AC_MSG_CHECKING([for valid fallocate() function])
1161 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1162 #ifdef HAVE_UNISTD_H
1163 # include <unistd.h>
1165 #ifdef HAVE_SYS_TYPES_H
1166 # include <sys/types.h>
1168 #ifdef HAVE_LINUX_FALLOC_H
1169 # include <linux/falloc.h>
1176 ret = fallocate(0, FALLOC_FL_KEEP_SIZE, 0xfffffffful, 0xfffffffful);
1181 AC_MSG_RESULT([yes])
1182 AC_DEFINE([HAVE_FALLOCATE], [1], [Have valid fallocate() function])],[
1183 AC_MSG_RESULT([no])])
1187 AC_ARG_ENABLE([unshare],
1188 AS_HELP_STRING([--disable-unshare], [do not build unshare]),
1189 [], [UL_DEFAULT_ENABLE([unshare], [check])]
1191 UL_BUILD_INIT([unshare])
1192 UL_REQUIRES_LINUX([unshare])
1193 UL_REQUIRES_SYSCALL_CHECK([unshare], [UL_CHECK_SYSCALL([unshare])])
1194 AM_CONDITIONAL([BUILD_UNSHARE], [test "x$build_unshare" = xyes])
1195 AC_CHECK_FUNCS([unshare])
1197 AC_ARG_ENABLE([nsenter],
1198 AS_HELP_STRING([--disable-nsenter], [do not build nsenter]),
1199 [], [UL_DEFAULT_ENABLE([nsenter], [check])]
1201 UL_BUILD_INIT([nsenter])
1202 UL_REQUIRES_LINUX([nsenter])
1203 UL_REQUIRES_SYSCALL_CHECK([nsenter], [UL_CHECK_SYSCALL([setns])], [setns])
1204 AM_CONDITIONAL([BUILD_NSENTER], [test "x$build_nsenter" = xyes])
1205 AC_CHECK_FUNCS([setns])
1208 AC_ARG_WITH([cap_ng],
1209 AS_HELP_STRING([--without-cap-ng], [compile without libcap-ng]),
1210 [], [with_cap_ng=auto]
1212 AS_IF([test "x$with_cap_ng" = xno], [
1213 AM_CONDITIONAL([HAVE_CAP_NG], [false])
1216 UL_CHECK_LIB([cap-ng], [capng_apply], [cap_ng])
1220 AC_ARG_ENABLE([setpriv],
1221 AS_HELP_STRING([--disable-setpriv], [do not build setpriv]),
1222 [], [UL_DEFAULT_ENABLE([setpriv], [check])]
1224 UL_BUILD_INIT([setpriv])
1225 UL_REQUIRES_LINUX([setpriv])
1226 UL_REQUIRES_HAVE([setpriv], [linux_securebits_h], [securebits.h header file])
1227 UL_REQUIRES_HAVE([setpriv], [cap_ng], [libcap-ng library])
1228 AM_CONDITIONAL([BUILD_SETPRIV], [test "x$build_setpriv" = xyes])
1231 AC_ARG_ENABLE([eject],
1232 AS_HELP_STRING([--disable-eject], [do not build eject]),
1233 [], [UL_DEFAULT_ENABLE([eject], [check])]
1235 UL_BUILD_INIT([eject])
1236 UL_REQUIRES_LINUX([eject])
1237 UL_REQUIRES_BUILD([eject], [libmount])
1238 AM_CONDITIONAL([BUILD_EJECT], [test "x$build_eject" = xyes])
1241 AC_ARG_ENABLE([agetty],
1242 AS_HELP_STRING([--disable-agetty], [do not build agetty]),
1243 [], [UL_DEFAULT_ENABLE([agetty], [check])]
1245 UL_BUILD_INIT([agetty])
1246 UL_REQUIRES_HAVE([agetty], [utmp_h], [utmp.h header])
1247 AM_CONDITIONAL([BUILD_AGETTY], [test "x$build_agetty" = xyes])
1248 AS_IF([test "x$have_futimens" = xyes -a "x$have_inotify_init1" = xyes ], [
1249 AC_DEFINE([AGETTY_RELOAD], [1], [Enable agetty --reload feature])
1251 AC_MSG_WARN([futimens or inotify_init1 not found; agetty(8) will not provide ---reload functionality])
1255 AC_ARG_ENABLE([plymouth_support],
1256 AS_HELP_STRING([--disable-plymouth_support], [don not care about plymouth in sylogin(8) and agetty(8)]),
1257 [], [enable_plymouth_support=check]
1259 UL_BUILD_INIT([plymouth_support])
1260 UL_REQUIRES_HAVE([plymouth_support], [tiocglcktrmios], [TIOCGLCKTRMIOS flag])
1261 UL_REQUIRES_HAVE([plymouth_support], [sock_cloexec], [SOCK_CLOEXEC flag])
1262 UL_REQUIRES_HAVE([plymouth_support], [sock_nonblock], [SOCK_NONBLOCK flag])
1263 UL_REQUIRES_HAVE([plymouth_support], [so_passcred], [SO_PASSCRED flag])
1264 AM_CONDITIONAL([USE_PLYMOUTH_SUPPORT], [test "x$build_plymouth_support" = xyes])
1265 AS_IF([test "x$build_plymouth_support" = xyes ], [
1266 AC_DEFINE([USE_PLYMOUTH_SUPPORT], [1], [Enable plymouth support feature for sulogin and aggety])
1271 AS_HELP_STRING([--without-libz], [compile without libz]),
1272 [], [with_libz=auto]
1274 AS_IF([test "x$with_libz" = xno], [have_z=no], [
1275 AC_CHECK_LIB([z], [crc32], [have_z=yes], [have_z=no])
1279 AC_ARG_ENABLE([cramfs],
1280 AS_HELP_STRING([--disable-cramfs], [do not build fsck.cramfs, mkfs.cramfs]),
1281 [], [UL_DEFAULT_ENABLE([cramfs], [check])]
1283 UL_BUILD_INIT([cramfs])
1284 UL_REQUIRES_HAVE([cramfs], [z], [z library])
1285 AM_CONDITIONAL([BUILD_CRAMFS], [test "x$build_cramfs" = xyes])
1288 AC_ARG_ENABLE([bfs],
1289 AS_HELP_STRING([--disable-bfs], [do not build mkfs.bfs]),
1290 [], [UL_DEFAULT_ENABLE([bfs], [yes])]
1292 UL_BUILD_INIT([bfs])
1293 AM_CONDITIONAL([BUILD_BFS], [test "x$build_bfs" = xyes])
1296 AC_ARG_ENABLE([minix],
1297 AS_HELP_STRING([--disable-minix], [do not build fsck.minix, mkfs.minix]),
1298 [], [UL_DEFAULT_ENABLE([minix], [yes])]
1300 UL_BUILD_INIT([minix])
1301 AM_CONDITIONAL([BUILD_MINIX], [test "x$build_minix" = xyes])
1304 AC_ARG_ENABLE([fdformat],
1305 AS_HELP_STRING([--disable-fdformat], [do not build fdformat]),
1306 [], [UL_DEFAULT_ENABLE([fdformat], [check])]
1308 UL_BUILD_INIT([fdformat])
1309 UL_REQUIRES_LINUX([fdformat])
1310 AM_CONDITIONAL([BUILD_FDFORMAT], [test "x$build_fdformat" = xyes])
1313 AC_ARG_ENABLE([hwclock],
1314 AS_HELP_STRING([--disable-hwclock], [do not build hwclock]),
1315 [], [UL_DEFAULT_ENABLE([hwclock], [check])]
1317 have_linuxdummy=$linux_os
1319 UL_BUILD_INIT([hwclock])
1320 UL_REQUIRES_HAVE([hwclock], [io, linuxdummy], [ioperm iopl function or Linux])
1321 AM_CONDITIONAL([BUILD_HWCLOCK], [test "x$build_hwclock" = xyes])
1324 UL_BUILD_INIT([mkfs], [yes])
1325 AM_CONDITIONAL([BUILD_MKFS], [test "x$build_mkfs" = xyes])
1327 UL_BUILD_INIT([isosize], [yes])
1328 AM_CONDITIONAL([BUILD_ISOSIZE], [test "x$build_isosize" = xyes])
1331 UL_BUILD_INIT([fstrim], [check])
1332 UL_REQUIRES_LINUX([fstrim])
1333 UL_REQUIRES_BUILD([fstrim], [libmount])
1334 AM_CONDITIONAL([BUILD_FSTRIM], [test "x$build_fstrim" = xyes])
1337 UL_BUILD_INIT([swapon], [check])
1338 UL_REQUIRES_LINUX([swapon])
1339 UL_REQUIRES_BUILD([swapon], [libblkid])
1340 UL_REQUIRES_BUILD([swapon], [libmount])
1341 UL_REQUIRES_BUILD([swapon], [libsmartcols])
1342 AM_CONDITIONAL([BUILD_SWAPON], [test "x$build_swapon" = xyes])
1345 UL_BUILD_INIT([lsblk], [check])
1346 UL_REQUIRES_LINUX([lsblk])
1347 UL_REQUIRES_BUILD([lsblk], [libblkid])
1348 UL_REQUIRES_BUILD([lsblk], [libmount])
1349 UL_REQUIRES_BUILD([lsblk], [libsmartcols])
1350 AM_CONDITIONAL([BUILD_LSBLK], [test "x$build_lsblk" = xyes])
1353 UL_BUILD_INIT([lscpu], [check])
1354 UL_REQUIRES_LINUX([lscpu])
1355 UL_REQUIRES_BUILD([lscpu], [libsmartcols])
1356 UL_REQUIRES_HAVE([lscpu], [cpu_set_t], [cpu_set_t type])
1357 AM_CONDITIONAL([BUILD_LSCPU], [test "x$build_lscpu" = xyes])
1360 AC_ARG_ENABLE([lslogins],
1361 AS_HELP_STRING([--disable-lslogins], [do not build lslogins]),
1362 [], [UL_DEFAULT_ENABLE([lslogins], [check])]
1364 UL_BUILD_INIT([lslogins])
1365 UL_REQUIRES_BUILD([lslogins], [libsmartcols])
1366 UL_REQUIRES_HAVE([lslogins], [shadow_h], [shadow.h header])
1367 UL_REQUIRES_HAVE([lslogins], [utmp_h], [utmp.h header])
1368 AM_CONDITIONAL([BUILD_LSLOGINS], [test "x$build_lslogins" = xyes])
1371 UL_BUILD_INIT([chcpu], [check])
1372 UL_REQUIRES_LINUX([chcpu])
1373 UL_REQUIRES_HAVE([chcpu], [cpu_set_t], [cpu_set_t type])
1374 AM_CONDITIONAL([BUILD_CHCPU], [test "x$build_chcpu" = xyes])
1377 AC_ARG_ENABLE([wdctl],
1378 AS_HELP_STRING([--disable-wdctl], [do not build wdctl]),
1379 [], [UL_DEFAULT_ENABLE([wdctl], [check])]
1381 UL_BUILD_INIT([wdctl])
1382 UL_REQUIRES_LINUX([wdctl])
1383 UL_REQUIRES_BUILD([wdctl], [libsmartcols])
1384 UL_REQUIRES_HAVE([wdctl], [linux_watchdog_h], [linux/watchdog.h header file])
1385 AM_CONDITIONAL([BUILD_WDCTL], [test "x$build_wdctl" = xyes])
1388 UL_BUILD_INIT([swaplabel], [check])
1389 UL_REQUIRES_BUILD([swaplabel], [libblkid])
1390 AM_CONDITIONAL([BUILD_SWAPLABEL], [test "x$build_swaplabel" = xyes])
1393 UL_BUILD_INIT([mkswap], [yes])
1394 AM_CONDITIONAL([BUILD_MKSWAP], [test "x$build_mkswap" = xyes])
1395 AS_IF([test "x$build_mkswap" = xyes -a "x$build_libuuid" != xyes], [
1396 AC_MSG_WARN([uuid library is not found; mkswap(8) will not generate UUIDs])
1400 AC_ARG_ENABLE([cal],
1401 AS_HELP_STRING([--disable-cal], [do not build cal]),
1402 [], [UL_DEFAULT_ENABLE([cal], [check])]
1404 UL_BUILD_INIT([cal])
1405 AM_CONDITIONAL([BUILD_CAL], [test "x$build_cal" = xyes])
1407 AC_ARG_ENABLE([logger],
1408 AS_HELP_STRING([--disable-logger], [do not build logger]),
1409 [], [UL_DEFAULT_ENABLE([logger], [check])]
1411 UL_BUILD_INIT([logger])
1412 AM_CONDITIONAL([BUILD_LOGGER], [test "x$build_logger" = xyes])
1414 UL_BUILD_INIT([look], [yes])
1415 AM_CONDITIONAL([BUILD_LOOK], [test "x$build_look" = xyes])
1417 UL_BUILD_INIT([mcookie], [yes])
1418 AM_CONDITIONAL([BUILD_MCOOKIE], [test "x$build_mcookie" = xyes])
1420 UL_BUILD_INIT([namei], [yes])
1421 AM_CONDITIONAL([BUILD_NAMEI], [test "x$build_namei" = xyes])
1423 UL_BUILD_INIT([whereis], [yes])
1424 AM_CONDITIONAL([BUILD_WHEREIS], [test "x$build_whereis" = xyes])
1426 UL_BUILD_INIT([getopt], [yes])
1427 AM_CONDITIONAL([BUILD_GETOPT], [test "x$build_getopt" = xyes])
1430 UL_BUILD_INIT([blockdev], [check])
1431 UL_REQUIRES_LINUX([blockdev])
1432 AM_CONDITIONAL([BUILD_BLOCKDEV], [test "x$build_blockdev" = xyes])
1435 UL_BUILD_INIT([prlimit], [check])
1436 UL_REQUIRES_LINUX([prlimit])
1437 UL_REQUIRES_BUILD([prlimit], [libsmartcols])
1438 UL_REQUIRES_SYSCALL_CHECK([prlimit], [UL_CHECK_SYSCALL([prlimit64])], [prlimit64])
1439 AM_CONDITIONAL([BUILD_PRLIMIT], [test "x$build_prlimit" = xyes])
1440 AS_IF([test "x$build_prlimit" = xyes], [
1441 AC_CHECK_FUNCS([prlimit])
1445 UL_BUILD_INIT([lslocks], [check])
1446 UL_REQUIRES_LINUX([lslocks])
1447 UL_REQUIRES_BUILD([lslocks], [libmount])
1448 UL_REQUIRES_BUILD([lslocks], [libsmartcols])
1449 AM_CONDITIONAL([BUILD_LSLOCKS], [test "x$build_lslocks" = xyes])
1452 AC_ARG_ENABLE([switch_root],
1453 AS_HELP_STRING([--disable-switch_root], [do not build switch_root]),
1454 [], [UL_DEFAULT_ENABLE([switch_root], [check])]
1456 UL_BUILD_INIT([switch_root])
1457 UL_REQUIRES_LINUX([switch_root])
1458 UL_REQUIRES_HAVE([switch_root], [openat], [openat function])
1459 AM_CONDITIONAL([BUILD_SWITCH_ROOT], [test "x$build_switch_root" = xyes])
1462 AC_ARG_ENABLE([pivot_root],
1463 AS_HELP_STRING([--disable-pivot_root], [do not build pivot_root]),
1464 [], [UL_DEFAULT_ENABLE([pivot_root], [check])]
1466 UL_BUILD_INIT([pivot_root])
1467 UL_REQUIRES_LINUX([pivot_root])
1468 UL_REQUIRES_SYSCALL_CHECK([pivot_root], [UL_CHECK_SYSCALL([pivot_root])])
1469 AM_CONDITIONAL([BUILD_PIVOT_ROOT], [test "x$build_pivot_root" = xyes])
1472 UL_BUILD_INIT([flock], [check])
1473 UL_REQUIRES_HAVE([flock], [timer], [timer_create function])
1474 AM_CONDITIONAL([BUILD_FLOCK], [test "x$build_flock" = xyes])
1477 AC_ARG_ENABLE([lsmem],
1478 AS_HELP_STRING([--disable-lsmem], [do not build lsmem]),
1479 [], [UL_DEFAULT_ENABLE([lsmem], [check])]
1481 UL_BUILD_INIT([lsmem])
1482 UL_REQUIRES_LINUX([lsmem])
1483 AM_CONDITIONAL([BUILD_LSMEM], [test "x$build_lsmem" = xyes])
1486 AC_ARG_ENABLE([chmem],
1487 AS_HELP_STRING([--disable-chmem], [do not build chmem]),
1488 [], [UL_DEFAULT_ENABLE([chmem], [check])]
1490 UL_BUILD_INIT([chmem])
1491 UL_REQUIRES_LINUX([chmem])
1492 AM_CONDITIONAL([BUILD_CHMEM], [test "x$build_chmem" = xyes])
1494 UL_BUILD_INIT([ipcmk], [yes])
1495 AM_CONDITIONAL([BUILD_IPCMK], [test "x$build_ipcmk" = xyes])
1498 AC_ARG_ENABLE([ipcrm],
1499 AS_HELP_STRING([--disable-ipcrm], [do not build ipcrm]),
1500 [], [UL_DEFAULT_ENABLE([ipcrm], [yes])]
1502 UL_BUILD_INIT([ipcrm])
1503 AM_CONDITIONAL([BUILD_IPCRM], [test "x$build_ipcrm" = xyes])
1505 AC_ARG_ENABLE([ipcs],
1506 AS_HELP_STRING([--disable-ipcs], [do not build ipcs]),
1507 [], [UL_DEFAULT_ENABLE([ipcs], [yes])]
1509 UL_BUILD_INIT([ipcs])
1510 AM_CONDITIONAL([BUILD_IPCS], [test "x$build_ipcs" = xyes])
1512 UL_BUILD_INIT([lsipc], [check])
1513 UL_REQUIRES_LINUX([lsipc])
1514 UL_REQUIRES_BUILD([lsipc], [libsmartcols])
1515 AM_CONDITIONAL([BUILD_LSIPC], [test "x$build_lsipc" = xyes])
1517 UL_BUILD_INIT([lsns], [check])
1518 UL_REQUIRES_LINUX([lsns])
1519 UL_REQUIRES_BUILD([lsns], [libsmartcols])
1520 AM_CONDITIONAL([BUILD_LSNS], [test "x$build_lsns" = xyes])
1522 UL_BUILD_INIT([renice], [yes])
1523 AM_CONDITIONAL([BUILD_RENICE], [test "x$build_renice" = xyes])
1525 UL_BUILD_INIT([setsid], [yes])
1526 AM_CONDITIONAL([BUILD_SETSID], [test "x$build_setsid" = xyes])
1528 UL_BUILD_INIT([readprofile], [check])
1529 UL_REQUIRES_LINUX([readprofile])
1530 AM_CONDITIONAL([BUILD_READPROFILE], [test "x$build_readprofile" = xyes])
1532 UL_BUILD_INIT([dmesg], [check])
1533 UL_REQUIRES_LINUX([dmesg])
1534 AM_CONDITIONAL([BUILD_DMESG], [test "x$build_dmesg" = xyes])
1536 UL_BUILD_INIT([ctrlaltdel], [check])
1537 UL_REQUIRES_LINUX([ctrlaltdel])
1538 dnl we assume reboot() to be the 1-argument variant, because even considering
1539 dnl widely used alternative C libraries like uclibc, dietlibc and musl,
1540 dnl reboot() with multiple arguments is yet only found in glibc versions
1541 dnl earlier than 2.x.
1542 UL_REQUIRES_HAVE([ctrlaltdel], [reboot], [reboot function])
1543 AM_CONDITIONAL([BUILD_CTRLALTDEL], [test "x$build_ctrlaltdel" = xyes])
1545 UL_BUILD_INIT([fsfreeze], [check])
1546 UL_REQUIRES_LINUX([fsfreeze])
1547 AM_CONDITIONAL([BUILD_FSFREEZE], [test "x$build_fsfreeze" = xyes])
1549 UL_BUILD_INIT([blkdiscard], [check])
1550 UL_REQUIRES_LINUX([blkdiscard])
1551 AM_CONDITIONAL([BUILD_BLKDISCARD], [test "x$build_blkdiscard" = xyes])
1553 UL_BUILD_INIT([ldattach], [check])
1554 UL_REQUIRES_LINUX([ldattach])
1555 AM_CONDITIONAL([BUILD_LDATTACH], [test "x$build_ldattach" = xyes])
1557 UL_BUILD_INIT([rtcwake], [check])
1558 UL_REQUIRES_LINUX([rtcwake])
1559 AM_CONDITIONAL([BUILD_RTCWAKE], [test "x$build_rtcwake" = xyes])
1561 UL_BUILD_INIT([setarch], [check])
1562 UL_REQUIRES_LINUX([setarch])
1563 AM_CONDITIONAL([BUILD_SETARCH], [test "x$build_setarch" = xyes])
1565 UL_BUILD_INIT([script], [check])
1566 UL_REQUIRES_HAVE([script], [sys_signalfd_h], [sys/signalfd.h header])
1567 AM_CONDITIONAL([BUILD_SCRIPT], [test "x$build_script" = xyes])
1569 UL_BUILD_INIT([scriptreplay], [yes])
1570 AM_CONDITIONAL([BUILD_SCRIPTREPLAY], [test "x$build_scriptreplay" = xyes])
1572 UL_BUILD_INIT([col], [yes])
1573 AM_CONDITIONAL([BUILD_COL], [test "x$build_col" = xyes])
1575 UL_BUILD_INIT([colcrt], [yes])
1576 AM_CONDITIONAL([BUILD_COLCRT], [test "x$build_colcrt" = xyes])
1578 UL_BUILD_INIT([colrm], [yes])
1579 AM_CONDITIONAL([BUILD_COLRM], [test "x$build_colrm" = xyes])
1581 UL_BUILD_INIT([column], [yes])
1582 AM_CONDITIONAL([BUILD_COLUMN], [test "x$build_column" = xyes])
1584 UL_BUILD_INIT([hexdump], [yes])
1585 AM_CONDITIONAL([BUILD_HEXDUMP], [test "x$build_hexdump" = xyes])
1587 UL_BUILD_INIT([rev], [yes])
1588 AM_CONDITIONAL([BUILD_REV], [test "x$build_rev" = xyes])
1590 UL_BUILD_INIT([tailf], [yes])
1591 AM_CONDITIONAL([BUILD_TAILF], [test "x$build_tailf" = xyes])
1594 AC_ARG_ENABLE([tunelp],
1595 AS_HELP_STRING([--enable-tunelp], [build tunelp]),
1596 [], [UL_DEFAULT_ENABLE([tunelp], [no])]
1598 UL_BUILD_INIT([tunelp])
1599 UL_REQUIRES_LINUX([tunelp])
1600 AM_CONDITIONAL([BUILD_TUNELP], [test "x$build_tunelp" = xyes])
1603 AC_ARG_ENABLE([kill],
1604 AS_HELP_STRING([--disable-kill], [do not build kill]),
1605 [], [UL_DEFAULT_ENABLE([kill], [check])]
1607 UL_BUILD_INIT([kill])
1608 UL_REQUIRES_LINUX([kill])
1609 AM_CONDITIONAL([BUILD_KILL], [test "x$build_kill" = xyes])
1612 AC_ARG_ENABLE([last],
1613 AS_HELP_STRING([--disable-last], [do not build last]),
1614 [], [UL_DEFAULT_ENABLE([last], [check])]
1616 UL_BUILD_INIT([last])
1617 UL_REQUIRES_HAVE([last], [utmp_h], [utmp.h header])
1618 AM_CONDITIONAL([BUILD_LAST], [test "x$build_last" = xyes])
1621 AC_ARG_ENABLE([utmpdump],
1622 AS_HELP_STRING([--disable-utmpdump], [do not build utmpdump]),
1623 [], [UL_DEFAULT_ENABLE([utmpdump], [check])]
1625 UL_BUILD_INIT([utmpdump])
1626 UL_REQUIRES_HAVE([utmpdump], [utmp_h], [utmp.h header])
1627 AM_CONDITIONAL([BUILD_UTMPDUMP], [test "x$build_utmpdump" = xyes])
1630 AC_ARG_ENABLE([line],
1631 AS_HELP_STRING([--enable-line], [build line]),
1632 [], [UL_DEFAULT_ENABLE([line], [no])]
1634 UL_BUILD_INIT([line])
1635 AM_CONDITIONAL([BUILD_LINE], [test "x$build_line" = xyes])
1638 AC_ARG_ENABLE([mesg],
1639 AS_HELP_STRING([--disable-mesg], [do not build mesg]),
1640 [], [UL_DEFAULT_ENABLE([mesg], [yes])]
1642 UL_BUILD_INIT([mesg])
1643 AM_CONDITIONAL([BUILD_MESG], [test "x$build_mesg" = xyes])
1646 AC_ARG_ENABLE([raw],
1647 AS_HELP_STRING([--disable-raw], [do not build raw]),
1648 [], [UL_DEFAULT_ENABLE([raw], [check])]
1650 UL_BUILD_INIT([raw])
1651 UL_REQUIRES_LINUX([raw])
1652 UL_REQUIRES_HAVE([raw], [linux_raw_h], [raw.h header file])
1653 AM_CONDITIONAL([BUILD_RAW], [test "x$build_raw" = xyes])
1656 AC_ARG_ENABLE([rename],
1657 AS_HELP_STRING([--disable-rename], [do not build rename]),
1658 [], [UL_DEFAULT_ENABLE([rename], [yes])]
1660 UL_BUILD_INIT([rename])
1661 AM_CONDITIONAL([BUILD_RENAME], [test "x$build_rename" = xyes])
1664 AC_ARG_ENABLE([reset],
1665 AS_HELP_STRING([--enable-reset], [build reset]),
1666 [], [UL_DEFAULT_ENABLE([reset], [no])]
1668 UL_BUILD_INIT([reset])
1669 AM_CONDITIONAL([BUILD_RESET], [test "x$build_reset" = xyes])
1672 AC_ARG_ENABLE([vipw],
1673 AS_HELP_STRING([--enable-vipw], [build vipw]),
1674 [], [UL_DEFAULT_ENABLE([vipw], [no])]
1676 UL_BUILD_INIT([vipw])
1677 UL_REQUIRES_HAVE([vipw], [shadow_h], [shadow.h header])
1678 AM_CONDITIONAL([BUILD_VIPW], [test "x$build_vipw" = xyes])
1681 AC_ARG_ENABLE([newgrp],
1682 AS_HELP_STRING([--enable-newgrp], [build newgrp]),
1683 [], [UL_DEFAULT_ENABLE([newgrp], [no])]
1685 UL_BUILD_INIT([newgrp])
1686 AM_CONDITIONAL([BUILD_NEWGRP], [test "x$build_newgrp" = xyes])
1689 AC_ARG_WITH([user], AS_HELP_STRING([--without-user], [compile without libuser (remote chsh)]),
1690 [], [with_user=check]
1693 AS_IF([test "x$with_user" != xno], [
1694 PKG_CHECK_MODULES(LIBUSER,[libuser >= 0.58], [have_user=yes], [have_user=no])
1695 AS_CASE([$with_user:$have_user],
1697 [AC_MSG_ERROR([user selected but libuser not found])],
1699 [AC_DEFINE([HAVE_LIBUSER], [1], [Define if libuser is available])]
1701 # temporary solution, libuser has stupid .pc where are exported all
1702 # private dependencies to Requires: instead of Requires.private:
1703 AS_IF([test "x$have_user" = xyes], [
1707 AM_CONDITIONAL([HAVE_USER], [test "x$have_user" = xyes])
1709 AC_ARG_ENABLE([chfn-chsh-password],
1710 AS_HELP_STRING([--disable-chfn-chsh-password], [do not require the user to enter the password in chfn and chsh]),
1711 [], [enable_chfn_chsh_password=yes]
1714 AC_ARG_ENABLE([chfn-chsh],
1715 AS_HELP_STRING([--enable-chfn-chsh], [build chfn and chsh]),
1716 [], [UL_DEFAULT_ENABLE([chfn_chsh], [check])]
1718 UL_BUILD_INIT([chfn_chsh])
1719 UL_REQUIRES_HAVE([chfn_chsh], [shadow_h], [shadow.h header])
1721 AS_IF([test "x$enable_chfn_chsh_password" = xyes -o "x$have_user" = xyes], [
1722 UL_REQUIRES_HAVE([chfn_chsh], [security_pam_appl_h], [PAM header file])
1723 AC_DEFINE([CHFN_CHSH_PASSWORD], [1], [Should chfn and chsh require the user to enter the password?])
1725 AM_CONDITIONAL([BUILD_CHFN_CHSH], [test "x$build_chfn_chsh" = xyes])
1726 AM_CONDITIONAL([CHFN_CHSH_PASSWORD], [test "x$enable_chfn_chsh_password" = xyes])
1728 AC_ARG_ENABLE([chsh-only-listed],
1729 AS_HELP_STRING([--disable-chsh-only-listed], [chsh: allow shells not in /etc/shells]),
1730 [], enable_chsh_only_listed=yes
1733 AS_IF([test "x$enable_chsh_only_listed" = xyes], [
1734 AC_DEFINE([ONLY_LISTED_SHELLS], [1], [Should chsh allow only shells in /etc/shells?])
1738 AC_ARG_ENABLE([login],
1739 AS_HELP_STRING([--disable-login], [do not build login]),
1740 [], [UL_DEFAULT_ENABLE([login], [check])]
1742 UL_BUILD_INIT([login])
1743 UL_REQUIRES_HAVE([login], [security_pam_appl_h], [PAM header file])
1744 UL_REQUIRES_HAVE([login], [security_pam_misc_h, security_openpam_h], [PAM conversation functions])
1745 UL_REQUIRES_HAVE([login], [utmp_h], [utmp.h header])
1746 AM_CONDITIONAL([BUILD_LOGIN], [test "x$build_login" = xyes])
1748 AC_ARG_ENABLE([login-chown-vcs],
1749 AS_HELP_STRING([--enable-login-chown-vcs], [let login chown /dev/vcsN]),
1750 [], [enable_login_chown_vcs=no]
1753 AS_IF([test "x$enable_login_chown_vcs" = xyes], [
1754 AC_DEFINE([LOGIN_CHOWN_VCS], [1], [Should login chown /dev/vcsN?])
1757 AC_ARG_ENABLE([login-stat-mail],
1758 AS_HELP_STRING([--enable-login-stat-mail], [let login stat() the mailbox]),
1759 [], [enable_login_stat_mail=no]
1762 AS_IF([test "x$enable_login_stat_mail" = xyes], [
1763 AC_DEFINE([LOGIN_STAT_MAIL], [1], [Should login stat() the mailbox?])
1767 AC_ARG_ENABLE([nologin],
1768 AS_HELP_STRING([--disable-nologin], [do not build nologin]),
1769 [], [UL_DEFAULT_ENABLE([nologin], [yes])]
1771 UL_BUILD_INIT([nologin])
1772 AM_CONDITIONAL([BUILD_NOLOGIN], [test "x$build_nologin" = xyes])
1775 AC_ARG_ENABLE([sulogin],
1776 AS_HELP_STRING([--disable-sulogin], [do not build sulogin]),
1777 [], [UL_DEFAULT_ENABLE([sulogin], [check])]
1779 UL_BUILD_INIT([sulogin])
1780 UL_REQUIRES_HAVE([sulogin], [shadow_h], [shadow.h header])
1781 AM_CONDITIONAL([BUILD_SULOGIN], [test "x$build_sulogin" = xyes])
1785 AS_HELP_STRING([--disable-su], [do not build su]),
1786 [], [UL_DEFAULT_ENABLE([su], [check])]
1789 UL_REQUIRES_HAVE([su], [security_pam_appl_h], [PAM header file])
1790 UL_REQUIRES_HAVE([su], [utmp_h], [utmp.h header])
1791 AM_CONDITIONAL([BUILD_SU], [test "x$build_su" = xyes])
1794 AC_ARG_ENABLE([runuser],
1795 AS_HELP_STRING([--disable-runuser], [do not build runuser]),
1796 [], [UL_DEFAULT_ENABLE([runuser], [check])]
1798 UL_BUILD_INIT([runuser])
1799 UL_REQUIRES_HAVE([runuser], [security_pam_appl_h], [PAM header file])
1800 UL_REQUIRES_HAVE([runuser], [utmp_h], [utmp.h header])
1801 AM_CONDITIONAL([BUILD_RUNUSER], [test "x$build_runuser" = xyes])
1805 AS_HELP_STRING([--disable-ul], [do not build ul]),
1806 [], [UL_DEFAULT_ENABLE([ul], [check])]
1809 UL_REQUIRES_HAVE([ul], [ncursesw, tinfo, ncurses], [ncursesw, ncurses or tinfo libraries])
1810 AM_CONDITIONAL([BUILD_UL], [test "x$build_ul" = xyes])
1813 AC_ARG_ENABLE([more],
1814 AS_HELP_STRING([--disable-more], [do not build more]),
1815 [], [UL_DEFAULT_ENABLE([more], [check])]
1817 UL_BUILD_INIT([more])
1818 UL_REQUIRES_HAVE([more], [ncursesw, tinfo, ncurses, termcap], [ncursesw, ncurses, tinfo or termcap libraries])
1819 AM_CONDITIONAL([BUILD_MORE], [test "x$build_more" = xyes])
1823 AS_HELP_STRING([--enable-pg], [build pg]),
1824 [], [UL_DEFAULT_ENABLE([pg], [no])]
1827 UL_REQUIRES_HAVE([pg], [ncursesw, ncurses], [ncursesw or ncurses library])
1828 AM_CONDITIONAL([BUILD_PG], [test "x$build_pg" = xyes])
1831 AC_ARG_ENABLE([setterm],
1832 AS_HELP_STRING([--disable-setterm], [do not build setterm]),
1833 [], [UL_DEFAULT_ENABLE([setterm], [check])]
1835 UL_BUILD_INIT([setterm])
1836 UL_REQUIRES_LINUX([setterm])
1837 UL_REQUIRES_HAVE([setterm], [ncursesw, ncurses], [ncursesw or ncurses library])
1838 AM_CONDITIONAL([BUILD_SETTERM], [test "x$build_setterm" = xyes])
1840 # build_schedutils= is just configure-only variable to control
1841 # ionice, taskset and chrt
1842 AC_ARG_ENABLE([schedutils],
1843 AS_HELP_STRING([--disable-schedutils], [do not build chrt, ionice, taskset]),
1844 [], [UL_DEFAULT_ENABLE([schedutils], [yes])]
1846 UL_BUILD_INIT([schedutils])
1848 UL_BUILD_INIT([ionice], [check])
1849 UL_REQUIRES_BUILD([ionice], [schedutils])
1850 UL_REQUIRES_SYSCALL_CHECK([ionice],
1851 [UL_CHECK_SYSCALL([ioprio_set],
1862 UL_REQUIRES_SYSCALL_CHECK([ionice],
1863 [UL_CHECK_SYSCALL([ioprio_get],
1874 AM_CONDITIONAL([BUILD_IONICE], [test "x$build_ionice" = xyes])
1876 UL_BUILD_INIT([taskset], [check])
1877 UL_REQUIRES_BUILD([taskset], [schedutils])
1878 UL_REQUIRES_HAVE([taskset], [cpu_set_t], [cpu_set_t type])
1879 UL_REQUIRES_SYSCALL_CHECK([taskset],
1880 [UL_CHECK_SYSCALL([sched_getaffinity])],
1881 [sched_getaffinity])
1882 AM_CONDITIONAL([BUILD_TASKSET], [test "x$build_taskset" = xyes])
1886 AS_IF([test "x$ac_cv_func_sched_setscheduler" = xyes], [have_schedsetter=yes],
1887 [test "x$ac_cv_func_sched_setattr" = xyes], [have_schedsetter=yes])
1889 UL_BUILD_INIT([chrt], [check])
1890 UL_REQUIRES_BUILD([chrt], [schedutils])
1891 UL_REQUIRES_HAVE([chrt], [schedsetter], [sched_set functions])
1892 AM_CONDITIONAL([BUILD_CHRT], [test "x$build_chrt" = xyes])
1894 AS_IF([test "x$build_chrt" = xyes], [
1895 UL_CHECK_SYSCALL([sched_setattr])
1899 AC_ARG_ENABLE([wall],
1900 AS_HELP_STRING([--disable-wall], [do not build wall]),
1901 [], [UL_DEFAULT_ENABLE([wall], [check])]
1903 UL_BUILD_INIT([wall])
1904 UL_REQUIRES_HAVE([wall], [utmp_h], [utmp.h header])
1905 AM_CONDITIONAL([BUILD_WALL], [test "x$build_wall" = xyes])
1908 AC_ARG_ENABLE([write],
1909 AS_HELP_STRING([--enable-write], [build write]),
1910 [], [UL_DEFAULT_ENABLE([write], [no])]
1912 UL_BUILD_INIT([write])
1913 UL_REQUIRES_HAVE([write], [utmp_h], [utmp.h header])
1914 AM_CONDITIONAL([BUILD_WRITE], [test "x$build_write" = xyes])
1917 AC_ARG_WITH([btrfs],
1918 AS_HELP_STRING([--with-btrfs], [build with support for btrfs]),
1919 [], [with_btrfs=check]
1922 AS_IF([test "x$with_btrfs" != xno], [
1923 AS_CASE([$with_btrfs:$have_linux_btrfs_h],
1925 [AC_MSG_ERROR([btrfs selected but linux/btrfs.h not found])],
1927 [AC_MSG_WARN([linux/btrfs.h not found, do not build with btrfs support])],
1930 AC_DEFINE([HAVE_BTRFS_SUPPORT], [1], [Define if btrfs stuff is available])]
1933 AM_CONDITIONAL([HAVE_BTRFS], [test "x$have_btrfs" = xyes])
1936 AC_ARG_WITH([systemd],
1937 AS_HELP_STRING([--with-systemd], [build with support for systemd]),
1938 [], [with_systemd=check]
1942 AS_IF([test "x$with_systemd" != xno], [
1943 # new version -- all libsystemd-* libs merged into libsystemd
1944 PKG_CHECK_MODULES([SYSTEMD], [libsystemd], [have_systemd=yes], [have_systemd=no])
1946 AS_IF([test "x$have_systemd" != "xyes"], [
1947 PKG_CHECK_MODULES([SYSTEMD_DAEMON], [libsystemd-daemon],
1948 [have_systemd_daemon=yes], [have_systemd_daemon=no])
1949 PKG_CHECK_MODULES([SYSTEMD_JOURNAL], [libsystemd-journal],
1950 [have_systemd_journal=yes], [have_systemd_journal=no])
1951 AS_IF([test "x$have_systemd_daemon" = "xyes" -a "x$have_systemd_journal" = "xyes" ],[
1954 AS_CASE([$with_systemd:$have_systemd],
1956 [AC_MSG_ERROR([systemd expected but libsystemd not found])],
1958 AC_DEFINE([HAVE_LIBSYSTEMD], [1], [Define if libsystemd is available])
1961 AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$have_systemd" = xyes])
1964 AC_ARG_WITH([systemdsystemunitdir],
1965 AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [directory for systemd service files]),
1966 [], [with_systemdsystemunitdir=`$PKG_CONFIG --variable=systemdsystemunitdir systemd`])
1968 AS_IF([test "x$with_systemdsystemunitdir" != "xno"], [
1969 AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
1973 AC_ARG_WITH([smack],
1974 AS_HELP_STRING([--with-smack], [build with SMACK support]),
1977 AS_IF([test "x$with_smack" = xyes], [
1978 AC_DEFINE([HAVE_SMACK], [1], [Add SMACK support])
1982 AC_ARG_WITH([bashcompletiondir],
1983 AS_HELP_STRING([--with-bashcompletiondir=DIR], [Bash completions directory]),
1985 [AS_IF([`$PKG_CONFIG --exists bash-completion`], [
1986 with_bashcompletiondir=`$PKG_CONFIG --variable=completionsdir bash-completion`
1988 with_bashcompletiondir=${datadir}/bash-completion/completions
1991 AC_SUBST([bashcompletiondir], [$with_bashcompletiondir])
1993 AC_ARG_ENABLE([bash-completion],
1994 AS_HELP_STRING([--disable-bash-completion], [do not install bash completion files]),
1995 [], [enable_bash_completion=yes]
1998 AM_CONDITIONAL([BUILD_BASH_COMPLETION], [test "x$enable_bash_completion" = xyes])
2001 AC_ARG_WITH([python],
2002 AS_HELP_STRING([--without-python], [do not build python bindings, use --with-python={2,3} to force version]),
2003 [], [with_python=check withval=check]
2008 AS_IF([test "x$with_python" != xno], [
2009 # We follow distributions default and look for PKG module name "python"
2010 # (minimal version is 2) but if major version is explicitly specified by
2011 # --with-python=2 or --with-python=3 then we look for PKG module "python2" or
2013 AS_IF([test "x$withval" != xno -a "x$withval" != xyes -a "x$withval" != xcheck],
2014 [pymajor="$withval"; PYTHON=python${pymajor}], [pymajor="2"])
2016 # check for python interpreter
2017 AM_PATH_PYTHON([$pymajor], [have_python=yes], [have_python=no])
2018 AS_CASE([$with_python:$have_python],
2020 [AC_MSG_ERROR([python selected but python interpreter not found])],
2022 [AC_MSG_WARN([python interpreter not found, do not build python bindings])],
2024 # check for python development stuff
2025 [PKG_CHECK_MODULES([PYTHON], [python-$PYTHON_VERSION],
2026 [have_libpython=yes], [have_libpython=no])]
2031 AC_ARG_ENABLE([pylibmount],
2032 AS_HELP_STRING([--disable-pylibmount], [do not build pylibmount]),
2033 [], [UL_DEFAULT_ENABLE([pylibmount], [check])]
2035 UL_BUILD_INIT([pylibmount])
2036 UL_REQUIRES_HAVE([pylibmount], [libpython], [libpython])
2037 UL_REQUIRES_BUILD([pylibmount], [libmount])
2038 AM_CONDITIONAL([BUILD_PYLIBMOUNT], [test "x$build_pylibmount" = "xyes"])
2040 # We need to introduce a verbatim dependency into the Makefile, without automake
2041 # trying to interpret it, so push it as a AM_SUBST_NOTMAKE variable.
2042 verbatim_pylibmount_dependency='
2044 # pylibmountexec module must be installed after usrlib_exec libraries,
2045 # otherwise the libtool relink step will fail to find libmount.la and
2046 # will try -lmount which is possibly not available.
2047 install-pylibmountexecLTLIBRARIES: install-usrlib_execLTLIBRARIES
2050 AC_SUBST([verbatim_pylibmount_dependency])
2051 AM_SUBST_NOTMAKE([verbatim_pylibmount_dependency])
2053 AC_ARG_ENABLE([pg-bell],
2054 AS_HELP_STRING([--disable-pg-bell], [let pg not ring the bell on invalid keys]),
2055 [], [enable_pg_bell=yes]
2058 AS_IF([test "x$enable_pg_bell" = xyes], [
2059 AC_DEFINE([PG_BELL], [1], [Should pg ring the bell on invalid keys?])
2063 AC_DEFUN([FS_PATHS_DEFAULT], [/sbin:/sbin/fs.d:/sbin/fs])
2064 AC_ARG_ENABLE([fs-paths-default],
2065 AS_HELP_STRING([--enable-fs-paths-default=paths], [default search path for fs helpers @<:@FS_PATHS_DEFAULT@:>@]),
2066 [AS_CASE([$enableval],
2067 [yes], [fs_paths_defaults="FS_PATHS_DEFAULT"],
2068 [no], [fs_paths_defaults=""],
2069 [fs_paths_defaults="$enableval"]
2071 [fs_paths_defaults="FS_PATHS_DEFAULT"]
2073 AC_ARG_ENABLE([fs-paths-extra],
2074 AS_HELP_STRING([--enable-fs-paths-extra=paths], [additional search paths for fs helpers]),
2075 [AS_CASE([$enableval],
2076 [yes|no], [fs_paths_extra=""],
2077 [fs_paths_extra="$enableval"]
2081 fs_paths="$fs_paths_defaults"
2082 AS_IF([test "x$fs_paths_extra" != "x"], [
2083 AS_IF([test "x$fs_paths" != "x"], [
2084 fs_paths="${fs_paths}:"
2086 fs_paths="${fs_paths}${fs_paths_extra}"
2088 AC_DEFINE_UNQUOTED([FS_SEARCH_PATH], "$fs_paths", [search path for fs helpers])
2091 AC_ARG_ENABLE([use-tty-group],
2092 AS_HELP_STRING([--disable-use-tty-group], [do not install wall and write setgid tty]),
2093 [], [enable_use_tty_group=yes]
2095 AM_CONDITIONAL([USE_TTY_GROUP], [test "x$enable_use_tty_group" = xyes])
2097 AS_IF([test "x$enable_use_tty_group" = xyes], [
2098 AC_DEFINE([USE_TTY_GROUP], [1], [Should wall and write be installed setgid tty?])
2102 AC_ARG_ENABLE([sulogin-emergency-mount],
2103 AS_HELP_STRING([--enable-sulogin-emergency-mount],
2104 [use emergency mount of /dev and /proc for sulogin]),
2105 [], [enable_sulogin_emergency_mount=no]
2108 AS_IF([test "x$enable_sulogin_emergency_mount" = xyes], [
2109 AC_DEFINE([USE_SULOGIN_EMERGENCY_MOUNT], [1],
2110 [Should sulogin use a emergency mount of /dev and /proc?])
2114 AC_ARG_ENABLE([usrdir-path],
2115 AS_HELP_STRING([--enable-usrdir-path], [use only /usr paths in PATH env. variable (recommended on systems with /bin -> /usr/bin symlinks)]),
2116 [], [enable_usrdir_path=no]
2119 AS_IF([test "x$enable_usrdir_path" == xyes], [
2120 AC_DEFINE([USE_USRDIR_PATHS_ONLY], [1], [Define to 1 to remove /bin and /sbin from PATH env.variable])
2124 AC_ARG_ENABLE([makeinstall-chown],
2125 AS_HELP_STRING([--disable-makeinstall-chown], [do not do chown-like operations during "make install"]),
2126 [], [enable_makeinstall_chown=yes]
2128 AM_CONDITIONAL([MAKEINSTALL_DO_CHOWN], [test "x$enable_makeinstall_chown" = xyes])
2131 AC_ARG_ENABLE([makeinstall-setuid],
2132 AS_HELP_STRING([--disable-makeinstall-setuid], [do not do setuid chmod operations during "make install"]),
2133 [], [enable_makeinstall_setuid=yes]
2135 AM_CONDITIONAL([MAKEINSTALL_DO_SETUID], [test "x$enable_makeinstall_setuid" = xyes])
2138 AC_ARG_ENABLE([colors-default],
2139 AS_HELP_STRING([--disable-colors-default], [do not colorize output from utils by default]),
2140 [], [enable_colors_default=yes]
2142 AS_IF([test "x$enable_colors_default" = xyes], [
2143 AC_DEFINE([USE_COLORS_BY_DEFAULT], [1], [Enables colorized output from utils by default])
2147 AC_ARG_VAR([SUID_CFLAGS],
2148 [CFLAGS used for binaries which are usually with the suid bit])
2149 AC_ARG_VAR([SUID_LDFLAGS],
2150 [LDFLAGS used for binaries which are usually with the suid bit])
2152 AC_ARG_VAR([DAEMON_CFLAGS],
2153 [CFLAGS used for binaries which are usually executed as daemons])
2154 AC_ARG_VAR([DAEMON_LDFLAGS],
2155 [LDFLAGS used for binaries which are usually executed as daemons])
2157 AC_ARG_VAR([SOLIB_CFLAGS],
2158 [CFLAGS used for shared libraries])
2159 AC_ARG_VAR([SOLIB_LDFLAGS],
2160 [LDFLAGS used for shared libraries])
2162 AC_ARG_VAR([ADJTIME_PATH],
2163 [Path to hwclock adjtime file, default /etc/adjtime])
2164 AS_IF([test "x$ADJTIME_PATH" = x], [ADJTIME_PATH="/etc/adjtime"])
2165 AC_DEFINE_UNQUOTED([CONFIG_ADJTIME_PATH], "$ADJTIME_PATH", [Path to hwclock adjtime file])
2171 AC_CONFIG_HEADERS([config.h])
2174 # Don't use configure.ac to replace install paths! See Makefile PATHFILES for
2179 libblkid/docs/Makefile
2180 libblkid/docs/version.xml
2181 libblkid/src/blkid.h
2182 libfdisk/docs/Makefile
2183 libfdisk/docs/version.xml
2184 libfdisk/src/libfdisk.h
2185 libmount/docs/Makefile
2186 libmount/docs/version.xml
2187 libmount/src/libmount.h
2188 libsmartcols/docs/Makefile
2189 libsmartcols/docs/version.xml
2190 libsmartcols/src/libsmartcols.h
2197 ${PACKAGE} ${VERSION}
2200 exec prefix: ${exec_prefix}
2202 localstatedir: ${localstatedir}
2206 includedir: ${includedir}
2207 usrbin_execdir: ${usrbin_execdir}
2208 usrsbin_execdir: ${usrsbin_execdir}
2209 usrlib_execdir: ${usrlib_execdir}
2213 suid cflags: ${SUID_CFLAGS}
2215 suid ldflags: ${SUID_LDFLAGS}
2218 Python version: ${PYTHON_VERSION}
2219 Python libs: ${pyexecdir}
2221 Bash completions: ${with_bashcompletiondir}
2222 Systemd support: ${have_systemd}
2223 Btrfs support: ${have_btrfs}
2224 Wide-char support: ${build_widechar}
2230 Type 'make' or 'make <utilname>' to compile.