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}')
27 PACKAGE_VERSION_RELEASE=$(echo $PACKAGE_VERSION | awk -F. '{print $3}' \
28 | sed 's/.*@<:@^@<:@:digit:@:>@@:>@.*/0/')
32 LIBBLKID_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
33 LIBBLKID_DATE="07-Sep-2015"
37 LIBBLKID_VERSION_INFO=`expr $LIBBLKID_LT_MAJOR + $LIBBLKID_LT_MINOR`:$LIBBLKID_LT_MICRO:$LIBBLKID_LT_MINOR
40 LIBUUID_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
44 LIBUUID_VERSION_INFO=`expr $LIBUUID_LT_MAJOR + $LIBUUID_LT_MINOR`:$LIBUUID_LT_MICRO:$LIBUUID_LT_MINOR
47 LIBMOUNT_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
51 LIBMOUNT_VERSION_INFO=`expr $LIBMOUNT_LT_MAJOR + $LIBMOUNT_LT_MINOR`:$LIBMOUNT_LT_MICRO:$LIBMOUNT_LT_MINOR
53 dnl libsmartcols version
54 LIBSMARTCOLS_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
55 LIBSMARTCOLS_LT_MAJOR=1
56 LIBSMARTCOLS_LT_MINOR=1
57 LIBSMARTCOLS_LT_MICRO=0
58 LIBSMARTCOLS_VERSION_INFO=`expr $LIBSMARTCOLS_LT_MAJOR + $LIBSMARTCOLS_LT_MINOR`:$LIBSMARTCOLS_LT_MICRO:$LIBSMARTCOLS_LT_MINOR
61 LIBFDISK_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
65 LIBFDISK_VERSION_INFO=`expr $LIBFDISK_LT_MAJOR + $LIBFDISK_LT_MINOR`:$LIBFDISK_LT_MICRO:$LIBFDISK_LT_MINOR
67 # Check whether exec_prefix=/usr:
68 AS_CASE([$exec_prefix:$prefix],
69 [NONE:NONE | NONE:/usr | /usr:*],
70 [AC_MSG_NOTICE([Default --exec-prefix detected.])
71 AS_CASE([$bindir], ['${exec_prefix}/bin'], [bindir=/bin; AC_MSG_NOTICE([ --bindir defaults to /bin]) ])
72 AS_CASE([$sbindir], ['${exec_prefix}/sbin'], [sbindir=/sbin; AC_MSG_NOTICE([ --sbindir defaults to /sbin])])
73 AS_CASE([$libdir], ['${exec_prefix}/lib'], [libdir=/lib; AC_MSG_NOTICE([ --libdir defaults to /lib]) ])
77 AS_CASE([$prefix:$localstatedir],
78 [NONE:'${prefix}/var' | /usr:'${prefix}/var'],
80 AC_MSG_NOTICE([ --localstatedir defaults to /run])
83 AC_SUBST([localstatedir])
86 # The original default values of {bin,sbin,lib}dir
87 usrbin_execdir='${exec_prefix}/bin'
88 AC_SUBST([usrbin_execdir])
90 usrsbin_execdir='${exec_prefix}/sbin'
91 AC_SUBST([usrsbin_execdir])
94 ['${exec_prefix}/'* | '${prefix}/'* | /usr/* | "${prefix}"/* ],
95 [usrlib_execdir=$libdir],
96 [usrlib_execdir='${exec_prefix}'$libdir]
98 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])
160 AS_CASE([${host_os}],
167 AM_CONDITIONAL([LINUX], [test "x$linux_os" = xyes])
168 AM_CONDITIONAL([DARWIN], [test "x$darwin_os" = xyes])
169 AM_CONDITIONAL([BSD], [test "x$bsd_os" = xyes])
171 AS_IF([test "x$darwin_os" = xyes], [
172 AC_DEFINE([_DARWIN_C_SOURCE], [1], [Enable MAP_ANON in sys/mman.h on Mac OS X])
175 dnl define ARCH_<NAME> conditionals
176 UL_SET_ARCH([I86], [i?86-*])
177 UL_SET_ARCH([86_64], [x86_64*])
178 UL_SET_ARCH([IA64], [ia64*])
179 UL_SET_ARCH([S390], [s390*])
180 UL_SET_ARCH([SPARC], [sparc*])
181 UL_SET_ARCH([PPC], [ppc*|powerpc*])
182 UL_SET_ARCH([M68K], [m68*])
183 UL_SET_ARCH([MIPS], [mips*])
184 UL_SET_ARCH([HPPA], [hppa*])
189 dnl Don't forget to maintain alternatively allowed versions in autogen.sh!
190 AM_GNU_GETTEXT_VERSION([0.18.3])
191 AM_GNU_GETTEXT([external])
193 AS_IF([test -d "$srcdir/po"], [
194 ALL_LINGUAS=`cd $srcdir/po > /dev/null && echo *.po | sed 's/\.po//g'`
196 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"
199 AC_CHECK_HEADERS([linux/compiler.h linux/blkpg.h linux/major.h], [], [], [
200 #ifdef HAVE_LINUX_COMPILER_H
201 #include <linux/compiler.h>
228 security/pam_appl.h \
263 AC_CHECK_HEADERS([security/pam_misc.h],
264 [AM_CONDITIONAL([HAVE_LINUXPAM], [true])],
265 [AM_CONDITIONAL([HAVE_LINUXPAM], [false])], [
266 #ifdef HAVE_SECURITY_PAM_APPL_H
267 #include <security/pam_appl.h>
271 AC_CHECK_HEADERS([security/openpam.h], [], [], [
272 #ifdef HAVE_SECURITY_PAM_APPL_H
273 #include <security/pam_appl.h>
277 AC_CHECK_HEADERS([langinfo.h],
278 [AM_CONDITIONAL([HAVE_LANGINFO], [true])],
279 [AM_CONDITIONAL([HAVE_LANGINFO], [false])])
281 dnl Convert some ac_cv_header_* variables to have_*
283 have_linux_btrfs_h=$ac_cv_header_linux_btrfs_h
284 have_linux_raw_h=$ac_cv_header_linux_raw_h
285 have_linux_securebits_h=$ac_cv_header_linux_securebits_h
286 have_linux_watchdog_h=$ac_cv_header_linux_watchdog_h
287 have_security_pam_appl_h=$ac_cv_header_security_pam_appl_h
288 have_security_pam_misc_h=$ac_cv_header_security_pam_misc_h
289 have_security_openpam_h=$ac_cv_header_security_openpam_h
290 have_shadow_h=$ac_cv_header_shadow_h
291 have_utmp_h=$ac_cv_header_utmp_h
293 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
298 struct tm *tm = localtime(0);
299 if (a == -1) /* false */
300 sleep(tm->tm_gmtoff);
302 [AC_DEFINE([HAVE_TM_GMTOFF], [1], [Does struct tm have a field tm_gmtoff?])
305 AC_CHECK_MEMBERS([struct termios.c_line],,,
306 [[#include <termios.h>]])
308 AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec],,,
309 [#include <sys/stat.h>])
311 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
313 #ifdef HAVE_SYS_SWAP_H
314 # include <sys/swap.h>
318 [[swapon("/dev/null", 0);]])],
319 [AC_DEFINE([SWAPON_HAS_TWO_ARGS], [1], [Is swapon() declared with two parameters?])
321 [AC_MSG_NOTICE([Your libc thinks that swapon has 1 arg only.])
325 AC_CHECK_DECLS([_NL_TIME_WEEK_1STDAY],[],[],[[#include <langinfo.h>]])
327 AC_CHECK_DECL([llseek],
328 [AC_DEFINE([HAVE_LLSEEK_PROTOTYPE], [1],
329 [Define to 1 if have llseek prototype])],
331 [#include <unistd.h>])
333 AC_CHECK_DECL([lseek64],
334 [AC_DEFINE([HAVE_LSEEK64_PROTOTYPE], [1],
335 [Define to 1 if have lseek64 prototype])],
337 [#define _LARGEFILE_SOURCE
338 #define _LARGEFILE64_SOURCE
339 #include <unistd.h>])
341 AC_CHECK_DECL([environ],
342 [AC_DEFINE([HAVE_ENVIRON_DECL], [1],
343 [Define to 1 if have **environ prototype])],
346 AC_CHECK_DECL([strsignal],
347 [AC_DEFINE([HAVE_STRSIGNAL_DECL], [1],
348 [Define to 1 if have strsignal function prototype])],
398 AC_CHECK_FUNCS([openat fstatat unlinkat], [have_openat=yes], [have_openat=no])
399 AC_CHECK_FUNCS([ioperm iopl], [have_io=yes])
400 AC_CHECK_FUNCS([futimens], [have_futimens=yes])
401 AC_CHECK_FUNCS([inotify_init1], [have_inotify_init1=yes])
402 AC_CHECK_FUNCS([open_memstream], [have_open_memstream=yes],[have_open_memstream=no])
403 AC_CHECK_FUNCS([reboot], [have_reboot=yes],[have_reboot=no])
405 AM_CONDITIONAL([HAVE_OPENAT], [test "x$have_openat" = xyes])
407 dnl lib/mononotic.c may require -lrt
408 AC_CHECK_FUNCS([clock_gettime], [],
409 [AC_CHECK_LIB([rt], [clock_gettime], [REALTIME_LIBS="-lrt"])]
413 AC_CHECK_FUNCS([timer_create],
415 [AC_CHECK_LIB([rt], [timer_create], [
419 AC_SEARCH_LIBS([timer_create], [rt], [
422 REALTIME_LIBS="-lrt -lpthread"
428 AC_SUBST([REALTIME_LIBS])
431 AC_CHECK_LIB([rtas], [rtas_get_sysparm], [
433 AC_DEFINE_UNQUOTED([HAVE_LIBRTAS], [1], [Define if librtas exists]), [],
435 AC_SUBST([RTAS_LIBS])
438 AC_CHECK_MEMBER([struct sockaddr.sa_len],
439 AC_DEFINE_UNQUOTED([HAVE_SA_LEN], [1], [Define if struct sockaddr contains sa_len]), [],
440 [#include <sys/types.h>
441 #include <sys/socket.h>])
444 AC_SEARCH_LIBS([socket], [socket],
445 [AS_IF([test x"$ac_cv_search_socket" != x"none required"],
446 [SOCKET_LIBS="$SOCKET_LIBS -lsocket"])
448 AC_SUBST([SOCKET_LIBS])
452 AC_CHECK_FUNCS([dirfd], [have_dirfd=yes], [have_dirfd=no])
453 AS_IF([test x"$have_dirfd" = xno], [
454 AC_CHECK_DECLS([dirfd],
455 [have_dirfd=yes], [have_dirfd=no],
456 [#include <sys/types.h>
457 #include <dirent.h>])
461 AS_IF([test x"$have_dirfd" = xno], [
462 AC_CHECK_MEMBERS([DIR.dd_fd],
463 [have_ddfd=yes], [have_ddfd=no],
464 [#include <sys/types.h>
465 #include <dirent.h>])
468 AS_CASE([$have_dirfd:$have_ddfd],
470 [AC_MSG_ERROR([cannot find a method to get filedescriptor of directory])]
474 AC_MSG_CHECKING([whether program_invocation_short_name is defined])
475 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
478 program_invocation_short_name = "test";
481 AC_DEFINE([HAVE_PROGRAM_INVOCATION_SHORT_NAME], [1],
482 [Define if program_invocation_short_name is defined])
488 AC_MSG_CHECKING([whether __progname is defined])
489 AC_LINK_IFELSE([AC_LANG_PROGRAM([extern char *__progname;],
490 [if (*__progname == 0) return;])],
491 AC_DEFINE([HAVE___PROGNAME], [1], [Define if __progname is defined])
492 AC_MSG_RESULT([yes]),
495 dnl Static compilation
496 m4_define([UL_STATIC_PROGRAMS], [losetup, mount, umount, fdisk, sfdisk, blkid, nsenter, unshare])
498 AC_ARG_ENABLE([static-programs],
499 [AS_HELP_STRING([--enable-static-programs=LIST],
500 [link static the programs in LIST (comma-separated,
501 supported for ]m4_defn([UL_STATIC_PROGRAMS])[)])])
503 AS_CASE([$enable_static_programs],
505 [enable_static_programs=m4_quote(UL_STATIC_PROGRAMS)],
507 [enable_static_programs=]
510 dnl Set all the individual AM_CONDITIONALs
511 m4_foreach([UL_PRG], m4_defn([UL_STATIC_PROGRAMS]), [
512 AS_CASE([,$enable_static_programs,],
513 [*,UL_PRG,*], [static_[]UL_PRG=yes]
515 AS_IF([test "x$static_[]UL_PRG" = xyes], [AC_MSG_NOTICE([enable static build: UL_PRG.])])
516 AM_CONDITIONAL([HAVE_STATIC_]m4_toupper(UL_PRG),
517 [test "x$static_[]UL_PRG" = xyes])
521 AC_ARG_ENABLE([all-programs],
522 AS_HELP_STRING([--disable-all-programs], [disable everything, might be overridden by --enable-<name>]),
523 [], [enable_all_programs=undefined]
526 AS_CASE([$enable_all_programs],
527 [yes], [AC_MSG_WARN([force to build all programs by default])
528 ul_default_estate=check],
529 [no], [AC_MSG_WARN([disable all programs by default])
530 ul_default_estate=no]
536 AC_DEFUN([UL_SCANF_TYPE_MODIFIER], [dnl
543 i = sscanf("x", $1, &s);
550 ul_save_CPPFLAGS="$CPPFLAGS"
551 CPPFLAGS="-Werror ${CPPFLAGS}"
552 AC_CACHE_VAL([scanf_cv_alloc_modifier],
553 AC_RUN_IFELSE([AC_LANG_SOURCE([UL_SCANF_TYPE_MODIFIER(["%ms"])])],
554 [scanf_cv_alloc_modifier=ms],
555 AC_RUN_IFELSE([AC_LANG_SOURCE([UL_SCANF_TYPE_MODIFIER(["%as"])])],
556 [scanf_cv_alloc_modifier=as],
557 [scanf_cv_alloc_modifier=no]
561 [AC_COMPILE_IFELSE([AC_LANG_SOURCE([
567 #if !(__GLIBC_PREREQ(2, 7))
568 #error %m is not available
571 #elif defined(_POSIX_VERSION)
573 #if _POSIX_VERSION < 200809L
574 #error %m is not available
578 #error Your C-library is not supported.
581 [scanf_cv_alloc_modifier=ms],
582 [scanf_cv_alloc_modifier=no])]
585 CPPFLAGS="$ul_save_CPPFLAGS"
587 AC_MSG_CHECKING([scanf string alloc modifiers])
588 AS_CASE([$scanf_cv_alloc_modifier],
590 [AC_MSG_RESULT([(%ms) yes])
591 AC_DEFINE([HAVE_SCANF_MS_MODIFIER], [1], [scanf %ms modifier])
592 have_scanf_alloc_modifier=yes],
594 [AC_MSG_RESULT([(%as) yes])
595 have_scanf_alloc_modifier=yes
596 AC_DEFINE([HAVE_SCANF_AS_MODIFIER], [1], [scanf %as modifier])],
598 have_scanf_alloc_modifier=no]
602 AC_ARG_WITH([util], AS_HELP_STRING([--without-util], [compile without libutil]),
605 AS_IF([test "x$with_util" = xno], [
606 AM_CONDITIONAL([HAVE_UTIL], [false])
609 UL_CHECK_LIB([util], [openpty])
613 AC_CHECK_TYPES([union semun], [], [], [[
616 AC_CHECK_TYPES([loff_t])
618 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
626 if (w == WEOF) exit(1);
630 [AC_DEFINE([HAVE_WIDECHAR], [1], [Do we have wide character support?])
633 AC_CHECK_TYPES([cpu_set_t], [have_cpu_set_t=yes], [], [[
637 AM_CONDITIONAL([HAVE_CPU_SET_T], [test "x$have_cpu_set_t" = xyes])
639 AC_CHECK_TYPES([sighandler_t], [], [], [[
643 AC_CHECK_DECLS([CPU_ALLOC], [], [], [[
647 # on Solaris, you can't mix and match standards, since we use c99
648 # aparently at this stage, XOPEN_SOURCE will conflict. As workaround,
649 # check for crypt.h and use that without XOPEN_SOURCE.
650 AC_CHECK_HEADERS([crypt.h])
651 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
655 #define _XOPEN_SOURCE
659 char *c = crypt("abc","pw");
662 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
666 #define _XOPEN_SOURCE
670 char *c = crypt("abc","pw");
672 AC_DEFINE([HAVE_LIBCRYPT], [1], [Do we need -lcrypt?])
675 AC_MSG_ERROR([crypt() is not available])
678 AM_CONDITIONAL([HAVE_LIBCRYPT], [test "x$have_libcrypt" = xyes])
681 AC_ARG_WITH([selinux],
682 AS_HELP_STRING([--with-selinux], [compile with SELinux support]),
683 [], [with_selinux=no]
686 AS_IF([test "x$with_selinux" = xno], [
687 AM_CONDITIONAL([HAVE_SELINUX], [false])
689 PKG_CHECK_MODULES([SELINUX], [libselinux >= 2.0],
690 [AC_DEFINE([HAVE_LIBSELINUX], [1], [Define if SELinux is available])
691 UL_PKG_STATIC([SELINUX_LIBS_STATIC], [libselinux])
692 AM_CONDITIONAL([HAVE_SELINUX], [true])
696 AS_CASE([$with_selinux:$have_selinux],
697 [yes:no], [AC_MSG_ERROR([SELinux selected but libselinux not found or too old])]
700 AS_IF([test "x$have_selinux" = xyes], [
701 UL_SET_FLAGS([], [], [$SELINUX_LIBS])
702 # This function is missing in old libselinux 1.xx versions
703 AC_CHECK_FUNCS([security_get_initial_context])
707 AC_SUBST([SELINUX_LIBS])
708 AC_SUBST([SELINUX_LIBS_STATIC])
712 AS_HELP_STRING([--with-audit], [compile with audit support]),
716 AS_IF([test "x$with_audit" = xno], [
717 AM_CONDITIONAL([HAVE_AUDIT], [false])
719 UL_CHECK_LIB([audit], [audit_log_user_message])
720 AS_CASE([$with_audit:$have_audit],
722 [AC_MSG_ERROR([Audit selected but libaudit not found (or does not support audit_log_user_message())])]
726 AC_ARG_WITH([udev], AS_HELP_STRING([--without-udev], [compile without udev support]),
730 AS_IF([test "x$with_udev" = xno], [
731 AM_CONDITIONAL([HAVE_UDEV], [false])
733 UL_CHECK_LIB([udev], [udev_new])
734 AS_CASE([$with_udev:$have_udev],
736 [AC_MSG_ERROR([udev selected but libudev not found])]
740 AC_ARG_WITH([ncurses],
741 AS_HELP_STRING([--with-ncurses], [build with non-wide ncurses, default is wide version
742 (--without-ncurses disables all ncurses(w) support)]),
743 [], [with_ncurses=auto]
745 AM_CONDITIONAL([HAVE_NCURSES], [false])
746 AS_IF([test "x$with_ncurses" != xno], [
749 dnl First try to find the pkg-config module.
750 PKG_CHECK_MODULES(NCURSESW, [ncursesw], [
752 NCURSES_LIBS=${NCURSESW_LIBS}
753 NCURSES_CFLAGS=${NCURSESW_CFLAGS}
754 AC_DEFINE([HAVE_LIBNCURSESW])
755 CURSES_LIB_NAME="ncursesw"
757 PKG_CHECK_MODULES(NCURSES, [ncurses], [
759 AC_DEFINE([HAVE_LIBNCURSES])
760 CURSES_LIB_NAME="ncursesw"
764 AS_IF([test "x$have_ncurses" = xyes], [
765 dnl If that worked, setup the defines that the code expects.
766 save_CPPFLAGS="$CPPFLAGS"
767 CPPFLAGS="$CPPFLAGS $NCURSES_CFLAGS"
768 AC_CHECK_HEADERS([ncurses.h])
769 CPPFLAGS="$save_CPPFLAGS"
771 dnl If that failed, fall back to classic searching.
772 AC_CHECK_HEADERS([ncurses.h ncurses/ncurses.h], [
773 AS_IF([test "x$with_ncurses" = xauto], [
774 UL_CHECK_LIB([ncursesw], [initscr], [ncurses])
775 AS_IF([test "x$have_ncurses" = xyes], [
776 AC_CHECK_HEADERS([ncursesw/ncurses.h])
777 NCURSES_LIBS="-lncursesw"
778 CURSES_LIB_NAME="ncursesw"
781 AS_IF([test "x$have_ncurses" = xno], [
782 UL_CHECK_LIB(ncurses, initscr)
783 AS_IF([test "x$have_ncurses" = xyes], [
784 NCURSES_LIBS="-lncurses"
785 CURSES_LIB_NAME="ncurses"
791 AS_CASE([$with_ncurses:$have_ncurses],
792 [yes:no], [AC_MSG_ERROR([ncurses or ncursesw selected, but library not found])]
796 AC_SUBST([NCURSES_CFLAGS])
797 AC_SUBST([NCURSES_LIBS])
801 AS_HELP_STRING([--with-slang], [compile cfdisk with slang]),
805 AS_IF([test "x$with_slang" = xyes], [
806 AC_CHECK_HEADERS([slang.h slang/slang.h])
807 AC_CHECK_HEADERS([slcurses.h slang/slcurses.h],
808 [have_slang=yes], [], [
811 #elif defined(HAVE_SLANG_SLANG_H)
812 #include <slang/slang.h>
815 AS_IF([test "x$have_slang" = xno], [
816 AC_MSG_ERROR([slang selected but slcurses.h not found])],
817 [CURSES_LIB_NAME=slang
820 AM_CONDITIONAL([HAVE_SLANG], [test "x$have_slang" = xyes])
823 AS_IF([test "x$have_slang" = xyes -o "x$have_ncurses" = xyes], [
824 AC_CHECK_LIB([$CURSES_LIB_NAME], use_default_colors, [
825 AC_DEFINE(HAVE_USE_DEFAULT_COLORS, 1,
826 [Define if curses library has the use_default_colors().])
828 AC_CHECK_LIB([$CURSES_LIB_NAME], resizeterm, [
829 AC_DEFINE(HAVE_RESIZETERM, 1,
830 [Define if curses library has the resizeterm().])
835 AC_ARG_WITH([tinfo], AS_HELP_STRING([--without-tinfo], [compile without libtinfo]),
836 [], [with_tinfo=auto]
839 AS_IF([test "x$with_tinfo" != xno], [
840 dnl Try pkg-config for libtinfo
841 PKG_CHECK_MODULES(TINFO, [tinfo], [
842 dnl pkg-config success
844 UL_PKG_STATIC([TINFO_LIBS_STATIC], [tinfo])], [
846 dnl If pkg-config failed, fall back to classic searching.
847 AC_CHECK_LIB([tinfo], [tgetent], [
850 TINFO_LIBS_STATIC="-ltinfo"
854 AC_SUBST([TINFO_LIBS])
855 AC_SUBST([TINFO_LIBS_STATIC])
856 AC_SUBST([TINFO_CFLAGS])
857 AM_CONDITIONAL([HAVE_TINFO], [test "x$have_tinfo" = xyes])
858 AS_IF([test "x$have_tinfo" = xyes], [
859 AC_DEFINE(HAVE_LIBTINFO, 1, [Define if libtinfo available.])
863 AC_ARG_WITH([readline],
864 AS_HELP_STRING([--with-readline], [compile with GNU Readline support]),
865 [], [with_readline=auto]
868 AS_IF([test "x$with_readline" = xno], [
869 AM_CONDITIONAL([HAVE_READLINE], [false])
871 UL_CHECK_LIB([readline], [readline])
872 AS_CASE([$with_readline:$have_readline],
874 [AC_MSG_ERROR([readline selected but libreadline not found ])],
876 [READLINE_LIBS="-lreadline"
877 READLINE_LIBS_STATIC="-lreadline $TINFO_LIBS_STATIC"]
880 AC_SUBST([READLINE_LIBS])
881 AC_SUBST([READLINE_LIBS_STATIC])
884 AC_ARG_WITH([utempter],
885 AS_HELP_STRING([--with-utempter], [compile script(1) with libutempter]),
886 [], [with_utempter=no]
889 AS_IF([test "x$with_utempter" = xyes], [
890 UL_CHECK_LIB([utempter], [utempter_add_record])
891 AS_IF([test "x$have_utempter" = xno], [
892 AC_MSG_ERROR([utempter selected but libutempter not found])
895 AM_CONDITIONAL([HAVE_UTEMPTER], [false])
902 AC_ARG_ENABLE([libuuid],
903 AS_HELP_STRING([--disable-libuuid], [do not build libuuid and uuid utilities]),
904 [], [UL_DEFAULT_ENABLE([libuuid], [yes])]
906 UL_BUILD_INIT([libuuid])
907 AC_SUBST([LIBUUID_VERSION])
908 AC_SUBST([LIBUUID_VERSION_INFO])
909 AM_CONDITIONAL(BUILD_LIBUUID, test "x$build_libuuid" = xyes)
911 AS_IF([test "x$build_libuuid" = xyes], [
912 AC_DEFINE(HAVE_LIBUUID, 1, [Define to 1 if you have the -luuid.])
918 AC_ARG_ENABLE([libblkid],
919 AS_HELP_STRING([--disable-libblkid], [do not build libblkid and many related utilities]),
920 [], [UL_DEFAULT_ENABLE([libblkid], [check])]
922 UL_BUILD_INIT([libblkid])
923 UL_REQUIRES_HAVE([libblkid], [openat], [openat functions])
924 AC_SUBST([LIBBLKID_DATE])
925 AC_SUBST([LIBBLKID_VERSION])
926 AC_SUBST([LIBBLKID_VERSION_INFO])
927 AC_DEFINE_UNQUOTED([LIBBLKID_VERSION], ["$LIBBLKID_VERSION"], [libblkid version string])
928 AC_DEFINE_UNQUOTED([LIBBLKID_DATE], ["$LIBBLKID_DATE"], [libblkid date string])
929 AS_IF([test "x$build_libblkid" = xyes], [
930 AC_DEFINE([HAVE_LIBBLKID], [1], [Define to 1 if you have the -lblkid.])
932 AM_CONDITIONAL([BUILD_LIBBLKID], [test "x$build_libblkid" = xyes])
933 AM_CONDITIONAL([BUILD_LIBBLKID_TESTS], [test "x$build_libblkid" = xyes -a "x$enable_static" = xyes])
938 AC_ARG_ENABLE([libmount],
939 AS_HELP_STRING([--disable-libmount], [do not build libmount]),
940 [], [UL_DEFAULT_ENABLE([libmount], [check])]
942 UL_BUILD_INIT([libmount])
943 UL_REQUIRES_BUILD([libmount], [libblkid])
944 UL_REQUIRES_HAVE([libmount], [scanf_alloc_modifier], [scanf string alloc modifier])
945 AM_CONDITIONAL([BUILD_LIBMOUNT], [test "x$build_libmount" = xyes])
946 AM_CONDITIONAL([BUILD_LIBMOUNT_TESTS], [test "x$build_libmount" = xyes -a "x$enable_static" = xyes])
947 AS_IF([test "x$build_libmount" = xyes], [
948 AC_DEFINE(HAVE_LIBMOUNT, 1, [Define if libmount available.])
951 AC_SUBST([LIBMOUNT_VERSION])
952 AC_SUBST([LIBMOUNT_MAJOR_VERSION], $PACKAGE_VERSION_MAJOR)
953 AC_SUBST([LIBMOUNT_MINOR_VERSION], $PACKAGE_VERSION_MINOR)
954 AC_SUBST([LIBMOUNT_PATCH_VERSION], $PACKAGE_VERSION_RELEASE)
955 AC_SUBST([LIBMOUNT_VERSION_INFO])
956 AC_DEFINE_UNQUOTED([LIBMOUNT_VERSION], ["$LIBMOUNT_VERSION"], [libmount version string])
958 AC_ARG_ENABLE([libmount-force-mountinfo],
959 AS_HELP_STRING([--enable-libmount-force-mountinfo], [ignore /etc/mtab in all situations (recommended for systemd)]),
960 [], [enable_libmount_force_mountinfo=no]
963 AS_IF([test "x$enable_libmount_force_mountinfo" == xyes], [
964 AC_DEFINE([USE_LIBMOUNT_FORCE_MOUNTINFO], [1], [Define to 1 if want to ignore mtab in all situations.])
971 AC_ARG_ENABLE([libsmartcols],
972 AS_HELP_STRING([--disable-libsmartcols], [do not build libsmartcols]),
973 [], [UL_DEFAULT_ENABLE([libsmartcols], [yes])]
975 UL_BUILD_INIT([libsmartcols])
976 AM_CONDITIONAL([BUILD_LIBSMARTCOLS], [test "x$build_libsmartcols" = xyes])
978 AC_SUBST([LIBSMARTCOLS_VERSION])
979 AC_SUBST([LIBSMARTCOLS_VERSION_INFO])
980 AC_DEFINE_UNQUOTED([LIBSMARTCOLS_VERSION], ["$LIBSMARTCOLS_VERSION"], [libsmartcols version string])
986 AC_ARG_ENABLE([libfdisk],
987 AS_HELP_STRING([--disable-libfdisk], [do not build libfdisk]),
988 [], [UL_DEFAULT_ENABLE([libfdisk], [check])]
990 UL_BUILD_INIT([libfdisk])
991 UL_REQUIRES_BUILD([libfdisk], [libuuid])
992 AM_CONDITIONAL([BUILD_LIBFDISK], [test "x$build_libfdisk" = xyes])
993 AM_CONDITIONAL([BUILD_LIBFDISK_TESTS], [test "x$build_libfdisk" = xyes -a "x$enable_static" = xyes])
995 AS_IF([test "x$build_libblkid" = xyes],
996 [LIBFDISK_PC_REQUIRES="uuid blkid"],[LIBFDISK_PC_REQUIRES="uuid"])
997 AC_SUBST([LIBFDISK_PC_REQUIRES])
999 AC_SUBST([LIBFDISK_VERSION])
1000 AC_SUBST([LIBFDISK_MAJOR_VERSION], $PACKAGE_VERSION_MAJOR)
1001 AC_SUBST([LIBFDISK_MINOR_VERSION], $PACKAGE_VERSION_MINOR)
1002 AC_SUBST([LIBFDISK_PATCH_VERSION], $PACKAGE_VERSION_RELEASE)
1003 AC_SUBST([LIBFDISK_VERSION_INFO])
1004 AC_DEFINE_UNQUOTED([LIBFDISK_VERSION], ["$LIBFDISK_VERSION"], [libfdisk version string])
1007 UL_BUILD_INIT([fdisk], [check])
1008 UL_REQUIRES_HAVE([fdisk], [openat], [openat functions])
1009 UL_REQUIRES_BUILD([fdisk], [libfdisk])
1010 UL_REQUIRES_BUILD([fdisk], [libsmartcols])
1011 AM_CONDITIONAL([BUILD_FDISK], [test "x$build_fdisk" = xyes])
1014 UL_BUILD_INIT([sfdisk], [check])
1015 UL_REQUIRES_HAVE([sfdisk], [openat], [openat functions])
1016 UL_REQUIRES_BUILD([sfdisk], [libfdisk])
1017 UL_REQUIRES_BUILD([sfdisk], [libsmartcols])
1018 AM_CONDITIONAL([BUILD_SFDISK], [test "x$build_sfdisk" = xyes])
1021 UL_BUILD_INIT([cfdisk], [check])
1022 UL_REQUIRES_BUILD([cfdisk], [libfdisk])
1023 UL_REQUIRES_BUILD([cfdisk], [libsmartcols])
1024 UL_REQUIRES_HAVE([cfdisk], [open_memstream])
1025 UL_REQUIRES_HAVE([cfdisk], [ncurses,slang], [ncurses or slang library])
1026 AM_CONDITIONAL([BUILD_CFDISK], [test "x$build_cfdisk" = xyes])
1029 AC_ARG_ENABLE([mount],
1030 AS_HELP_STRING([--disable-mount], [do not build mount(8) and umount(8)]),
1031 [], [UL_DEFAULT_ENABLE([mount], [check])]
1033 UL_BUILD_INIT([mount])
1034 UL_REQUIRES_LINUX([mount])
1035 UL_REQUIRES_BUILD([mount], [libmount])
1036 AM_CONDITIONAL([BUILD_MOUNT], [test "x$build_mount" = xyes])
1039 AC_ARG_ENABLE([losetup],
1040 AS_HELP_STRING([--disable-losetup], [do not build losetup]),
1041 [], [UL_DEFAULT_ENABLE([losetup], [check])]
1043 UL_BUILD_INIT([losetup])
1044 UL_REQUIRES_LINUX([losetup])
1045 UL_REQUIRES_BUILD([losetup], [libsmartcols])
1046 AM_CONDITIONAL([BUILD_LOSETUP], [test "x$build_losetup" = xyes])
1048 AC_ARG_ENABLE([zramctl],
1049 AS_HELP_STRING([--disable-zramctl], [do not build zramctl]),
1050 [], [UL_DEFAULT_ENABLE([zramctl], [check])]
1052 UL_BUILD_INIT([zramctl])
1053 UL_REQUIRES_LINUX([zramctl])
1054 UL_REQUIRES_BUILD([zramctl], [libsmartcols])
1055 AM_CONDITIONAL([BUILD_ZRAMCTL], [test "x$build_zramctl" = xyes])
1057 AC_ARG_ENABLE([fsck],
1058 AS_HELP_STRING([--disable-fsck], [do not build fsck]),
1059 [], [UL_DEFAULT_ENABLE([fsck], [check])]
1061 UL_BUILD_INIT([fsck])
1062 UL_REQUIRES_BUILD([fsck], [libmount])
1063 AM_CONDITIONAL([BUILD_FSCK], [test "x$build_fsck" = xyes])
1066 AC_ARG_ENABLE([partx],
1067 AS_HELP_STRING([--disable-partx], [do not build addpart, delpart, partx]),
1068 [], [UL_DEFAULT_ENABLE([partx], [check])]
1070 UL_BUILD_INIT([partx])
1071 UL_REQUIRES_LINUX([partx])
1072 UL_REQUIRES_BUILD([partx], [libblkid])
1073 UL_REQUIRES_BUILD([partx], [libsmartcols])
1074 AM_CONDITIONAL([BUILD_PARTX], [test "x$build_partx" = xyes])
1077 AC_ARG_ENABLE([uuidd],
1078 AS_HELP_STRING([--disable-uuidd], [do not build the uuid daemon]),
1079 [], [UL_DEFAULT_ENABLE([uuidd], [check])]
1081 UL_BUILD_INIT([uuidd])
1082 UL_REQUIRES_BUILD([uuidd], [libuuid])
1083 AS_IF([test "x$build_uuidd" = xyes], [
1084 AC_DEFINE([HAVE_UUIDD], [1], [Define to 1 if you want to use uuid daemon.])
1086 AM_CONDITIONAL([BUILD_UUIDD], [test "x$build_uuidd" = xyes])
1089 UL_BUILD_INIT([uuidgen], [check])
1090 UL_REQUIRES_BUILD([uuidgen], [libuuid])
1091 AM_CONDITIONAL([BUILD_UUIDGEN], [test "x$build_uuidgen" = xyes])
1093 UL_BUILD_INIT([blkid], [check])
1094 UL_REQUIRES_BUILD([blkid], [libblkid])
1095 AM_CONDITIONAL([BUILD_BLKID], [test "x$build_blkid" = xyes])
1097 UL_BUILD_INIT([findfs], [check])
1098 UL_REQUIRES_BUILD([findfs], [libblkid])
1099 AM_CONDITIONAL([BUILD_FINDFS], [test "x$build_findfs" = xyes])
1101 UL_BUILD_INIT([wipefs], [check])
1102 UL_REQUIRES_BUILD([wipefs], [libblkid])
1103 AM_CONDITIONAL([BUILD_WIPEFS], [test "x$build_wipefs" = xyes])
1105 UL_BUILD_INIT([findmnt], [check])
1106 UL_REQUIRES_BUILD([findmnt], [libmount])
1107 UL_REQUIRES_BUILD([findmnt], [libsmartcols])
1108 AM_CONDITIONAL([BUILD_FINDMNT], [test "x$build_findmnt" = xyes])
1111 AC_ARG_ENABLE([mountpoint],
1112 AS_HELP_STRING([--disable-mountpoint], [do not build mountpoint]),
1113 [], [UL_DEFAULT_ENABLE([mountpoint], [check])]
1115 UL_BUILD_INIT([mountpoint])
1116 UL_REQUIRES_BUILD([mountpoint], [libmount])
1117 AM_CONDITIONAL([BUILD_MOUNTPOINT], [test "x$build_mountpoint" = xyes])
1120 AC_ARG_ENABLE([fallocate],
1121 AS_HELP_STRING([--disable-fallocate], [do not build fallocate]),
1122 [], [UL_DEFAULT_ENABLE([fallocate], [check])]
1124 UL_BUILD_INIT([fallocate])
1125 UL_REQUIRES_LINUX([fallocate])
1126 UL_REQUIRES_SYSCALL_CHECK([fallocate], [UL_CHECK_SYSCALL([fallocate])])
1127 AM_CONDITIONAL([BUILD_FALLOCATE], [test "x$build_fallocate" = xyes])
1129 AS_IF([test "x$build_fallocate" = xyes], [
1130 dnl check for valid fallocate() function
1131 dnl with 32 bits glibc 2.10, fallocate() exists but not fallocate64()
1132 dnl when _FILE_OFFSET_BITS==64, fallocate() is redirect to fallocate64()
1133 dnl and program can't be linked.
1134 dnl AC_CHECK_FUNC can't catch such errors since it's redefining
1135 dnl function prototype.
1136 AC_MSG_CHECKING([for valid fallocate() function])
1137 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1138 #ifdef HAVE_UNISTD_H
1139 # include <unistd.h>
1141 #ifdef HAVE_SYS_TYPES_H
1142 # include <sys/types.h>
1144 #ifdef HAVE_LINUX_FALLOC_H
1145 # include <linux/falloc.h>
1152 ret = fallocate(0, FALLOC_FL_KEEP_SIZE, 0xfffffffful, 0xfffffffful);
1157 AC_MSG_RESULT([yes])
1158 AC_DEFINE([HAVE_FALLOCATE], [1], [Have valid fallocate() function])],[
1159 AC_MSG_RESULT([no])])
1163 AC_ARG_ENABLE([unshare],
1164 AS_HELP_STRING([--disable-unshare], [do not build unshare]),
1165 [], [UL_DEFAULT_ENABLE([unshare], [check])]
1167 UL_BUILD_INIT([unshare])
1168 UL_REQUIRES_LINUX([unshare])
1169 UL_REQUIRES_SYSCALL_CHECK([unshare], [UL_CHECK_SYSCALL([unshare])])
1170 AM_CONDITIONAL([BUILD_UNSHARE], [test "x$build_unshare" = xyes])
1171 AC_CHECK_FUNCS([unshare])
1173 AC_ARG_ENABLE([nsenter],
1174 AS_HELP_STRING([--disable-nsenter], [do not build nsenter]),
1175 [], [UL_DEFAULT_ENABLE([nsenter], [check])]
1177 UL_BUILD_INIT([nsenter])
1178 UL_REQUIRES_LINUX([nsenter])
1179 UL_REQUIRES_SYSCALL_CHECK([nsenter], [UL_CHECK_SYSCALL([setns])], [setns])
1180 AM_CONDITIONAL([BUILD_NSENTER], [test "x$build_nsenter" = xyes])
1181 AC_CHECK_FUNCS([setns])
1184 AC_ARG_WITH([cap_ng],
1185 AS_HELP_STRING([--without-capng], [compile without libcap-ng]),
1186 [], [with_cap_ng=auto]
1188 AS_IF([test "x$with_cap_ng" = xno], [have_cap_ng=no],[
1189 UL_CHECK_LIB([cap-ng], [capng_apply], [cap_ng])
1193 AC_ARG_ENABLE([setpriv],
1194 AS_HELP_STRING([--disable-setpriv], [do not build setpriv]),
1195 [], [UL_DEFAULT_ENABLE([setpriv], [check])]
1197 UL_BUILD_INIT([setpriv])
1198 UL_REQUIRES_LINUX([setpriv])
1199 UL_REQUIRES_HAVE([setpriv], [linux_securebits_h], [securebits.h header file])
1200 UL_REQUIRES_HAVE([setpriv], [cap_ng], [libcap-ng library])
1201 AM_CONDITIONAL([BUILD_SETPRIV], [test "x$build_setpriv" = xyes])
1204 AC_ARG_ENABLE([eject],
1205 AS_HELP_STRING([--disable-eject], [do not build eject]),
1206 [], [UL_DEFAULT_ENABLE([eject], [check])]
1208 UL_BUILD_INIT([eject])
1209 UL_REQUIRES_LINUX([eject])
1210 UL_REQUIRES_BUILD([eject], [libmount])
1211 AM_CONDITIONAL([BUILD_EJECT], [test "x$build_eject" = xyes])
1214 AC_ARG_ENABLE([agetty],
1215 AS_HELP_STRING([--disable-agetty], [do not build agetty]),
1216 [], [UL_DEFAULT_ENABLE([agetty], [check])]
1218 UL_BUILD_INIT([agetty])
1219 UL_REQUIRES_HAVE([agetty], [utmp_h], [utmp.h header])
1220 AM_CONDITIONAL([BUILD_AGETTY], [test "x$build_agetty" = xyes])
1221 AS_IF([test "x$have_futimens" = xyes -a "x$have_inotify_init1" = xyes ], [
1222 AC_DEFINE([AGETTY_RELOAD], [1], [Enable agetty --reload feature])
1224 AC_MSG_WARN([futimens or inotify_init1 not found; agetty(8) will not provide ---reload functionality])
1229 AS_HELP_STRING([--without-libz], [compile without libz]),
1230 [], [with_libz=auto]
1232 AS_IF([test "x$with_libz" = xno], [have_z=no], [
1233 AC_CHECK_LIB([z], [crc32], [have_z=yes], [have_z=no])
1237 AC_ARG_ENABLE([cramfs],
1238 AS_HELP_STRING([--disable-cramfs], [do not build fsck.cramfs, mkfs.cramfs]),
1239 [], [UL_DEFAULT_ENABLE([cramfs], [check])]
1241 UL_BUILD_INIT([cramfs])
1242 UL_REQUIRES_HAVE([cramfs], [z], [z library])
1243 AM_CONDITIONAL([BUILD_CRAMFS], [test "x$build_cramfs" = xyes])
1246 AC_ARG_ENABLE([bfs],
1247 AS_HELP_STRING([--disable-bfs], [do not build mkfs.bfs]),
1248 [], [UL_DEFAULT_ENABLE([bfs], [yes])]
1250 UL_BUILD_INIT([bfs])
1251 AM_CONDITIONAL([BUILD_BFS], [test "x$build_bfs" = xyes])
1254 AC_ARG_ENABLE([minix],
1255 AS_HELP_STRING([--disable-minix], [do not build fsck.minix, mkfs.minix]),
1256 [], [UL_DEFAULT_ENABLE([minix], [yes])]
1258 UL_BUILD_INIT([minix])
1259 AM_CONDITIONAL([BUILD_MINIX], [test "x$build_minix" = xyes])
1262 AC_ARG_ENABLE([fdformat],
1263 AS_HELP_STRING([--disable-fdformat], [do not build fdformat]),
1264 [], [UL_DEFAULT_ENABLE([fdformat], [check])]
1266 UL_BUILD_INIT([fdformat])
1267 UL_REQUIRES_LINUX([fdformat])
1268 AM_CONDITIONAL([BUILD_FDFORMAT], [test "x$build_fdformat" = xyes])
1271 AC_ARG_ENABLE([hwclock],
1272 AS_HELP_STRING([--disable-hwclock], [do not build hwclock]),
1273 [], [UL_DEFAULT_ENABLE([hwclock], [check])]
1275 have_linuxdummy=$linux_os
1277 UL_BUILD_INIT([hwclock])
1278 UL_REQUIRES_HAVE([hwclock], [io, linuxdummy], [ioperm iopl function or Linux])
1279 AM_CONDITIONAL([BUILD_HWCLOCK], [test "x$build_hwclock" = xyes])
1282 UL_BUILD_INIT([mkfs], [yes])
1283 AM_CONDITIONAL([BUILD_MKFS], [test "x$build_mkfs" = xyes])
1285 UL_BUILD_INIT([isosize], [yes])
1286 AM_CONDITIONAL([BUILD_ISOSIZE], [test "x$build_isosize" = xyes])
1289 UL_BUILD_INIT([fstrim], [check])
1290 UL_REQUIRES_LINUX([fstrim])
1291 UL_REQUIRES_BUILD([fstrim], [libmount])
1292 AM_CONDITIONAL([BUILD_FSTRIM], [test "x$build_fstrim" = xyes])
1295 UL_BUILD_INIT([swapon], [check])
1296 UL_REQUIRES_LINUX([swapon])
1297 UL_REQUIRES_BUILD([swapon], [libblkid])
1298 UL_REQUIRES_BUILD([swapon], [libmount])
1299 UL_REQUIRES_BUILD([swapon], [libsmartcols])
1300 AM_CONDITIONAL([BUILD_SWAPON], [test "x$build_swapon" = xyes])
1303 UL_BUILD_INIT([lsblk], [check])
1304 UL_REQUIRES_LINUX([lsblk])
1305 UL_REQUIRES_BUILD([lsblk], [libblkid])
1306 UL_REQUIRES_BUILD([lsblk], [libmount])
1307 UL_REQUIRES_BUILD([lsblk], [libsmartcols])
1308 AM_CONDITIONAL([BUILD_LSBLK], [test "x$build_lsblk" = xyes])
1311 UL_BUILD_INIT([lscpu], [check])
1312 UL_REQUIRES_LINUX([lscpu])
1313 UL_REQUIRES_BUILD([lscpu], [libsmartcols])
1314 UL_REQUIRES_HAVE([lscpu], [cpu_set_t], [cpu_set_t type])
1315 AM_CONDITIONAL([BUILD_LSCPU], [test "x$build_lscpu" = xyes])
1318 UL_BUILD_INIT([lslogins], [check])
1319 UL_REQUIRES_BUILD([lslogins], [libsmartcols])
1320 UL_REQUIRES_HAVE([lslogins], [shadow_h], [shadow.h header])
1321 UL_REQUIRES_HAVE([lslogins], [utmp_h], [utmp.h header])
1322 AM_CONDITIONAL([BUILD_LSLOGINS], [test "x$build_lslogins" = xyes])
1325 UL_BUILD_INIT([chcpu], [check])
1326 UL_REQUIRES_LINUX([chcpu])
1327 UL_REQUIRES_HAVE([chcpu], [cpu_set_t], [cpu_set_t type])
1328 AM_CONDITIONAL([BUILD_CHCPU], [test "x$build_chcpu" = xyes])
1331 AC_ARG_ENABLE([wdctl],
1332 AS_HELP_STRING([--disable-wdctl], [do not build wdctl]),
1333 [], [UL_DEFAULT_ENABLE([wdctl], [check])]
1335 UL_BUILD_INIT([wdctl])
1336 UL_REQUIRES_LINUX([wdctl])
1337 UL_REQUIRES_BUILD([wdctl], [libsmartcols])
1338 UL_REQUIRES_HAVE([wdctl], [linux_watchdog_h], [linux/watchdog.h header file])
1339 AM_CONDITIONAL([BUILD_WDCTL], [test "x$build_wdctl" = xyes])
1342 UL_BUILD_INIT([swaplabel], [check])
1343 UL_REQUIRES_BUILD([swaplabel], [libblkid])
1344 AM_CONDITIONAL([BUILD_SWAPLABEL], [test "x$build_swaplabel" = xyes])
1347 UL_BUILD_INIT([mkswap], [yes])
1348 AM_CONDITIONAL([BUILD_MKSWAP], [test "x$build_mkswap" = xyes])
1349 AS_IF([test "x$build_mkswap" = xyes -a "x$build_libuuid" != xyes], [
1350 AC_MSG_WARN([uuid library is not found; mkswap(8) will not generate UUIDs])
1354 AC_ARG_ENABLE([cal],
1355 AS_HELP_STRING([--disable-cal], [do not build cal]),
1356 [], [UL_DEFAULT_ENABLE([cal], [check])]
1358 UL_BUILD_INIT([cal])
1359 AM_CONDITIONAL([BUILD_CAL], [test "x$build_cal" = xyes])
1362 UL_BUILD_INIT([logger], [yes])
1363 AM_CONDITIONAL([BUILD_LOGGER], [test "x$build_logger" = xyes])
1365 UL_BUILD_INIT([look], [yes])
1366 AM_CONDITIONAL([BUILD_LOOK], [test "x$build_look" = xyes])
1368 UL_BUILD_INIT([mcookie], [yes])
1369 AM_CONDITIONAL([BUILD_MCOOKIE], [test "x$build_mcookie" = xyes])
1371 UL_BUILD_INIT([namei], [yes])
1372 AM_CONDITIONAL([BUILD_NAMEI], [test "x$build_namei" = xyes])
1374 UL_BUILD_INIT([whereis], [yes])
1375 AM_CONDITIONAL([BUILD_WHEREIS], [test "x$build_whereis" = xyes])
1377 UL_BUILD_INIT([getopt], [yes])
1378 AM_CONDITIONAL([BUILD_GETOPT], [test "x$build_getopt" = xyes])
1381 UL_BUILD_INIT([blockdev], [check])
1382 UL_REQUIRES_LINUX([blockdev])
1383 AM_CONDITIONAL([BUILD_BLOCKDEV], [test "x$build_blockdev" = xyes])
1386 UL_BUILD_INIT([prlimit], [check])
1387 UL_REQUIRES_LINUX([prlimit])
1388 UL_REQUIRES_BUILD([prlimit], [libsmartcols])
1389 UL_REQUIRES_SYSCALL_CHECK([prlimit], [UL_CHECK_SYSCALL([prlimit64])], [prlimit64])
1390 AM_CONDITIONAL([BUILD_PRLIMIT], [test "x$build_prlimit" = xyes])
1391 AS_IF([test "x$build_prlimit" = xyes], [
1392 AC_CHECK_FUNCS([prlimit])
1396 UL_BUILD_INIT([lslocks], [check])
1397 UL_REQUIRES_LINUX([lslocks])
1398 UL_REQUIRES_BUILD([lslocks], [libmount])
1399 UL_REQUIRES_BUILD([lslocks], [libsmartcols])
1400 AM_CONDITIONAL([BUILD_LSLOCKS], [test "x$build_lslocks" = xyes])
1403 AC_ARG_ENABLE([switch_root],
1404 AS_HELP_STRING([--disable-switch_root], [do not build switch_root]),
1405 [], [UL_DEFAULT_ENABLE([switch_root], [check])]
1407 UL_BUILD_INIT([switch_root])
1408 UL_REQUIRES_LINUX([switch_root])
1409 UL_REQUIRES_HAVE([switch_root], [openat], [openat function])
1410 AM_CONDITIONAL([BUILD_SWITCH_ROOT], [test "x$build_switch_root" = xyes])
1413 AC_ARG_ENABLE([pivot_root],
1414 AS_HELP_STRING([--disable-pivot_root], [do not build pivot_root]),
1415 [], [UL_DEFAULT_ENABLE([pivot_root], [check])]
1417 UL_BUILD_INIT([pivot_root])
1418 UL_REQUIRES_LINUX([pivot_root])
1419 UL_REQUIRES_SYSCALL_CHECK([pivot_root], [UL_CHECK_SYSCALL([pivot_root])])
1420 AM_CONDITIONAL([BUILD_PIVOT_ROOT], [test "x$build_pivot_root" = xyes])
1423 UL_BUILD_INIT([flock], [check])
1424 UL_REQUIRES_HAVE([flock], [timer], [timer_create function])
1425 AM_CONDITIONAL([BUILD_FLOCK], [test "x$build_flock" = xyes])
1427 UL_BUILD_INIT([ipcmk], [yes])
1428 AM_CONDITIONAL([BUILD_IPCMK], [test "x$build_ipcmk" = xyes])
1430 AC_ARG_ENABLE([ipcrm],
1431 AS_HELP_STRING([--disable-ipcrm], [do not build ipcrm]),
1432 [], [UL_DEFAULT_ENABLE([ipcrm], [yes])]
1434 UL_BUILD_INIT([ipcrm])
1435 AM_CONDITIONAL([BUILD_IPCRM], [test "x$build_ipcrm" = xyes])
1437 AC_ARG_ENABLE([ipcs],
1438 AS_HELP_STRING([--disable-ipcs], [do not build ipcs]),
1439 [], [UL_DEFAULT_ENABLE([ipcs], [yes])]
1441 UL_BUILD_INIT([ipcs])
1442 AM_CONDITIONAL([BUILD_IPCS], [test "x$build_ipcs" = xyes])
1444 UL_BUILD_INIT([lsipc], [check])
1445 UL_REQUIRES_LINUX([lsipc])
1446 UL_REQUIRES_BUILD([lsipc], [libsmartcols])
1447 AM_CONDITIONAL([BUILD_LSIPC], [test "x$build_lsipc" = xyes])
1449 UL_BUILD_INIT([lsns], [check])
1450 UL_REQUIRES_LINUX([lsns])
1451 UL_REQUIRES_BUILD([lsns], [libsmartcols])
1452 AM_CONDITIONAL([BUILD_LSNS], [test "x$build_lsns" = xyes])
1454 UL_BUILD_INIT([renice], [yes])
1455 AM_CONDITIONAL([BUILD_RENICE], [test "x$build_renice" = xyes])
1457 UL_BUILD_INIT([setsid], [yes])
1458 AM_CONDITIONAL([BUILD_SETSID], [test "x$build_setsid" = xyes])
1460 UL_BUILD_INIT([readprofile], [check])
1461 UL_REQUIRES_LINUX([readprofile])
1462 AM_CONDITIONAL([BUILD_READPROFILE], [test "x$build_readprofile" = xyes])
1464 UL_BUILD_INIT([dmesg], [check])
1465 UL_REQUIRES_LINUX([dmesg])
1466 AM_CONDITIONAL([BUILD_DMESG], [test "x$build_dmesg" = xyes])
1468 UL_BUILD_INIT([ctrlaltdel], [check])
1469 UL_REQUIRES_LINUX([ctrlaltdel])
1470 dnl we assume reboot() to be the 1-argument variant, because even considering
1471 dnl widely used alternative C libraries like uclibc, dietlibc and musl,
1472 dnl reboot() with multiple arguments is yet only found in glibc versions
1473 dnl earlier than 2.x.
1474 UL_REQUIRES_HAVE([ctrlaltdel], [reboot])
1475 AM_CONDITIONAL([BUILD_CTRLALTDEL], [test "x$build_ctrlaltdel" = xyes])
1477 UL_BUILD_INIT([fsfreeze], [check])
1478 UL_REQUIRES_LINUX([fsfreeze])
1479 AM_CONDITIONAL([BUILD_FSFREEZE], [test "x$build_fsfreeze" = xyes])
1481 UL_BUILD_INIT([blkdiscard], [check])
1482 UL_REQUIRES_LINUX([blkdiscard])
1483 AM_CONDITIONAL([BUILD_BLKDISCARD], [test "x$build_blkdiscard" = xyes])
1485 UL_BUILD_INIT([ldattach], [check])
1486 UL_REQUIRES_LINUX([ldattach])
1487 AM_CONDITIONAL([BUILD_LDATTACH], [test "x$build_ldattach" = xyes])
1489 UL_BUILD_INIT([rtcwake], [check])
1490 UL_REQUIRES_LINUX([rtcwake])
1491 AM_CONDITIONAL([BUILD_RTCWAKE], [test "x$build_rtcwake" = xyes])
1493 UL_BUILD_INIT([setarch], [check])
1494 UL_REQUIRES_LINUX([setarch])
1495 AM_CONDITIONAL([BUILD_SETARCH], [test "x$build_setarch" = xyes])
1497 UL_BUILD_INIT([script], [check])
1498 UL_REQUIRES_LINUX([script])
1499 AM_CONDITIONAL([BUILD_SCRIPT], [test "x$build_script" = xyes])
1501 UL_BUILD_INIT([scriptreplay], [yes])
1502 AM_CONDITIONAL([BUILD_SCRIPTREPLAY], [test "x$build_scriptreplay" = xyes])
1504 UL_BUILD_INIT([col], [yes])
1505 AM_CONDITIONAL([BUILD_COL], [test "x$build_col" = xyes])
1507 UL_BUILD_INIT([colcrt], [yes])
1508 AM_CONDITIONAL([BUILD_COLCRT], [test "x$build_colcrt" = xyes])
1510 UL_BUILD_INIT([colrm], [yes])
1511 AM_CONDITIONAL([BUILD_COLRM], [test "x$build_colrm" = xyes])
1513 UL_BUILD_INIT([column], [yes])
1514 AM_CONDITIONAL([BUILD_COLUMN], [test "x$build_column" = xyes])
1516 UL_BUILD_INIT([hexdump], [yes])
1517 AM_CONDITIONAL([BUILD_HEXDUMP], [test "x$build_hexdump" = xyes])
1519 UL_BUILD_INIT([rev], [yes])
1520 AM_CONDITIONAL([BUILD_REV], [test "x$build_rev" = xyes])
1522 UL_BUILD_INIT([tailf], [yes])
1523 AM_CONDITIONAL([BUILD_TAILF], [test "x$build_tailf" = xyes])
1526 AC_ARG_ENABLE([tunelp],
1527 AS_HELP_STRING([--enable-tunelp], [build tunelp]),
1528 [], [UL_DEFAULT_ENABLE([tunelp], [no])]
1530 UL_BUILD_INIT([tunelp])
1531 UL_REQUIRES_LINUX([tunelp])
1532 AM_CONDITIONAL([BUILD_TUNELP], [test "x$build_tunelp" = xyes])
1535 AC_ARG_ENABLE([kill],
1536 AS_HELP_STRING([--disable-kill], [do not build kill]),
1537 [], [UL_DEFAULT_ENABLE([kill], [check])]
1539 UL_BUILD_INIT([kill])
1540 UL_REQUIRES_LINUX([kill])
1541 AM_CONDITIONAL([BUILD_KILL], [test "x$build_kill" = xyes])
1544 AC_ARG_ENABLE([last],
1545 AS_HELP_STRING([--disable-last], [do not build last]),
1546 [], [UL_DEFAULT_ENABLE([last], [check])]
1548 UL_BUILD_INIT([last])
1549 UL_REQUIRES_HAVE([last], [utmp_h], [utmp.h header])
1550 AM_CONDITIONAL([BUILD_LAST], [test "x$build_last" = xyes])
1553 AC_ARG_ENABLE([utmpdump],
1554 AS_HELP_STRING([--disable-utmpdump], [do not build utmpdump]),
1555 [], [UL_DEFAULT_ENABLE([utmpdump], [check])]
1557 UL_BUILD_INIT([utmpdump])
1558 UL_REQUIRES_HAVE([utmpdump], [utmp_h], [utmp.h header])
1559 AM_CONDITIONAL([BUILD_UTMPDUMP], [test "x$build_utmpdump" = xyes])
1562 AC_ARG_ENABLE([line],
1563 AS_HELP_STRING([--enable-line], [build line]),
1564 [], [UL_DEFAULT_ENABLE([line], [no])]
1566 UL_BUILD_INIT([line])
1567 AM_CONDITIONAL([BUILD_LINE], [test "x$build_line" = xyes])
1570 AC_ARG_ENABLE([mesg],
1571 AS_HELP_STRING([--disable-mesg], [do not build mesg]),
1572 [], [UL_DEFAULT_ENABLE([mesg], [yes])]
1574 UL_BUILD_INIT([mesg])
1575 AM_CONDITIONAL([BUILD_MESG], [test "x$build_mesg" = xyes])
1578 AC_ARG_ENABLE([raw],
1579 AS_HELP_STRING([--disable-raw], [do not build raw]),
1580 [], [UL_DEFAULT_ENABLE([raw], [check])]
1582 UL_BUILD_INIT([raw])
1583 UL_REQUIRES_LINUX([raw])
1584 UL_REQUIRES_HAVE([raw], [linux_raw_h], [raw.h header file])
1585 AM_CONDITIONAL([BUILD_RAW], [test "x$build_raw" = xyes])
1588 AC_ARG_ENABLE([rename],
1589 AS_HELP_STRING([--disable-rename], [do not build rename]),
1590 [], [UL_DEFAULT_ENABLE([rename], [yes])]
1592 UL_BUILD_INIT([rename])
1593 AM_CONDITIONAL([BUILD_RENAME], [test "x$build_rename" = xyes])
1596 AC_ARG_ENABLE([reset],
1597 AS_HELP_STRING([--enable-reset], [build reset]),
1598 [], [UL_DEFAULT_ENABLE([reset], [no])]
1600 UL_BUILD_INIT([reset])
1601 AM_CONDITIONAL([BUILD_RESET], [test "x$build_reset" = xyes])
1604 AC_ARG_ENABLE([vipw],
1605 AS_HELP_STRING([--enable-vipw], [build vipw]),
1606 [], [UL_DEFAULT_ENABLE([vipw], [no])]
1608 UL_BUILD_INIT([vipw])
1609 UL_REQUIRES_HAVE([vipw], [shadow_h], [shadow.h header])
1610 AM_CONDITIONAL([BUILD_VIPW], [test "x$build_vipw" = xyes])
1613 AC_ARG_ENABLE([newgrp],
1614 AS_HELP_STRING([--enable-newgrp], [build newgrp]),
1615 [], [UL_DEFAULT_ENABLE([newgrp], [no])]
1617 UL_BUILD_INIT([newgrp])
1618 AM_CONDITIONAL([BUILD_NEWGRP], [test "x$build_newgrp" = xyes])
1621 AC_ARG_WITH([user], AS_HELP_STRING([--without-user], [compile without libuser (remote chsh)]),
1622 [], [with_user=check]
1625 AS_IF([test "x$with_user" != xno], [
1626 PKG_CHECK_MODULES(LIBUSER,[libuser >= 0.58], [have_user=yes], [have_user=no])
1627 AS_CASE([$with_user:$have_user],
1629 [AC_MSG_ERROR([user selected but libuser not found])],
1631 [AC_DEFINE([HAVE_LIBUSER], [1], [Define if libuser is available])]
1633 # temporary solution, libuser has stupid .pc where are exported all
1634 # private dependencies to Requires: instead of Requires.private:
1635 AS_IF([test "x$have_user" = xyes], [
1639 AM_CONDITIONAL([HAVE_USER], [test "x$have_user" = xyes])
1641 AC_ARG_ENABLE([chfn-chsh-password],
1642 AS_HELP_STRING([--disable-chfn-chsh-password], [do not require the user to enter the password in chfn and chsh]),
1643 [], [enable_chfn_chsh_password=yes]
1646 AC_ARG_ENABLE([chfn-chsh],
1647 AS_HELP_STRING([--enable-chfn-chsh], [build chfn and chsh]),
1648 [], [UL_DEFAULT_ENABLE([chfn_chsh], [check])]
1650 UL_BUILD_INIT([chfn_chsh])
1651 UL_REQUIRES_HAVE([chfn_chsh], [shadow_h], [shadow.h header])
1653 AS_IF([test "x$enable_chfn_chsh_password" = xyes -o "x$have_user" = xyes], [
1654 UL_REQUIRES_HAVE([chfn_chsh], [security_pam_appl_h], [PAM header file])
1655 AC_DEFINE([CHFN_CHSH_PASSWORD], [1], [Should chfn and chsh require the user to enter the password?])
1657 AM_CONDITIONAL([BUILD_CHFN_CHSH], [test "x$build_chfn_chsh" = xyes])
1658 AM_CONDITIONAL([CHFN_CHSH_PASSWORD], [test "x$enable_chfn_chsh_password" = xyes])
1660 AC_ARG_ENABLE([chsh-only-listed],
1661 AS_HELP_STRING([--disable-chsh-only-listed], [chsh: allow shells not in /etc/shells]),
1662 [], enable_chsh_only_listed=yes
1665 AS_IF([test "x$enable_chsh_only_listed" = xyes], [
1666 AC_DEFINE([ONLY_LISTED_SHELLS], [1], [Should chsh allow only shells in /etc/shells?])
1670 AC_ARG_ENABLE([login],
1671 AS_HELP_STRING([--disable-login], [do not build login]),
1672 [], [UL_DEFAULT_ENABLE([login], [check])]
1674 UL_BUILD_INIT([login])
1675 UL_REQUIRES_HAVE([login], [security_pam_appl_h], [PAM header file])
1676 UL_REQUIRES_HAVE([login], [security_pam_misc_h, security_openpam_h], [PAM conversation functions])
1677 UL_REQUIRES_HAVE([login], [utmp_h], [utmp.h header])
1678 AM_CONDITIONAL([BUILD_LOGIN], [test "x$build_login" = xyes])
1680 AC_ARG_ENABLE([login-chown-vcs],
1681 AS_HELP_STRING([--enable-login-chown-vcs], [let login chown /dev/vcsN]),
1682 [], [enable_login_chown_vcs=no]
1685 AS_IF([test "x$enable_login_chown_vcs" = xyes], [
1686 AC_DEFINE([LOGIN_CHOWN_VCS], [1], [Should login chown /dev/vcsN?])
1689 AC_ARG_ENABLE([login-stat-mail],
1690 AS_HELP_STRING([--enable-login-stat-mail], [let login stat() the mailbox]),
1691 [], [enable_login_stat_mail=no]
1694 AS_IF([test "x$enable_login_stat_mail" = xyes], [
1695 AC_DEFINE([LOGIN_STAT_MAIL], [1], [Should login stat() the mailbox?])
1699 AC_ARG_ENABLE([nologin],
1700 AS_HELP_STRING([--disable-nologin], [do not build nologin]),
1701 [], [UL_DEFAULT_ENABLE([nologin], [yes])]
1703 UL_BUILD_INIT([nologin])
1704 AM_CONDITIONAL([BUILD_NOLOGIN], [test "x$build_nologin" = xyes])
1707 AC_ARG_ENABLE([sulogin],
1708 AS_HELP_STRING([--disable-sulogin], [do not build sulogin]),
1709 [], [UL_DEFAULT_ENABLE([sulogin], [check])]
1711 UL_BUILD_INIT([sulogin])
1712 UL_REQUIRES_HAVE([sulogin], [shadow_h], [shadow.h header])
1713 AM_CONDITIONAL([BUILD_SULOGIN], [test "x$build_sulogin" = xyes])
1717 AS_HELP_STRING([--disable-su], [do not build su]),
1718 [], [UL_DEFAULT_ENABLE([su], [check])]
1721 UL_REQUIRES_HAVE([su], [security_pam_appl_h], [PAM header file])
1722 UL_REQUIRES_HAVE([su], [utmp_h], [utmp.h header])
1723 AM_CONDITIONAL([BUILD_SU], [test "x$build_su" = xyes])
1726 AC_ARG_ENABLE([runuser],
1727 AS_HELP_STRING([--disable-runuser], [do not build runuser]),
1728 [], [UL_DEFAULT_ENABLE([runuser], [check])]
1730 UL_BUILD_INIT([runuser])
1731 UL_REQUIRES_HAVE([runuser], [security_pam_appl_h], [PAM header file])
1732 UL_REQUIRES_HAVE([runuser], [utmp_h], [utmp.h header])
1733 AM_CONDITIONAL([BUILD_RUNUSER], [test "x$build_runuser" = xyes])
1737 AS_HELP_STRING([--disable-ul], [do not build ul]),
1738 [], [UL_DEFAULT_ENABLE([ul], [check])]
1741 UL_REQUIRES_HAVE([ul], [ncurses, tinfo], [ncurses or tinfo libraries])
1742 AM_CONDITIONAL([BUILD_UL], [test "x$build_ul" = xyes])
1745 AC_ARG_ENABLE([more],
1746 AS_HELP_STRING([--disable-more], [do not build more]),
1747 [], [UL_DEFAULT_ENABLE([more], [check])]
1749 UL_BUILD_INIT([more])
1750 UL_REQUIRES_HAVE([more], [ncurses, tinfo, termcap], [ncurses, tinfo or termcap libraries])
1751 AM_CONDITIONAL([BUILD_MORE], [test "x$build_more" = xyes])
1755 AS_HELP_STRING([--disable-pg], [do not build pg]),
1756 [], [UL_DEFAULT_ENABLE([pg], [check])]
1759 UL_REQUIRES_HAVE([pg], [ncurses], [ncurses or ncursesw library])
1760 AM_CONDITIONAL([BUILD_PG], [test "x$build_pg" = xyes])
1763 AC_ARG_ENABLE([setterm],
1764 AS_HELP_STRING([--disable-setterm], [do not build setterm]),
1765 [], [UL_DEFAULT_ENABLE([setterm], [check])]
1767 UL_BUILD_INIT([setterm])
1768 UL_REQUIRES_LINUX([setterm])
1769 UL_REQUIRES_HAVE([setterm], [ncurses], [ncurses library])
1770 AM_CONDITIONAL([BUILD_SETTERM], [test "x$build_setterm" = xyes])
1772 # build_schedutils= is just configure-only variable to control
1773 # ionice, taskset and chrt
1774 AC_ARG_ENABLE([schedutils],
1775 AS_HELP_STRING([--disable-schedutils], [do not build chrt, ionice, taskset]),
1776 [], [UL_DEFAULT_ENABLE([schedutils], [yes])]
1778 UL_BUILD_INIT([schedutils])
1780 UL_BUILD_INIT([ionice], [check])
1781 UL_REQUIRES_BUILD([ionice], [schedutils])
1782 UL_REQUIRES_SYSCALL_CHECK([ionice],
1783 [UL_CHECK_SYSCALL([ioprio_set],
1794 UL_REQUIRES_SYSCALL_CHECK([ionice],
1795 [UL_CHECK_SYSCALL([ioprio_get],
1806 AM_CONDITIONAL([BUILD_IONICE], [test "x$build_ionice" = xyes])
1808 UL_BUILD_INIT([taskset], [check])
1809 UL_REQUIRES_BUILD([taskset], [schedutils])
1810 UL_REQUIRES_HAVE([taskset], [cpu_set_t], [cpu_set_t type])
1811 UL_REQUIRES_SYSCALL_CHECK([taskset],
1812 [UL_CHECK_SYSCALL([sched_getaffinity])],
1813 [sched_getaffinity])
1814 AM_CONDITIONAL([BUILD_TASKSET], [test "x$build_taskset" = xyes])
1818 AS_IF([test "x$ac_cv_func_sched_setscheduler" = xyes], [have_schedsetter=yes],
1819 [test "x$ac_cv_func_sched_setattr" = xyes], [have_schedsetter=yes])
1821 UL_BUILD_INIT([chrt], [check])
1822 UL_REQUIRES_BUILD([chrt], [schedutils])
1823 UL_REQUIRES_HAVE([chrt], [schedsetter], [sched_set functions])
1824 AM_CONDITIONAL([BUILD_CHRT], [test "x$build_chrt" = xyes])
1826 AS_IF([test "x$build_chrt" = xyes], [
1827 UL_CHECK_SYSCALL([sched_setattr])
1831 AC_ARG_ENABLE([wall],
1832 AS_HELP_STRING([--disable-wall], [do not build wall]),
1833 [], [UL_DEFAULT_ENABLE([wall], [check])]
1835 UL_BUILD_INIT([wall])
1836 UL_REQUIRES_HAVE([wall], [utmp_h], [utmp.h header])
1837 AM_CONDITIONAL([BUILD_WALL], [test "x$build_wall" = xyes])
1840 AC_ARG_ENABLE([write],
1841 AS_HELP_STRING([--enable-write], [build write]),
1842 [], [UL_DEFAULT_ENABLE([write], [no])]
1844 UL_BUILD_INIT([write])
1845 UL_REQUIRES_HAVE([write], [utmp_h], [utmp.h header])
1846 AM_CONDITIONAL([BUILD_WRITE], [test "x$build_write" = xyes])
1849 AC_ARG_WITH([btrfs],
1850 AS_HELP_STRING([--with-btrfs], [build with support for btrfs]),
1851 [], [with_btrfs=check]
1854 AS_IF([test "x$with_btrfs" != xno], [
1855 AS_CASE([$with_btrfs:$have_linux_btrfs_h],
1857 [AC_MSG_ERROR([btrfs selected but linux/btrfs.h not found])],
1859 [AC_MSG_WARN([linux/btrfs.h not found, do not build with btrfs support])],
1862 AC_DEFINE([HAVE_BTRFS_SUPPORT], [1], [Define if btrfs stuff is available])]
1865 AM_CONDITIONAL([HAVE_BTRFS], [test "x$have_btrfs" = xyes])
1868 AC_ARG_WITH([systemd],
1869 AS_HELP_STRING([--with-systemd], [build with support for systemd]),
1870 [], [with_systemd=check]
1874 AS_IF([test "x$with_systemd" != xno], [
1875 # new version -- all libsystemd-* libs merged into libsystemd
1876 PKG_CHECK_MODULES([SYSTEMD], [libsystemd], [have_systemd=yes], [have_systemd=no])
1878 AS_IF([test "x$have_systemd" != "xyes"], [
1879 PKG_CHECK_MODULES([SYSTEMD_DAEMON], [libsystemd-daemon],
1880 [have_systemd_daemon=yes], [have_systemd_daemon=no])
1881 PKG_CHECK_MODULES([SYSTEMD_JOURNAL], [libsystemd-journal],
1882 [have_systemd_journal=yes], [have_systemd_journal=no])
1883 AS_IF([test "x$have_systemd_daemon" = "xyes" -a "x$have_systemd_journal" = "xyes" ],[
1886 AS_CASE([$with_systemd:$have_systemd],
1888 [AC_MSG_ERROR([systemd expected but libsystemd not found])],
1890 AC_DEFINE([HAVE_LIBSYSTEMD], [1], [Define if libsystemd is available])
1893 AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$have_systemd" = xyes])
1896 AC_ARG_WITH([systemdsystemunitdir],
1897 AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [directory for systemd service files]),
1898 [], [with_systemdsystemunitdir=`$PKG_CONFIG --variable=systemdsystemunitdir systemd`])
1900 AS_IF([test "x$with_systemdsystemunitdir" != "xno"], [
1901 AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
1905 AC_ARG_WITH([smack],
1906 AS_HELP_STRING([--with-smack], [build with SMACK support]),
1909 AS_IF([test "x$with_smack" = xyes], [
1910 AC_DEFINE([HAVE_SMACK], [1], [Add SMACK support])
1914 AC_ARG_WITH([bashcompletiondir],
1915 AS_HELP_STRING([--with-bashcompletiondir=DIR], [Bash completions directory]),
1917 [AS_IF([`$PKG_CONFIG --exists bash-completion`], [
1918 with_bashcompletiondir=`$PKG_CONFIG --variable=completionsdir bash-completion`
1920 with_bashcompletiondir=${datadir}/bash-completion/completions
1923 AC_SUBST([bashcompletiondir], [$with_bashcompletiondir])
1925 AC_ARG_ENABLE([bash-completion],
1926 AS_HELP_STRING([--disable-bash-completion], [do not install bash completion files]),
1927 [], [enable_bash_completion=yes]
1930 AM_CONDITIONAL([BUILD_BASH_COMPLETION], [test "x$enable_bash_completion" = xyes])
1933 AC_ARG_WITH([python],
1934 AS_HELP_STRING([--without-python], [do not build python bindings, use --with-python={2,3} to force version]),
1935 [], [with_python=check withval=check]
1940 AS_IF([test "x$with_python" != xno], [
1941 # We follow distributions default and look for PKG module name "python"
1942 # (minimal version is 2) but if major version is explicitly specified by
1943 # --with-python=2 or --with-python=3 then we look for PKG module "python2" or
1945 AS_IF([test "x$withval" != xno -a "x$withval" != xyes -a "x$withval" != xcheck],
1946 [pymajor="$withval"; PYTHON=python${pymajor}], [pymajor="2"])
1948 # check for python interpreter
1949 AM_PATH_PYTHON([$pymajor], [have_python=yes], [have_python=no])
1950 AS_CASE([$with_python:$have_python],
1952 [AC_MSG_ERROR([python selected but python interpreter not found])],
1954 [AC_MSG_WARN([python interpreter not found, do not build python bindings])],
1956 # check for python development stuff
1957 [PKG_CHECK_MODULES([PYTHON], [python-$PYTHON_VERSION],
1958 [have_libpython=yes], [have_libpython=no])]
1963 AC_ARG_ENABLE([pylibmount],
1964 AS_HELP_STRING([--disable-pylibmount], [do not build pylibmount]),
1965 [], [UL_DEFAULT_ENABLE([pylibmount], [check])]
1967 UL_BUILD_INIT([pylibmount])
1968 UL_REQUIRES_HAVE([pylibmount], [libpython], [libpython])
1969 UL_REQUIRES_BUILD([pylibmount], [libmount])
1970 AM_CONDITIONAL([BUILD_PYLIBMOUNT], [test "x$build_pylibmount" = "xyes"])
1972 # We need to introduce a verbatim dependency into the Makefile, without automake
1973 # trying to interpret it, so push it as a AM_SUBST_NOTMAKE variable.
1974 verbatim_pylibmount_dependency='
1976 # pylibmountexec module must be installed after usrlib_exec libraries,
1977 # otherwise the libtool relink step will fail to find libmount.la and
1978 # will try -lmount which is possibly not available.
1979 install-pylibmountexecLTLIBRARIES: install-usrlib_execLTLIBRARIES
1982 AC_SUBST([verbatim_pylibmount_dependency])
1983 AM_SUBST_NOTMAKE([verbatim_pylibmount_dependency])
1985 AC_ARG_ENABLE([pg-bell],
1986 AS_HELP_STRING([--disable-pg-bell], [let pg not ring the bell on invalid keys]),
1987 [], [enable_pg_bell=yes]
1990 AS_IF([test "x$enable_pg_bell" = xyes], [
1991 AC_DEFINE([PG_BELL], [1], [Should pg ring the bell on invalid keys?])
1995 AC_DEFUN([FS_PATHS_DEFAULT], [/sbin:/sbin/fs.d:/sbin/fs])
1996 AC_ARG_ENABLE([fs-paths-default],
1997 AS_HELP_STRING([--enable-fs-paths-default=paths], [default search path for fs helpers @<:@FS_PATHS_DEFAULT@:>@]),
1998 [AS_CASE([$enableval],
1999 [yes], [fs_paths_defaults="FS_PATHS_DEFAULT"],
2000 [no], [fs_paths_defaults=""],
2001 [fs_paths_defaults="$enableval"]
2003 [fs_paths_defaults="FS_PATHS_DEFAULT"]
2005 AC_ARG_ENABLE([fs-paths-extra],
2006 AS_HELP_STRING([--enable-fs-paths-extra=paths], [additional search paths for fs helpers]),
2007 [AS_CASE([$enableval],
2008 [yes|no], [fs_paths_extra=""],
2009 [fs_paths_extra="$enableval"]
2013 fs_paths="$fs_paths_defaults"
2014 AS_IF([test "x$fs_paths_extra" != "x"], [
2015 AS_IF([test "x$fs_paths" != "x"], [
2016 fs_paths="${fs_paths}:"
2018 fs_paths="${fs_paths}${fs_paths_extra}"
2020 AC_DEFINE_UNQUOTED([FS_SEARCH_PATH], "$fs_paths", [search path for fs helpers])
2023 AC_ARG_ENABLE([use-tty-group],
2024 AS_HELP_STRING([--disable-use-tty-group], [do not install wall and write setgid tty]),
2025 [], [enable_use_tty_group=yes]
2027 AM_CONDITIONAL([USE_TTY_GROUP], [test "x$enable_use_tty_group" = xyes])
2029 AS_IF([test "x$enable_use_tty_group" = xyes], [
2030 AC_DEFINE([USE_TTY_GROUP], [1], [Should wall and write be installed setgid tty?])
2034 AC_ARG_ENABLE([sulogin-emergency-mount],
2035 AS_HELP_STRING([--enable-sulogin-emergency-mount],
2036 [use emergency mount of /dev and /proc for sulogin]),
2037 [], [enable_sulogin_emergency_mount=no]
2040 AS_IF([test "x$enable_sulogin_emergency_mount" = xyes], [
2041 AC_DEFINE([USE_SULOGIN_EMERGENCY_MOUNT], [1],
2042 [Should sulogin use a emergency mount of /dev and /proc?])
2046 AC_ARG_ENABLE([usrdir-path],
2047 AS_HELP_STRING([--enable-usrdir-path], [use only /usr paths in PATH env. variable (recommended on systems with /bin -> /usr/bin symlinks)]),
2048 [], [enable_usrdir_path=no]
2051 AS_IF([test "x$enable_usrdir_path" == xyes], [
2052 AC_DEFINE([USE_USRDIR_PATHS_ONLY], [1], [Define to 1 to remove /bin and /sbin from PATH env.variable])
2056 AC_ARG_ENABLE([makeinstall-chown],
2057 AS_HELP_STRING([--disable-makeinstall-chown], [do not do chown-like operations during "make install"]),
2058 [], [enable_makeinstall_chown=yes]
2060 AM_CONDITIONAL([MAKEINSTALL_DO_CHOWN], [test "x$enable_makeinstall_chown" = xyes])
2063 AC_ARG_ENABLE([makeinstall-setuid],
2064 AS_HELP_STRING([--disable-makeinstall-setuid], [do not do setuid chmod operations during "make install"]),
2065 [], [enable_makeinstall_setuid=yes]
2067 AM_CONDITIONAL([MAKEINSTALL_DO_SETUID], [test "x$enable_makeinstall_setuid" = xyes])
2070 AC_ARG_ENABLE([colors-default],
2071 AS_HELP_STRING([--disable-colors-default], [do not colorize output from utils by default]),
2072 [], [enable_colors_default=yes]
2074 AS_IF([test "x$enable_colors_default" = xyes], [
2075 AC_DEFINE([USE_COLORS_BY_DEFAULT], [1], [Enables colorized output from utils by default])
2079 AC_ARG_VAR([SUID_CFLAGS],
2080 [CFLAGS used for binaries which are usually with the suid bit])
2081 AC_ARG_VAR([SUID_LDFLAGS],
2082 [LDFLAGS used for binaries which are usually with the suid bit])
2084 AC_ARG_VAR([DAEMON_CFLAGS],
2085 [CFLAGS used for binaries which are usually executed as daemons])
2086 AC_ARG_VAR([DAEMON_LDFLAGS],
2087 [LDFLAGS used for binaries which are usually executed as daemons])
2089 AC_ARG_VAR([SOLIB_CFLAGS],
2090 [CFLAGS used for shared libraries])
2091 AC_ARG_VAR([SOLIB_LDFLAGS],
2092 [LDFLAGS used for shared libraries])
2094 AC_ARG_VAR([ADJTIME_PATH],
2095 [Path to hwclock adjtime file, default /etc/adjtime])
2096 AS_IF([test "x$ADJTIME_PATH" = x], [ADJTIME_PATH="/etc/adjtime"])
2097 AC_DEFINE_UNQUOTED([CONFIG_ADJTIME_PATH], "$ADJTIME_PATH", [Path to hwclock adjtime file])
2103 AC_CONFIG_HEADERS([config.h])
2106 # Don't use configure.ac to replace install paths! See Makefile PATHFILES for
2111 libblkid/docs/Makefile
2112 libblkid/docs/version.xml
2113 libblkid/src/blkid.h
2114 libfdisk/docs/Makefile
2115 libfdisk/docs/version.xml
2116 libfdisk/src/libfdisk.h
2117 libmount/docs/Makefile
2118 libmount/docs/version.xml
2119 libmount/src/libmount.h
2120 libsmartcols/docs/Makefile
2121 libsmartcols/docs/version.xml
2122 libsmartcols/src/libsmartcols.h
2129 ${PACKAGE} ${VERSION}
2132 exec prefix: ${exec_prefix}
2134 localstatedir: ${localstatedir}
2138 includedir: ${includedir}
2139 usrbin_execdir: ${usrbin_execdir}
2140 usrsbin_execdir: ${usrsbin_execdir}
2141 usrlib_execdir: ${usrlib_execdir}
2145 suid cflags: ${SUID_CFLAGS}
2147 suid ldflags: ${SUID_LDFLAGS}
2150 Python version: ${PYTHON_VERSION}
2151 Python libs: ${pyexecdir}
2153 Bash completions: ${with_bashcompletiondir}
2154 Systemd support: ${have_systemd}
2155 Btrfs support: ${have_btrfs}
2161 Type 'make' or 'make <utilname>' to compile.