2 m4_esyscmd([tools/git-version-gen .tarball-version]),
4 [http://www.kernel.org/pub/linux/utils/util-linux/])
8 AC_CONFIG_AUX_DIR([config])
9 AC_CONFIG_MACRO_DIR([m4])
10 dnl AC_USE_SYSTEM_EXTENSIONS must be called before any macros that run
11 dnl the compiler (like AC_PROG_LIBTOOL) to avoid autoconf errors.
12 AC_USE_SYSTEM_EXTENSIONS
13 AM_INIT_AUTOMAKE([-Wall foreign 1.10 tar-pax dist-bzip2 no-dist-gzip dist-xz -Wno-portability subdir-objects])
15 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
16 [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
18 AC_CONFIG_SRCDIR([sys-utils/mount.c])
19 AC_PREFIX_DEFAULT([/usr])
21 dnl version details from <major>.<minor>[-<suffix>]
22 PACKAGE_VERSION_MAJOR=$(echo $PACKAGE_VERSION | awk -F. '{print $1}')
23 PACKAGE_VERSION_MINOR=$(echo $PACKAGE_VERSION | awk -F. '{print $2}' \
24 | awk -F- '{print $1}')
25 PACKAGE_VERSION_RELEASE=0
28 LIBBLKID_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
29 LIBBLKID_DATE="19-Feb-2015"
33 LIBBLKID_VERSION_INFO=`expr $LIBBLKID_LT_MAJOR + $LIBBLKID_LT_MINOR`:$LIBBLKID_LT_MICRO:$LIBBLKID_LT_MINOR
36 LIBUUID_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
40 LIBUUID_VERSION_INFO=`expr $LIBUUID_LT_MAJOR + $LIBUUID_LT_MINOR`:$LIBUUID_LT_MICRO:$LIBUUID_LT_MINOR
43 LIBMOUNT_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
47 LIBMOUNT_VERSION_INFO=`expr $LIBMOUNT_LT_MAJOR + $LIBMOUNT_LT_MINOR`:$LIBMOUNT_LT_MICRO:$LIBMOUNT_LT_MINOR
49 dnl libsmartcols version
50 LIBSMARTCOLS_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
51 LIBSMARTCOLS_LT_MAJOR=1
52 LIBSMARTCOLS_LT_MINOR=1
53 LIBSMARTCOLS_LT_MICRO=0
54 LIBSMARTCOLS_VERSION_INFO=`expr $LIBSMARTCOLS_LT_MAJOR + $LIBSMARTCOLS_LT_MINOR`:$LIBSMARTCOLS_LT_MICRO:$LIBSMARTCOLS_LT_MINOR
57 LIBFDISK_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
61 LIBFDISK_VERSION_INFO=`expr $LIBFDISK_LT_MAJOR + $LIBFDISK_LT_MINOR`:$LIBFDISK_LT_MICRO:$LIBFDISK_LT_MINOR
63 # Check whether exec_prefix=/usr:
64 AS_CASE([$exec_prefix:$prefix],
65 [NONE:NONE | NONE:/usr | /usr:*],
66 [AC_MSG_NOTICE([Default --exec-prefix detected.])
67 AS_CASE([$bindir], ['${exec_prefix}/bin'], [bindir=/bin; AC_MSG_NOTICE([ --bindir defaults to /bin]) ])
68 AS_CASE([$sbindir], ['${exec_prefix}/sbin'], [sbindir=/sbin; AC_MSG_NOTICE([ --sbindir defaults to /sbin])])
69 AS_CASE([$libdir], ['${exec_prefix}/lib'], [libdir=/lib; AC_MSG_NOTICE([ --libdir defaults to /lib]) ])
73 AS_CASE([$prefix:$localstatedir],
74 [NONE:'${prefix}/var' | /usr:'${prefix}/var'],
76 AC_MSG_NOTICE([ --localstatedir defaults to /run])
79 AC_SUBST([localstatedir])
82 # The original default values of {bin,sbin,lib}dir
83 usrbin_execdir='${exec_prefix}/bin'
84 AC_SUBST([usrbin_execdir])
86 usrsbin_execdir='${exec_prefix}/sbin'
87 AC_SUBST([usrsbin_execdir])
90 ['${exec_prefix}/'* | '${prefix}/'* | /usr/* | "${prefix}"/* ],
91 [usrlib_execdir=$libdir],
92 [usrlib_execdir='${exec_prefix}'$libdir]
94 AC_SUBST([usrlib_execdir])
104 dnl Compiler warnings
105 UL_WARN_ADD([-fno-common])
107 UL_WARN_ADD([-Werror=sequence-point])
108 UL_WARN_ADD([-Wextra])
109 UL_WARN_ADD([-Wextra-semi])
110 UL_WARN_ADD([-Wembedded-directive])
111 UL_WARN_ADD([-Wmissing-declarations])
112 UL_WARN_ADD([-Wmissing-parameter-type])
113 UL_WARN_ADD([-Wmissing-prototypes])
114 UL_WARN_ADD([-Wno-missing-field-initializers])
115 UL_WARN_ADD([-Wredundant-decls])
116 UL_WARN_ADD([-Wsign-compare])
117 UL_WARN_ADD([-Wtype-limits])
118 UL_WARN_ADD([-Wuninitialized])
119 UL_WARN_ADD([-Wunused-but-set-parameter])
120 UL_WARN_ADD([-Wunused-but-set-variable])
121 UL_WARN_ADD([-Wunused-parameter])
122 UL_WARN_ADD([-Wunused-result])
123 UL_WARN_ADD([-Wunused-variable])
124 UL_WARN_ADD([-Wnested-externs])
125 UL_WARN_ADD([-Wpointer-arith])
126 UL_WARN_ADD([-Wstrict-prototypes])
127 UL_WARN_ADD([-Wformat-security])
128 UL_WARN_ADD([-Wimplicit-function-declaration])
129 AC_SUBST([WARN_CFLAGS])
131 UL_WARN_ADD([-Wno-clobbered], [BSD_WARN_CFLAGS])
132 AC_SUBST([BSD_WARN_CFLAGS])
137 m4_ifndef([PKG_PROG_PKG_CONFIG],
138 [m4_fatal([Could not locate the pkg-config autoconf
139 macros. These are usually located in /usr/share/aclocal/pkg.m4.
140 If your macros are in a different location, try setting the
141 environment variable AL_OPTS="-I/other/macro/dir" before running
142 ./autogen.sh or autoreconf again.])])
145 GTK_DOC_CHECK([1.10])
146 AC_PATH_PROG([XSLTPROC], [xsltproc])
151 AS_CASE([${host_os}],
156 AM_CONDITIONAL([LINUX], [test "x$linux_os" = xyes])
157 AM_CONDITIONAL([BSD], [test "x$bsd_os" = xyes])
160 dnl define ARCH_<NAME> conditionals
161 UL_SET_ARCH([I86], [i?86-*])
162 UL_SET_ARCH([86_64], [x86_64*])
163 UL_SET_ARCH([IA64], [ia64*])
164 UL_SET_ARCH([S390], [s390*])
165 UL_SET_ARCH([SPARC], [sparc*])
166 UL_SET_ARCH([PPC], [ppc*|powerpc*])
167 UL_SET_ARCH([M68K], [m68*])
168 UL_SET_ARCH([MIPS], [mips*])
169 UL_SET_ARCH([HPPA], [hppa*])
173 dnl Don't forget to maintain alternatively allowed versions in autogen.sh!
174 AM_GNU_GETTEXT_VERSION([0.18.3])
175 AM_GNU_GETTEXT([external])
177 AS_IF([test -d "$srcdir/po"], [
178 ALL_LINGUAS=`cd $srcdir/po > /dev/null && echo *.po | sed 's/\.po//g'`
180 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"
183 AC_CHECK_HEADERS([linux/compiler.h linux/blkpg.h linux/major.h], [], [], [
184 #ifdef HAVE_LINUX_COMPILER_H
185 #include <linux/compiler.h>
211 security/pam_appl.h \
242 AC_CHECK_HEADERS([security/pam_misc.h],
243 [AM_CONDITIONAL([HAVE_LINUXPAM], [true])],
244 [AM_CONDITIONAL([HAVE_LINUXPAM], [false])], [
245 #ifdef HAVE_SECURITY_PAM_APPL_H
246 #include <security/pam_appl.h>
250 AC_CHECK_HEADERS([security/openpam.h], [], [], [
251 #ifdef HAVE_SECURITY_PAM_APPL_H
252 #include <security/pam_appl.h>
256 AC_CHECK_HEADERS([langinfo.h],
257 [AM_CONDITIONAL([HAVE_LANGINFO], [true])],
258 [AM_CONDITIONAL([HAVE_LANGINFO], [false])])
260 dnl Convert some ac_cv_header_* variables to have_*
262 have_linux_raw_h=$ac_cv_header_linux_raw_h
263 have_linux_securebits_h=$ac_cv_header_linux_securebits_h
264 have_linux_watchdog_h=$ac_cv_header_linux_watchdog_h
265 have_security_pam_appl_h=$ac_cv_header_security_pam_appl_h
266 have_security_pam_misc_h=$ac_cv_header_security_pam_misc_h
267 have_security_openpam_h=$ac_cv_header_security_openpam_h
269 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
274 struct tm *tm = localtime(0);
275 if (a == -1) /* false */
276 sleep(tm->tm_gmtoff);
278 [AC_DEFINE([HAVE_TM_GMTOFF], [1], [Does struct tm have a field tm_gmtoff?])
281 AC_CHECK_MEMBERS([struct termios.c_line],,,
282 [[#include <termios.h>]])
284 AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec],,,
285 [#include <sys/stat.h>])
287 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
289 #ifdef HAVE_SYS_SWAP_H
290 # include <sys/swap.h>
294 [[swapon("/dev/null", 0);]])],
295 [AC_DEFINE([SWAPON_HAS_TWO_ARGS], [1], [Is swapon() declared with two parameters?])
297 [AC_MSG_NOTICE([Your libc thinks that swapon has 1 arg only.])
301 AC_CHECK_DECLS([_NL_TIME_WEEK_1STDAY],[],[],[[#include <langinfo.h>]])
303 AC_CHECK_DECL([llseek],
304 [AC_DEFINE([HAVE_LLSEEK_PROTOTYPE], [1],
305 [Define to 1 if have llseek prototype])],
307 [#include <unistd.h>])
309 AC_CHECK_DECL([lseek64],
310 [AC_DEFINE([HAVE_LSEEK64_PROTOTYPE], [1],
311 [Define to 1 if have lseek64 prototype])],
313 [#define _LARGEFILE_SOURCE
314 #define _LARGEFILE64_SOURCE
315 #include <unistd.h>])
317 AC_CHECK_DECL([environ],
318 [AC_DEFINE([HAVE_ENVIRON_DECL], [1],
319 [Define to 1 if have **environ prototype])],
322 AC_CHECK_DECL([strsignal],
323 [AC_DEFINE([HAVE_STRSIGNAL_DECL], [1],
324 [Define to 1 if have strsignal function prototype])],
372 AC_CHECK_FUNCS([openat fstatat unlinkat], [have_openat=yes], [have_openat=no])
373 AC_CHECK_FUNCS([ioperm iopl], [have_io=yes])
374 AC_CHECK_FUNCS([futimens], [have_futimens=yes])
375 AC_CHECK_FUNCS([inotify_init1], [have_inotify_init1=yes])
377 dnl lib/mononotic.c may require -lrt
378 AC_CHECK_FUNCS([clock_gettime], [],
379 [AC_CHECK_LIB([rt], [clock_gettime], [REALTIME_LIBS="-lrt"])]
381 AC_SUBST([REALTIME_LIBS])
384 AC_CHECK_FUNCS([timer_createx],
386 [AC_CHECK_LIB([rt], [timer_create], [
393 AC_CHECK_MEMBER([struct sockaddr.sa_len],
394 AC_DEFINE_UNQUOTED([HAVE_SA_LEN], [1], [Define if struct sockaddr contains sa_len]), [],
395 [#include <sys/types.h>
396 #include <sys/socket.h>])
399 AC_SEARCH_LIBS([socket], [socket],
400 [AS_IF([test x"$ac_cv_search_socket" != x"none required"],
401 [SOCKET_LIBS="$SOCKET_LIBS -lsocket"])
403 AC_SUBST([SOCKET_LIBS])
407 AC_CHECK_FUNCS([dirfd], [have_dirfd=yes], [have_dirfd=no])
408 AS_IF([test x"$have_dirfd" = xno], [
409 AC_CHECK_DECLS([dirfd],
410 [have_dirfd=yes], [have_dirfd=no],
411 [#include <sys/types.h>
412 #include <dirent.h>])
416 AS_IF([test x"$have_dirfd" = xno], [
417 AC_CHECK_MEMBERS([DIR.dd_fd],
418 [have_ddfd=yes], [have_ddfd=no],
419 [#include <sys/types.h>
420 #include <dirent.h>])
423 AS_CASE([$have_dirfd:$have_ddfd],
425 [AC_MSG_ERROR([cannot find a method to get filedescriptor of directory])]
429 AC_MSG_CHECKING([whether program_invocation_short_name is defined])
430 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
433 program_invocation_short_name = "test";
436 AC_DEFINE([HAVE_PROGRAM_INVOCATION_SHORT_NAME], [1],
437 [Define if program_invocation_short_name is defined])
443 AC_MSG_CHECKING([whether __progname is defined])
444 AC_LINK_IFELSE([AC_LANG_PROGRAM([extern char *__progname;],
445 [if (*__progname == 0) return;])],
446 AC_DEFINE([HAVE___PROGNAME], [1], [Define if __progname is defined])
447 AC_MSG_RESULT([yes]),
450 dnl Static compilation
451 m4_define([UL_STATIC_PROGRAMS], [losetup, mount, umount, fdisk, sfdisk, blkid, nsenter])
453 AC_ARG_ENABLE([static-programs],
454 [AS_HELP_STRING([--enable-static-programs=LIST],
455 [link static the programs in LIST (comma-separated,
456 supported for ]m4_defn([UL_STATIC_PROGRAMS])[)])])
458 AS_CASE([$enable_static_programs],
460 [enable_static_programs=m4_quote(UL_STATIC_PROGRAMS)],
462 [enable_static_programs=]
465 dnl Set all the individual AM_CONDITIONALs
466 m4_foreach([UL_PRG], m4_defn([UL_STATIC_PROGRAMS]), [
467 AS_CASE([,$enable_static_programs,],
468 [*,UL_PRG,*], [static_[]UL_PRG=yes]
470 AS_IF([test "x$static_[]UL_PRG" = xyes], [AC_MSG_NOTICE([enable static build: UL_PRG.])])
471 AM_CONDITIONAL([HAVE_STATIC_]m4_toupper(UL_PRG),
472 [test "x$static_[]UL_PRG" = xyes])
476 AC_ARG_ENABLE([all-programs],
477 AS_HELP_STRING([--disable-all-programs], [disable everything, might be overridden by --enable-<name>]),
478 [], [enable_all_programs=undefined]
481 AS_CASE([$enable_all_programs],
482 [yes], [AC_MSG_WARN([force to build all programs by default])
483 ul_default_estate=check],
484 [no], [AC_MSG_WARN([disable all programs by default])
485 ul_default_estate=no]
491 AC_DEFUN([UL_SCANF_TYPE_MODIFIER], [dnl
498 i = sscanf("x", $1, &s);
505 ul_save_CPPFLAGS="$CPPFLAGS"
506 CPPFLAGS="-Werror ${CPPFLAGS}"
507 AC_CACHE_VAL([scanf_cv_alloc_modifier],
508 AC_RUN_IFELSE([AC_LANG_SOURCE([UL_SCANF_TYPE_MODIFIER(["%ms"])])],
509 [scanf_cv_alloc_modifier=ms],
510 AC_RUN_IFELSE([AC_LANG_SOURCE([UL_SCANF_TYPE_MODIFIER(["%as"])])],
511 [scanf_cv_alloc_modifier=as],
512 [scanf_cv_alloc_modifier=no]
516 [AC_COMPILE_IFELSE([AC_LANG_SOURCE([
522 #if !(__GLIBC_PREREQ(2, 7))
523 #error %m is not available
526 #elif defined(_POSIX_VERSION)
528 #if _POSIX_VERSION < 200809L
529 #error %m is not available
533 #error Your C-library is not supported.
536 [scanf_cv_alloc_modifier=ms],
537 [scanf_cv_alloc_modifier=no])]
540 CPPFLAGS="$ul_save_CPPFLAGS"
542 AC_MSG_CHECKING([scanf string alloc modifiers])
543 AS_CASE([$scanf_cv_alloc_modifier],
545 [AC_MSG_RESULT([(%ms) yes])
546 AC_DEFINE([HAVE_SCANF_MS_MODIFIER], [1], [scanf %ms modifier])
547 have_scanf_alloc_modifier=yes],
549 [AC_MSG_RESULT([(%as) yes])
550 have_scanf_alloc_modifier=yes
551 AC_DEFINE([HAVE_SCANF_AS_MODIFIER], [1], [scanf %as modifier])],
553 have_scanf_alloc_modifier=no]
556 UL_CHECK_LIB([util], [openpty])
557 UL_CHECK_LIB([termcap], [tgetnum])
559 AC_CHECK_TYPES([union semun], [], [], [[
562 AC_CHECK_TYPES([loff_t])
564 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
572 if (w == WEOF) exit(1);
576 [AC_DEFINE([HAVE_WIDECHAR], [1], [Do we have wide character support?])
579 AC_CHECK_TYPES([cpu_set_t], [have_cpu_set_t=yes], [], [[
583 AM_CONDITIONAL([HAVE_CPU_SET_T], [test "x$have_cpu_set_t" = xyes])
585 AC_CHECK_TYPES([sighandler_t], [], [], [[
589 AC_CHECK_DECLS([CPU_ALLOC], [], [], [[
593 # on Solaris, you can't mix and match standards, since we use c99
594 # aparently at this stage, XOPEN_SOURCE will conflict. As workaround,
595 # check for crypt.h and use that without XOPEN_SOURCE.
596 AC_CHECK_HEADERS([crypt.h])
597 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
601 #define _XOPEN_SOURCE
605 char *c = crypt("abc","pw");
608 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
612 #define _XOPEN_SOURCE
616 char *c = crypt("abc","pw");
618 AC_DEFINE([HAVE_LIBCRYPT], [1], [Do we need -lcrypt?])
621 AC_MSG_ERROR([crypt() is not available])
624 AM_CONDITIONAL([HAVE_LIBCRYPT], [test "x$have_libcrypt" = xyes])
627 AC_ARG_WITH([selinux],
628 AS_HELP_STRING([--with-selinux], [compile with SELinux support]),
629 [], [with_selinux=no]
632 AS_IF([test "x$with_selinux" = xno], [
633 AM_CONDITIONAL([HAVE_SELINUX], [false])
635 PKG_CHECK_MODULES([SELINUX], [libselinux >= 2.0],
636 [AC_DEFINE([HAVE_LIBSELINUX], [1], [Define if SELinux is available])
637 UL_PKG_STATIC([SELINUX_LIBS_STATIC], [libselinux])
638 AM_CONDITIONAL([HAVE_SELINUX], [true])
642 AS_CASE([$with_selinux:$have_selinux],
643 [yes:no], [AC_MSG_ERROR([SELinux selected but libselinux not found or too old])]
646 AS_IF([test "x$have_selinux" = xyes], [
647 UL_SET_FLAGS([], [], [$SELINUX_LIBS])
648 # This function is missing in old libselinux 1.xx versions
649 AC_CHECK_FUNCS([security_get_initial_context])
653 AC_SUBST([SELINUX_LIBS])
654 AC_SUBST([SELINUX_LIBS_STATIC])
658 AS_HELP_STRING([--with-audit], [compile with audit support]),
662 AS_IF([test "x$with_audit" = xno], [
663 AM_CONDITIONAL([HAVE_AUDIT], [false])
665 UL_CHECK_LIB([audit], [audit_log_user_message])
666 AS_CASE([$with_audit:$have_audit],
668 [AC_MSG_ERROR([Audit selected but libaudit not found (or does not support audit_log_user_message())])]
672 AC_ARG_WITH([udev], AS_HELP_STRING([--without-udev], [compile without udev support]),
676 AS_IF([test "x$with_udev" = xno], [
677 AM_CONDITIONAL([HAVE_UDEV], [false])
679 UL_CHECK_LIB([udev], [udev_new])
680 AS_CASE([$with_udev:$have_udev],
682 [AC_MSG_ERROR([udev selected but libudev not found])]
686 AC_ARG_WITH([ncurses],
687 AS_HELP_STRING([--with-ncurses], [build with non-wide ncurses, default is wide version
688 (--without-ncurses disables all ncurses(w) support)]),
689 [], [with_ncurses=auto]
691 AM_CONDITIONAL([HAVE_NCURSES], [false])
692 AS_IF([test "x$with_ncurses" != xno], [
695 dnl First try to find the pkg-config module.
696 PKG_CHECK_MODULES(NCURSESW, [ncursesw], [
698 NCURSES_LIBS=${NCURSESW_LIBS}
699 NCURSES_CFLAGS=${NCURSESW_CFLAGS}
700 AC_DEFINE([HAVE_LIBNCURSESW])
701 CURSES_LIB_NAME="ncursesw"
703 PKG_CHECK_MODULES(NCURSES, [ncurses], [
705 AC_DEFINE([HAVE_LIBNCURSES])
706 CURSES_LIB_NAME="ncursesw"
710 AS_IF([test "x$have_ncurses" = xyes], [
711 dnl If that worked, setup the defines that the code expects.
712 save_CPPFLAGS="$CPPFLAGS"
713 CPPFLAGS="$CPPFLAGS $NCURSES_CFLAGS"
714 AC_CHECK_HEADERS([ncurses.h])
715 CPPFLAGS="$save_CPPFLAGS"
717 dnl If that failed, fall back to classic searching.
718 AC_CHECK_HEADERS([ncurses.h ncurses/ncurses.h], [
719 AS_IF([test "x$with_ncurses" = xauto], [
720 UL_CHECK_LIB([ncursesw], [initscr], [ncurses])
721 AS_IF([test "x$have_ncurses" = xyes], [
722 AC_CHECK_HEADERS([ncursesw/ncurses.h])
723 NCURSES_LIBS="-lncursesw"
724 CURSES_LIB_NAME="ncursesw"
727 AS_IF([test "x$have_ncurses" = xno], [
728 UL_CHECK_LIB(ncurses, initscr)
729 AS_IF([test "x$have_ncurses" = xyes], [
730 NCURSES_LIBS="-lncurses"
731 CURSES_LIB_NAME="ncurses"
737 AS_CASE([$with_ncurses:$have_ncurses],
738 [yes:no], [AC_MSG_ERROR([ncurses or ncursesw selected, but library not found])]
742 AC_SUBST([NCURSES_CFLAGS])
743 AC_SUBST([NCURSES_LIBS])
747 AS_HELP_STRING([--with-slang], [compile cfdisk with slang]),
751 AS_IF([test "x$with_slang" = xyes], [
752 AC_CHECK_HEADERS([slang.h slang/slang.h])
753 AC_CHECK_HEADERS([slcurses.h slang/slcurses.h],
754 [have_slang=yes], [], [
757 #elif defined(HAVE_SLANG_SLANG_H)
758 #include <slang/slang.h>
761 AS_IF([test "x$have_slang" = xno], [
762 AC_MSG_ERROR([slang selected but slcurses.h not found])],
763 [CURSES_LIB_NAME=slang
766 AM_CONDITIONAL([HAVE_SLANG], [test "x$have_slang" = xyes])
769 AS_IF([test "x$have_slang" = xyes -o "x$have_ncurses" = xyes], [
770 AC_CHECK_LIB([$CURSES_LIB_NAME], use_default_colors, [
771 AC_DEFINE(HAVE_USE_DEFAULT_COLORS, 1,
772 [Define if curses library has the use_default_colors().])
774 AC_CHECK_LIB([$CURSES_LIB_NAME], resizeterm, [
775 AC_DEFINE(HAVE_RESIZETERM, 1,
776 [Define if curses library has the resizeterm().])
781 dnl Try pkg-config for libtinfo
782 PKG_CHECK_MODULES(TINFO, [tinfo], [
783 dnl pkg-config success
785 UL_PKG_STATIC([TINFO_LIBS_STATIC], [tinfo])], [
787 dnl If pkg-config failed, fall back to classic searching.
788 AC_CHECK_LIB([tinfo], [tgetent], [
791 TINFO_LIBS_STATIC="-tinfo"
795 AC_SUBST([TINFO_LIBS])
796 AC_SUBST([TINFO_LIBS_STATIC])
797 AC_SUBST([TINFO_CFLAGS])
798 AM_CONDITIONAL([HAVE_TINFO], [test "x$have_tinfo" = xyes])
799 AS_IF([test "x$have_tinfo" = xyes], [
800 AC_DEFINE(HAVE_LIBTINFO, 1, [Define if libtinfo available.])
804 AC_ARG_WITH([readline],
805 AS_HELP_STRING([--with-readline], [compile with GNU Readline support]),
806 [], [with_readline=auto]
809 AS_IF([test "x$with_readline" = xno], [
810 AM_CONDITIONAL([HAVE_READLINE], [false])
812 UL_CHECK_LIB([readline], [readline])
813 AS_CASE([$with_readline:$have_readline],
815 [AC_MSG_ERROR([readline selected but libreadline not found ])],
817 [READLINE_LIBS="-lreadline"
818 READLINE_LIBS_STATIC="-lreadline $TINFO_LIBS_STATIC"]
821 AC_SUBST([READLINE_LIBS])
822 AC_SUBST([READLINE_LIBS_STATIC])
825 AC_ARG_WITH([utempter],
826 AS_HELP_STRING([--with-utempter], [compile script(1) with libutempter]),
827 [], [with_utempter=no]
830 AS_IF([test "x$with_utempter" = xyes], [
831 UL_CHECK_LIB([utempter], [utempter_add_record])
832 AS_IF([test "x$have_utempter" = xno], [
833 AC_MSG_ERROR([utempter selected but libutempter not found])
836 AM_CONDITIONAL([HAVE_UTEMPTER], [false])
844 AC_ARG_ENABLE([libuuid],
845 AS_HELP_STRING([--disable-libuuid], [do not build libuuid and uuid utilities]),
846 [], [UL_DEFAULT_ENABLE([libuuid], [yes])]
848 UL_BUILD_INIT([libuuid])
849 AC_SUBST([LIBUUID_VERSION])
850 AC_SUBST([LIBUUID_VERSION_INFO])
851 AM_CONDITIONAL(BUILD_LIBUUID, test "x$build_libuuid" = xyes)
853 AS_IF([test "x$build_libuuid" = xyes], [
854 AC_DEFINE(HAVE_LIBUUID, 1, [Define to 1 if you have the -luuid.])
860 AC_ARG_ENABLE([libblkid],
861 AS_HELP_STRING([--disable-libblkid], [do not build libblkid and many related utilities]),
862 [], [UL_DEFAULT_ENABLE([libblkid], [yes])]
864 UL_BUILD_INIT([libblkid])
865 AC_SUBST([LIBBLKID_DATE])
866 AC_SUBST([LIBBLKID_VERSION])
867 AC_SUBST([LIBBLKID_VERSION_INFO])
868 AC_DEFINE_UNQUOTED([LIBBLKID_VERSION], ["$LIBBLKID_VERSION"], [libblkid version string])
869 AC_DEFINE_UNQUOTED([LIBBLKID_DATE], ["$LIBBLKID_DATE"], [libblkid date string])
870 AS_IF([test "x$build_libblkid" = xyes], [
871 AC_DEFINE([HAVE_LIBBLKID], [1], [Define to 1 if you have the -lblkid.])
873 AM_CONDITIONAL([BUILD_LIBBLKID], [test "x$build_libblkid" = xyes])
874 AM_CONDITIONAL([BUILD_LIBBLKID_TESTS], [test "x$build_libblkid" = xyes -a "x$enable_static" = xyes])
879 AC_ARG_ENABLE([libmount],
880 AS_HELP_STRING([--disable-libmount], [do not build libmount]),
881 [], [UL_DEFAULT_ENABLE([libmount], [check])]
883 UL_BUILD_INIT([libmount])
884 UL_REQUIRES_BUILD([libmount], [libblkid])
885 UL_REQUIRES_HAVE([libmount], [scanf_alloc_modifier], [scanf string alloc modifier])
886 AM_CONDITIONAL([BUILD_LIBMOUNT], [test "x$build_libmount" = xyes])
887 AM_CONDITIONAL([BUILD_LIBMOUNT_TESTS], [test "x$build_libmount" = xyes -a "x$enable_static" = xyes])
888 AS_IF([test "x$build_libmount" = xyes], [
889 AC_DEFINE(HAVE_LIBMOUNT, 1, [Define if libmount available.])
892 AC_SUBST([LIBMOUNT_VERSION])
893 AC_SUBST([LIBMOUNT_MAJOR_VERSION], $PACKAGE_VERSION_MAJOR)
894 AC_SUBST([LIBMOUNT_MINOR_VERSION], $PACKAGE_VERSION_MINOR)
895 AC_SUBST([LIBMOUNT_PATCH_VERSION], $PACKAGE_VERSION_RELEASE)
896 AC_SUBST([LIBMOUNT_VERSION_INFO])
897 AC_DEFINE_UNQUOTED([LIBMOUNT_VERSION], ["$LIBMOUNT_VERSION"], [libmount version string])
899 AC_ARG_ENABLE([libmount-force-mountinfo],
900 AS_HELP_STRING([--enable-libmount-force-mountinfo], [ignore /etc/mtab in all situations (recommended for systemd)]),
901 [], [enable_libmount_force_mountinfo=no]
904 AS_IF([test "x$enable_libmount_force_mountinfo" == xyes], [
905 AC_DEFINE([USE_LIBMOUNT_FORCE_MOUNTINFO], [1], [Define to 1 if want to ignore mtab in all situations.])
912 AC_ARG_ENABLE([libsmartcols],
913 AS_HELP_STRING([--disable-libsmartcols], [do not build libsmartcols]),
914 [], [UL_DEFAULT_ENABLE([libsmartcols], [yes])]
916 UL_BUILD_INIT([libsmartcols])
917 AM_CONDITIONAL([BUILD_LIBSMARTCOLS], [test "x$build_libsmartcols" = xyes])
918 AM_CONDITIONAL([BUILD_LIBSMARTCOLS_TESTS], [test "x$build_libsmartcols" = xyes -a "x$enable_static" = xyes])
920 AC_SUBST([LIBSMARTCOLS_VERSION])
921 AC_SUBST([LIBSMARTCOLS_VERSION_INFO])
922 AC_DEFINE_UNQUOTED([LIBSMARTCOLS_VERSION], ["$LIBSMARTCOLS_VERSION"], [libsmartcols version string])
928 AC_ARG_ENABLE([libfdisk],
929 AS_HELP_STRING([--disable-libfdisk], [do not build libfdisk]),
930 [], [UL_DEFAULT_ENABLE([libfdisk], [check])]
932 UL_BUILD_INIT([libfdisk])
933 UL_REQUIRES_BUILD([libfdisk], [libuuid])
934 AM_CONDITIONAL([BUILD_LIBFDISK], [test "x$build_libfdisk" = xyes])
935 AM_CONDITIONAL([BUILD_LIBFDISK_TESTS], [test "x$build_libfdisk" = xyes -a "x$enable_static" = xyes])
937 AS_IF([test "x$build_libblkid" = xyes],
938 [LIBFDISK_PC_REQUIRES="uuid blkid"],[LIBFDISK_PC_REQUIRES="uuid"])
939 AC_SUBST([LIBFDISK_PC_REQUIRES])
941 AC_SUBST([LIBFDISK_VERSION])
942 AC_SUBST([LIBFDISK_MAJOR_VERSION], $PACKAGE_VERSION_MAJOR)
943 AC_SUBST([LIBFDISK_MINOR_VERSION], $PACKAGE_VERSION_MINOR)
944 AC_SUBST([LIBFDISK_PATCH_VERSION], $PACKAGE_VERSION_RELEASE)
945 AC_SUBST([LIBFDISK_VERSION_INFO])
946 AC_DEFINE_UNQUOTED([LIBFDISK_VERSION], ["$LIBFDISK_VERSION"], [libfdisk version string])
949 UL_BUILD_INIT([fdisk], [check])
950 UL_REQUIRES_BUILD([fdisk], [libfdisk])
951 UL_REQUIRES_BUILD([fdisk], [libsmartcols])
952 AM_CONDITIONAL([BUILD_FDISK], [test "x$build_fdisk" = xyes])
955 UL_BUILD_INIT([sfdisk], [check])
956 UL_REQUIRES_BUILD([sfdisk], [libfdisk])
957 UL_REQUIRES_BUILD([sfdisk], [libsmartcols])
958 AM_CONDITIONAL([BUILD_SFDISK], [test "x$build_sfdisk" = xyes])
961 UL_BUILD_INIT([cfdisk], [check])
962 UL_REQUIRES_BUILD([cfdisk], [libfdisk])
963 UL_REQUIRES_BUILD([cfdisk], [libsmartcols])
964 UL_REQUIRES_HAVE([cfdisk], [ncurses,slang], [ncurses or slang library])
965 AM_CONDITIONAL([BUILD_CFDISK], [test "x$build_cfdisk" = xyes])
968 AC_ARG_ENABLE([mount],
969 AS_HELP_STRING([--disable-mount], [do not build mount(8) and umount(8)]),
970 [], [UL_DEFAULT_ENABLE([mount], [check])]
972 UL_BUILD_INIT([mount])
973 UL_REQUIRES_LINUX([mount])
974 UL_REQUIRES_BUILD([mount], [libmount])
975 AM_CONDITIONAL([BUILD_MOUNT], [test "x$build_mount" = xyes])
978 AC_ARG_ENABLE([losetup],
979 AS_HELP_STRING([--disable-losetup], [do not build losetup]),
980 [], [UL_DEFAULT_ENABLE([losetup], [check])]
982 UL_BUILD_INIT([losetup])
983 UL_REQUIRES_LINUX([losetup])
984 UL_REQUIRES_BUILD([losetup], [libsmartcols])
985 AM_CONDITIONAL([BUILD_LOSETUP], [test "x$build_losetup" = xyes])
987 AC_ARG_ENABLE([zramctl],
988 AS_HELP_STRING([--disable-zramctl], [do not build zramctl]),
989 [], [UL_DEFAULT_ENABLE([zramctl], [check])]
991 UL_BUILD_INIT([zramctl])
992 UL_REQUIRES_LINUX([zramctl])
993 UL_REQUIRES_BUILD([zramctl], [libsmartcols])
994 AM_CONDITIONAL([BUILD_ZRAMCTL], [test "x$build_zramctl" = xyes])
996 AC_ARG_ENABLE([fsck],
997 AS_HELP_STRING([--disable-fsck], [do not build fsck]),
998 [], [UL_DEFAULT_ENABLE([fsck], [check])]
1000 UL_BUILD_INIT([fsck])
1001 UL_REQUIRES_BUILD([fsck], [libmount])
1002 AM_CONDITIONAL([BUILD_FSCK], [test "x$build_fsck" = xyes])
1005 AC_ARG_ENABLE([partx],
1006 AS_HELP_STRING([--disable-partx], [do not build addpart, delpart, partx]),
1007 [], [UL_DEFAULT_ENABLE([partx], [check])]
1009 UL_BUILD_INIT([partx])
1010 UL_REQUIRES_LINUX([partx])
1011 UL_REQUIRES_BUILD([partx], [libblkid])
1012 UL_REQUIRES_BUILD([partx], [libsmartcols])
1013 AM_CONDITIONAL([BUILD_PARTX], [test "x$build_partx" = xyes])
1016 AC_ARG_ENABLE([uuidd],
1017 AS_HELP_STRING([--disable-uuidd], [do not build the uuid daemon]),
1018 [], [UL_DEFAULT_ENABLE([uuidd], [check])]
1020 UL_BUILD_INIT([uuidd])
1021 UL_REQUIRES_BUILD([uuidd], [libuuid])
1022 AS_IF([test "x$build_uuidd" = xyes], [
1023 AC_DEFINE([HAVE_UUIDD], [1], [Define to 1 if you want to use uuid daemon.])
1025 AM_CONDITIONAL([BUILD_UUIDD], [test "x$build_uuidd" = xyes])
1028 UL_BUILD_INIT([uuidgen], [check])
1029 UL_REQUIRES_BUILD([uuidgen], [libuuid])
1030 AM_CONDITIONAL([BUILD_UUIDGEN], [test "x$build_uuidgen" = xyes])
1032 UL_BUILD_INIT([blkid], [check])
1033 UL_REQUIRES_BUILD([blkid], [libblkid])
1034 AM_CONDITIONAL([BUILD_BLKID], [test "x$build_blkid" = xyes])
1036 UL_BUILD_INIT([findfs], [check])
1037 UL_REQUIRES_BUILD([findfs], [libblkid])
1038 AM_CONDITIONAL([BUILD_FINDFS], [test "x$build_findfs" = xyes])
1040 UL_BUILD_INIT([wipefs], [check])
1041 UL_REQUIRES_BUILD([wipefs], [libblkid])
1042 AM_CONDITIONAL([BUILD_WIPEFS], [test "x$build_wipefs" = xyes])
1044 UL_BUILD_INIT([findmnt], [check])
1045 UL_REQUIRES_BUILD([findmnt], [libmount])
1046 UL_REQUIRES_BUILD([findmnt], [libsmartcols])
1047 AM_CONDITIONAL([BUILD_FINDMNT], [test "x$build_findmnt" = xyes])
1050 AC_ARG_ENABLE([mountpoint],
1051 AS_HELP_STRING([--disable-mountpoint], [do not build mountpoint]),
1052 [], [UL_DEFAULT_ENABLE([mountpoint], [check])]
1054 UL_BUILD_INIT([mountpoint])
1055 UL_REQUIRES_BUILD([mountpoint], [libmount])
1056 AM_CONDITIONAL([BUILD_MOUNTPOINT], [test "x$build_mountpoint" = xyes])
1059 AC_ARG_ENABLE([fallocate],
1060 AS_HELP_STRING([--disable-fallocate], [do not build fallocate]),
1061 [], [UL_DEFAULT_ENABLE([fallocate], [check])]
1063 UL_BUILD_INIT([fallocate])
1064 UL_REQUIRES_LINUX([fallocate])
1065 UL_REQUIRES_SYSCALL_CHECK([fallocate], [UL_CHECK_SYSCALL([fallocate])])
1066 AM_CONDITIONAL([BUILD_FALLOCATE], [test "x$build_fallocate" = xyes])
1068 AS_IF([test "x$build_fallocate" = xyes], [
1069 dnl check for valid fallocate() function
1070 dnl with 32 bits glibc 2.10, fallocate() exists but not fallocate64()
1071 dnl when _FILE_OFFSET_BITS==64, fallocate() is redirect to fallocate64()
1072 dnl and program can't be linked.
1073 dnl AC_CHECK_FUNC can't catch such errors since it's redefining
1074 dnl function prototype.
1075 AC_MSG_CHECKING([for valid fallocate() function])
1076 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1077 #ifdef HAVE_UNISTD_H
1078 # include <unistd.h>
1080 #ifdef HAVE_SYS_TYPES_H
1081 # include <sys/types.h>
1083 #ifdef HAVE_LINUX_FALLOC_H
1084 # include <linux/falloc.h>
1091 ret = fallocate(0, FALLOC_FL_KEEP_SIZE, 0xfffffffful, 0xfffffffful);
1096 AC_MSG_RESULT([yes])
1097 AC_DEFINE([HAVE_FALLOCATE], [1], [Have valid fallocate() function])],[
1098 AC_MSG_RESULT([no])])
1102 AC_ARG_ENABLE([unshare],
1103 AS_HELP_STRING([--disable-unshare], [do not build unshare]),
1104 [], [UL_DEFAULT_ENABLE([unshare], [check])]
1106 UL_BUILD_INIT([unshare])
1107 UL_REQUIRES_LINUX([unshare])
1108 UL_REQUIRES_SYSCALL_CHECK([unshare], [UL_CHECK_SYSCALL([unshare])])
1109 AM_CONDITIONAL([BUILD_UNSHARE], [test "x$build_unshare" = xyes])
1110 AC_CHECK_FUNCS([unshare])
1112 AC_ARG_ENABLE([nsenter],
1113 AS_HELP_STRING([--disable-nsenter], [do not build nsenter]),
1114 [], [UL_DEFAULT_ENABLE([nsenter], [check])]
1116 UL_BUILD_INIT([nsenter])
1117 UL_REQUIRES_LINUX([nsenter])
1118 UL_REQUIRES_SYSCALL_CHECK([nsenter], [UL_CHECK_SYSCALL([setns])], [setns])
1119 AM_CONDITIONAL([BUILD_NSENTER], [test "x$build_nsenter" = xyes])
1120 AC_CHECK_FUNCS([setns])
1122 dnl setpriv depends on libcap-ng. It would be possible to build
1123 dnl a version of setpriv with limited functionality without libcap-ng,
1124 dnl but this isn't currently supported.
1125 UL_CHECK_LIB([cap-ng], [capng_apply], [cap_ng])
1126 AC_ARG_ENABLE([setpriv],
1127 AS_HELP_STRING([--disable-setpriv], [do not build setpriv]),
1128 [], [UL_DEFAULT_ENABLE([setpriv], [check])]
1130 UL_BUILD_INIT([setpriv])
1131 UL_REQUIRES_LINUX([setpriv])
1132 UL_REQUIRES_HAVE([setpriv], [linux_securebits_h], [securebits.h header file])
1133 UL_REQUIRES_HAVE([setpriv], [cap_ng], [libcap-ng library])
1134 AM_CONDITIONAL([BUILD_SETPRIV], [test "x$build_setpriv" = xyes])
1137 AC_ARG_ENABLE([eject],
1138 AS_HELP_STRING([--disable-eject], [do not build eject]),
1139 [], [UL_DEFAULT_ENABLE([eject], [check])]
1141 UL_BUILD_INIT([eject])
1142 UL_REQUIRES_LINUX([eject])
1143 UL_REQUIRES_BUILD([eject], [libmount])
1144 AM_CONDITIONAL([BUILD_EJECT], [test "x$build_eject" = xyes])
1147 AC_ARG_ENABLE([agetty],
1148 AS_HELP_STRING([--disable-agetty], [do not build agetty]),
1149 [], [UL_DEFAULT_ENABLE([agetty], [yes])]
1151 UL_BUILD_INIT([agetty])
1152 AM_CONDITIONAL([BUILD_AGETTY], [test "x$build_agetty" = xyes])
1153 AS_IF([test "x$have_futimens" = xyes -a "x$have_inotify_init1" = xyes ], [
1154 AC_DEFINE([AGETTY_RELOAD], [1], [Enable agetty --reload feature])
1156 AC_MSG_WARN([futimens or inotify_init1 not found; agetty(8) will not provide ---reload functionality])
1160 AC_ARG_ENABLE([cramfs],
1161 AS_HELP_STRING([--disable-cramfs], [do not build fsck.cramfs, mkfs.cramfs]),
1162 [], [UL_DEFAULT_ENABLE([cramfs], [check])]
1164 UL_BUILD_INIT([cramfs])
1165 AC_CHECK_LIB([z], [crc32], [have_z=yes], [have_z=no])
1166 UL_REQUIRES_HAVE([cramfs], [z], [z library])
1167 AM_CONDITIONAL([BUILD_CRAMFS], [test "x$build_cramfs" = xyes])
1170 AC_ARG_ENABLE([bfs],
1171 AS_HELP_STRING([--disable-bfs], [do not build mkfs.bfs]),
1172 [], [UL_DEFAULT_ENABLE([bfs], [yes])]
1174 UL_BUILD_INIT([bfs])
1175 AM_CONDITIONAL([BUILD_BFS], [test "x$build_bfs" = xyes])
1178 AC_ARG_ENABLE([minix],
1179 AS_HELP_STRING([--disable-minix], [do not build fsck.minix, mkfs.minix]),
1180 [], [UL_DEFAULT_ENABLE([minix], [yes])]
1182 UL_BUILD_INIT([minix])
1183 AM_CONDITIONAL([BUILD_MINIX], [test "x$build_minix" = xyes])
1186 AC_ARG_ENABLE([fdformat],
1187 AS_HELP_STRING([--disable-fdformat], [do not build fdformat]),
1188 [], [UL_DEFAULT_ENABLE([fdformat], [check])]
1190 UL_BUILD_INIT([fdformat])
1191 UL_REQUIRES_LINUX([fdformat])
1192 AM_CONDITIONAL([BUILD_FDFORMAT], [test "x$build_fdformat" = xyes])
1195 AC_ARG_ENABLE([hwclock],
1196 AS_HELP_STRING([--disable-hwclock], [do not build hwclock]),
1197 [], [UL_DEFAULT_ENABLE([hwclock], [check])]
1199 have_linuxdummy=$linux_os
1201 UL_BUILD_INIT([hwclock])
1202 UL_REQUIRES_HAVE([hwclock], [io, linuxdummy], [ioperm iopl function or Linux])
1203 AM_CONDITIONAL([BUILD_HWCLOCK], [test "x$build_hwclock" = xyes])
1206 UL_BUILD_INIT([mkfs], [yes])
1207 AM_CONDITIONAL([BUILD_MKFS], [test "x$build_mkfs" = xyes])
1209 UL_BUILD_INIT([isosize], [yes])
1210 AM_CONDITIONAL([BUILD_ISOSIZE], [test "x$build_isosize" = xyes])
1213 UL_BUILD_INIT([fstrim], [check])
1214 UL_REQUIRES_LINUX([fstrim])
1215 UL_REQUIRES_BUILD([fstrim], [libmount])
1216 AM_CONDITIONAL([BUILD_FSTRIM], [test "x$build_fstrim" = xyes])
1219 UL_BUILD_INIT([swapon], [check])
1220 UL_REQUIRES_LINUX([swapon])
1221 UL_REQUIRES_BUILD([swapon], [libblkid])
1222 UL_REQUIRES_BUILD([swapon], [libmount])
1223 UL_REQUIRES_BUILD([swapon], [libsmartcols])
1224 AM_CONDITIONAL([BUILD_SWAPON], [test "x$build_swapon" = xyes])
1227 UL_BUILD_INIT([lsblk], [check])
1228 UL_REQUIRES_LINUX([lsblk])
1229 UL_REQUIRES_BUILD([lsblk], [libblkid])
1230 UL_REQUIRES_BUILD([lsblk], [libmount])
1231 UL_REQUIRES_BUILD([lsblk], [libsmartcols])
1232 AM_CONDITIONAL([BUILD_LSBLK], [test "x$build_lsblk" = xyes])
1235 UL_BUILD_INIT([lscpu], [check])
1236 UL_REQUIRES_LINUX([lscpu])
1237 UL_REQUIRES_BUILD([lscpu], [libsmartcols])
1238 UL_REQUIRES_HAVE([lscpu], [cpu_set_t], [cpu_set_t type])
1239 AM_CONDITIONAL([BUILD_LSCPU], [test "x$build_lscpu" = xyes])
1242 UL_BUILD_INIT([lslogins], [check])
1243 UL_REQUIRES_BUILD([lslogins], [libsmartcols])
1244 AM_CONDITIONAL([BUILD_LSLOGINS], [test "x$build_lslogins" = xyes])
1247 UL_BUILD_INIT([chcpu], [check])
1248 UL_REQUIRES_LINUX([chcpu])
1249 UL_REQUIRES_HAVE([chcpu], [cpu_set_t], [cpu_set_t type])
1250 AM_CONDITIONAL([BUILD_CHCPU], [test "x$build_chcpu" = xyes])
1253 AC_ARG_ENABLE([wdctl],
1254 AS_HELP_STRING([--disable-wdctl], [do not build wdctl]),
1255 [], [UL_DEFAULT_ENABLE([wdctl], [check])]
1257 UL_BUILD_INIT([wdctl])
1258 UL_REQUIRES_LINUX([wdctl])
1259 UL_REQUIRES_BUILD([wdctl], [libsmartcols])
1260 UL_REQUIRES_HAVE([wdctl], [linux_watchdog_h], [linux/watchdog.h header file])
1261 AM_CONDITIONAL([BUILD_WDCTL], [test "x$build_wdctl" = xyes])
1264 UL_BUILD_INIT([swaplabel], [check])
1265 UL_REQUIRES_BUILD([swaplabel], [libblkid])
1266 AM_CONDITIONAL([BUILD_SWAPLABEL], [test "x$build_swaplabel" = xyes])
1269 UL_BUILD_INIT([mkswap], [yes])
1270 AM_CONDITIONAL([BUILD_MKSWAP], [test "x$build_mkswap" = xyes])
1271 AS_IF([test "x$build_mkswap" = xyes -a "x$build_libuuid" != xyes], [
1272 AC_MSG_WARN([uuid library is not found; mkswap(8) will not generate UUIDs])
1275 UL_BUILD_INIT([cal], [yes])
1276 AM_CONDITIONAL([BUILD_CAL], [test "x$build_cal" = xyes])
1278 UL_BUILD_INIT([logger], [yes])
1279 AM_CONDITIONAL([BUILD_LOGGER], [test "x$build_logger" = xyes])
1281 UL_BUILD_INIT([look], [yes])
1282 AM_CONDITIONAL([BUILD_LOOK], [test "x$build_look" = xyes])
1284 UL_BUILD_INIT([mcookie], [yes])
1285 AM_CONDITIONAL([BUILD_MCOOKIE], [test "x$build_mcookie" = xyes])
1287 UL_BUILD_INIT([namei], [yes])
1288 AM_CONDITIONAL([BUILD_NAMEI], [test "x$build_namei" = xyes])
1290 UL_BUILD_INIT([whereis], [yes])
1291 AM_CONDITIONAL([BUILD_WHEREIS], [test "x$build_whereis" = xyes])
1293 UL_BUILD_INIT([getopt], [yes])
1294 AM_CONDITIONAL([BUILD_GETOPT], [test "x$build_getopt" = xyes])
1297 UL_BUILD_INIT([blockdev], [check])
1298 UL_REQUIRES_LINUX([blockdev])
1299 AM_CONDITIONAL([BUILD_BLOCKDEV], [test "x$build_blockdev" = xyes])
1302 UL_BUILD_INIT([prlimit], [check])
1303 UL_REQUIRES_LINUX([prlimit])
1304 UL_REQUIRES_BUILD([prlimit], [libsmartcols])
1305 UL_REQUIRES_SYSCALL_CHECK([prlimit], [UL_CHECK_SYSCALL([prlimit64])], [prlimit64])
1306 AM_CONDITIONAL([BUILD_PRLIMIT], [test "x$build_prlimit" = xyes])
1307 AS_IF([test "x$build_prlimit" = xyes], [
1308 AC_CHECK_FUNCS([prlimit])
1312 UL_BUILD_INIT([lslocks], [check])
1313 UL_REQUIRES_LINUX([lslocks])
1314 UL_REQUIRES_BUILD([lslocks], [libmount])
1315 UL_REQUIRES_BUILD([lslocks], [libsmartcols])
1316 AM_CONDITIONAL([BUILD_LSLOCKS], [test "x$build_lslocks" = xyes])
1319 AC_ARG_ENABLE([switch_root],
1320 AS_HELP_STRING([--disable-switch_root], [do not build switch_root]),
1321 [], [UL_DEFAULT_ENABLE([switch_root], [check])]
1323 UL_BUILD_INIT([switch_root])
1324 UL_REQUIRES_LINUX([switch_root])
1325 UL_REQUIRES_HAVE([switch_root], [openat], [openat function])
1326 AM_CONDITIONAL([BUILD_SWITCH_ROOT], [test "x$build_switch_root" = xyes])
1329 AC_ARG_ENABLE([pivot_root],
1330 AS_HELP_STRING([--disable-pivot_root], [do not build pivot_root]),
1331 [], [UL_DEFAULT_ENABLE([pivot_root], [check])]
1333 UL_BUILD_INIT([pivot_root])
1334 UL_REQUIRES_LINUX([pivot_root])
1335 UL_REQUIRES_SYSCALL_CHECK([pivot_root], [UL_CHECK_SYSCALL([pivot_root])])
1336 AM_CONDITIONAL([BUILD_PIVOT_ROOT], [test "x$build_pivot_root" = xyes])
1339 UL_BUILD_INIT([flock], [yes])
1340 UL_REQUIRES_HAVE([flock], [timer], [timer_create function])
1341 AM_CONDITIONAL([BUILD_FLOCK], [test "x$build_flock" = xyes])
1343 UL_BUILD_INIT([ipcmk], [yes])
1344 AM_CONDITIONAL([BUILD_IPCMK], [test "x$build_ipcmk" = xyes])
1346 UL_BUILD_INIT([ipcrm], [yes])
1347 AM_CONDITIONAL([BUILD_IPCRM], [test "x$build_ipcrm" = xyes])
1349 UL_BUILD_INIT([ipcs], [yes])
1350 AM_CONDITIONAL([BUILD_IPCS], [test "x$build_ipcs" = xyes])
1352 UL_BUILD_INIT([renice], [yes])
1353 AM_CONDITIONAL([BUILD_RENICE], [test "x$build_renice" = xyes])
1355 UL_BUILD_INIT([setsid], [yes])
1356 AM_CONDITIONAL([BUILD_SETSID], [test "x$build_setsid" = xyes])
1358 UL_BUILD_INIT([readprofile], [check])
1359 UL_REQUIRES_LINUX([readprofile])
1360 AM_CONDITIONAL([BUILD_READPROFILE], [test "x$build_readprofile" = xyes])
1362 UL_BUILD_INIT([dmesg], [check])
1363 UL_REQUIRES_LINUX([dmesg])
1364 AM_CONDITIONAL([BUILD_DMESG], [test "x$build_dmesg" = xyes])
1366 UL_BUILD_INIT([ctrlaltdel], [check])
1367 UL_REQUIRES_LINUX([ctrlaltdel])
1368 AM_CONDITIONAL([BUILD_CTRLALTDEL], [test "x$build_ctrlaltdel" = xyes])
1370 UL_BUILD_INIT([fsfreeze], [check])
1371 UL_REQUIRES_LINUX([fsfreeze])
1372 AM_CONDITIONAL([BUILD_FSFREEZE], [test "x$build_fsfreeze" = xyes])
1374 UL_BUILD_INIT([blkdiscard], [check])
1375 UL_REQUIRES_LINUX([blkdiscard])
1376 AM_CONDITIONAL([BUILD_BLKDISCARD], [test "x$build_blkdiscard" = xyes])
1378 UL_BUILD_INIT([ldattach], [check])
1379 UL_REQUIRES_LINUX([ldattach])
1380 AM_CONDITIONAL([BUILD_LDATTACH], [test "x$build_ldattach" = xyes])
1382 UL_BUILD_INIT([rtcwake], [check])
1383 UL_REQUIRES_LINUX([rtcwake])
1384 AM_CONDITIONAL([BUILD_RTCWAKE], [test "x$build_rtcwake" = xyes])
1386 UL_BUILD_INIT([setarch], [check])
1387 UL_REQUIRES_LINUX([setarch])
1388 AM_CONDITIONAL([BUILD_SETARCH], [test "x$build_setarch" = xyes])
1390 UL_BUILD_INIT([script], [yes])
1391 AM_CONDITIONAL([BUILD_SCRIPT], [test "x$build_script" = xyes])
1393 UL_BUILD_INIT([scriptreplay], [yes])
1394 AM_CONDITIONAL([BUILD_SCRIPTREPLAY], [test "x$build_scriptreplay" = xyes])
1396 UL_BUILD_INIT([col], [yes])
1397 AM_CONDITIONAL([BUILD_COL], [test "x$build_col" = xyes])
1399 UL_BUILD_INIT([colcrt], [yes])
1400 AM_CONDITIONAL([BUILD_COLCRT], [test "x$build_colcrt" = xyes])
1402 UL_BUILD_INIT([colrm], [yes])
1403 AM_CONDITIONAL([BUILD_COLRM], [test "x$build_colrm" = xyes])
1405 UL_BUILD_INIT([column], [yes])
1406 AM_CONDITIONAL([BUILD_COLUMN], [test "x$build_column" = xyes])
1408 UL_BUILD_INIT([hexdump], [yes])
1409 AM_CONDITIONAL([BUILD_HEXDUMP], [test "x$build_hexdump" = xyes])
1411 UL_BUILD_INIT([rev], [yes])
1412 AM_CONDITIONAL([BUILD_REV], [test "x$build_rev" = xyes])
1414 UL_BUILD_INIT([tailf], [yes])
1415 AM_CONDITIONAL([BUILD_TAILF], [test "x$build_tailf" = xyes])
1418 AC_ARG_ENABLE([tunelp],
1419 AS_HELP_STRING([--enable-tunelp], [build tunelp]),
1420 [], [UL_DEFAULT_ENABLE([tunelp], [no])]
1422 UL_BUILD_INIT([tunelp])
1423 UL_REQUIRES_LINUX([tunelp])
1424 AM_CONDITIONAL([BUILD_TUNELP], [test "x$build_tunelp" = xyes])
1427 AC_ARG_ENABLE([kill],
1428 AS_HELP_STRING([--disable-kill], [do not build kill]),
1429 [], [UL_DEFAULT_ENABLE([kill], [check])]
1431 UL_BUILD_INIT([kill])
1432 UL_REQUIRES_LINUX([kill])
1433 AM_CONDITIONAL([BUILD_KILL], [test "x$build_kill" = xyes])
1435 dnl Don't use UL_DEFAULT_ENABLE() here, deprecated stuff has to be insensitive
1436 dnl to --enable-all-programs.
1437 AC_ARG_ENABLE([deprecated-last],
1438 AS_HELP_STRING([--enable-deprecated-last], [build old deprecated last]),
1439 [], [enable_deprecated_last=no]
1441 UL_BUILD_INIT([deprecated_last])
1442 AM_CONDITIONAL([BUILD_DEPRECATED_LAST], [test "x$build_deprecated_last" = xyes])
1445 AC_ARG_ENABLE([last],
1446 AS_HELP_STRING([--disable-last], [do not build last]),
1447 [], [UL_DEFAULT_ENABLE([last], [check])]
1449 UL_BUILD_INIT([last])
1450 UL_CONFLICTS_BUILD([last], [deprecated_last], [old deprecated last version])
1451 AM_CONDITIONAL([BUILD_LAST], [test "x$build_last" = xyes])
1454 AC_ARG_ENABLE([utmpdump],
1455 AS_HELP_STRING([--disable-utmpdump], [do not build utmpdump]),
1456 [], [UL_DEFAULT_ENABLE([utmpdump], [yes])]
1458 UL_BUILD_INIT([utmpdump])
1459 AM_CONDITIONAL([BUILD_UTMPDUMP], [test "x$build_utmpdump" = xyes])
1462 AC_ARG_ENABLE([line],
1463 AS_HELP_STRING([--enable-line], [build line]),
1464 [], [UL_DEFAULT_ENABLE([line], [no])]
1466 UL_BUILD_INIT([line])
1467 AM_CONDITIONAL([BUILD_LINE], [test "x$build_line" = xyes])
1470 AC_ARG_ENABLE([mesg],
1471 AS_HELP_STRING([--disable-mesg], [do not build mesg]),
1472 [], [UL_DEFAULT_ENABLE([mesg], [yes])]
1474 UL_BUILD_INIT([mesg])
1475 AM_CONDITIONAL([BUILD_MESG], [test "x$build_mesg" = xyes])
1478 AC_ARG_ENABLE([raw],
1479 AS_HELP_STRING([--disable-raw], [do not build raw]),
1480 [], [UL_DEFAULT_ENABLE([raw], [check])]
1482 UL_BUILD_INIT([raw])
1483 UL_REQUIRES_LINUX([raw])
1484 UL_REQUIRES_HAVE([raw], [linux_raw_h], [raw.h header file])
1485 AM_CONDITIONAL([BUILD_RAW], [test "x$build_raw" = xyes])
1488 AC_ARG_ENABLE([rename],
1489 AS_HELP_STRING([--disable-rename], [do not build rename]),
1490 [], [UL_DEFAULT_ENABLE([rename], [yes])]
1492 UL_BUILD_INIT([rename])
1493 AM_CONDITIONAL([BUILD_RENAME], [test "x$build_rename" = xyes])
1496 AC_ARG_ENABLE([reset],
1497 AS_HELP_STRING([--enable-reset], [build reset]),
1498 [], [UL_DEFAULT_ENABLE([reset], [no])]
1500 UL_BUILD_INIT([reset])
1501 AM_CONDITIONAL([BUILD_RESET], [test "x$build_reset" = xyes])
1504 AC_ARG_ENABLE([vipw],
1505 AS_HELP_STRING([--enable-vipw], [build vipw]),
1506 [], [UL_DEFAULT_ENABLE([vipw], [no])]
1508 UL_BUILD_INIT([vipw])
1509 AM_CONDITIONAL([BUILD_VIPW], [test "x$build_vipw" = xyes])
1512 AC_ARG_ENABLE([newgrp],
1513 AS_HELP_STRING([--enable-newgrp], [build newgrp]),
1514 [], [UL_DEFAULT_ENABLE([newgrp], [no])]
1516 UL_BUILD_INIT([newgrp])
1517 AM_CONDITIONAL([BUILD_NEWGRP], [test "x$build_newgrp" = xyes])
1520 AC_ARG_WITH([user], AS_HELP_STRING([--without-user], [compile without libuser (remote chsh)]),
1521 [], [with_user=check]
1524 AS_IF([test "x$with_user" != xno], [
1525 PKG_CHECK_MODULES(LIBUSER,[libuser >= 0.58], [have_user=yes], [have_user=no])
1526 AS_CASE([$with_user:$have_user],
1528 [AC_MSG_ERROR([user selected but libuser not found])],
1530 [AC_DEFINE([HAVE_LIBUSER], [1], [Define if libuser is available])]
1532 # temporary solution, libuser has stupid .pc where are exported all
1533 # private dependencies to Requires: instead of Requires.private:
1534 AS_IF([test "x$have_user" = xyes], [
1538 AM_CONDITIONAL([HAVE_USER], [test "x$have_user" = xyes])
1540 AC_ARG_ENABLE([chfn-chsh-password],
1541 AS_HELP_STRING([--disable-chfn-chsh-password], [do not require the user to enter the password in chfn and chsh]),
1542 [], [enable_chfn_chsh_password=yes]
1545 AC_ARG_ENABLE([chfn-chsh],
1546 AS_HELP_STRING([--enable-chfn-chsh], [build chfn and chsh]),
1547 [], [UL_DEFAULT_ENABLE([chfn_chsh], [check])]
1549 UL_BUILD_INIT([chfn_chsh])
1551 AS_IF([test "x$enable_chfn_chsh_password" = xyes -o "x$have_user" = xyes], [
1552 UL_REQUIRES_HAVE([chfn_chsh], [security_pam_appl_h], [PAM header file])
1553 AC_DEFINE([CHFN_CHSH_PASSWORD], [1], [Should chfn and chsh require the user to enter the password?])
1555 AM_CONDITIONAL([BUILD_CHFN_CHSH], [test "x$build_chfn_chsh" = xyes])
1556 AM_CONDITIONAL([CHFN_CHSH_PASSWORD], [test "x$enable_chfn_chsh_password" = xyes])
1558 AC_ARG_ENABLE([chsh-only-listed],
1559 AS_HELP_STRING([--disable-chsh-only-listed], [chsh: allow shells not in /etc/shells]),
1560 [], enable_chsh_only_listed=yes
1563 AS_IF([test "x$enable_chsh_only_listed" = xyes], [
1564 AC_DEFINE([ONLY_LISTED_SHELLS], [1], [Should chsh allow only shells in /etc/shells?])
1568 AC_ARG_ENABLE([login],
1569 AS_HELP_STRING([--disable-login], [do not build login]),
1570 [], [UL_DEFAULT_ENABLE([login], [check])]
1572 UL_BUILD_INIT([login])
1573 UL_REQUIRES_HAVE([login], [security_pam_appl_h], [PAM header file])
1574 UL_REQUIRES_HAVE([login], [security_pam_misc_h, security_openpam_h], [PAM conversation functions])
1575 AM_CONDITIONAL([BUILD_LOGIN], [test "x$build_login" = xyes])
1577 AC_ARG_ENABLE([login-chown-vcs],
1578 AS_HELP_STRING([--enable-login-chown-vcs], [let login chown /dev/vcsN]),
1579 [], [enable_login_chown_vcs=no]
1582 AS_IF([test "x$enable_login_chown_vcs" = xyes], [
1583 AC_DEFINE([LOGIN_CHOWN_VCS], [1], [Should login chown /dev/vcsN?])
1586 AC_ARG_ENABLE([login-stat-mail],
1587 AS_HELP_STRING([--enable-login-stat-mail], [let login stat() the mailbox]),
1588 [], [enable_login_stat_mail=no]
1591 AS_IF([test "x$enable_login_stat_mail" = xyes], [
1592 AC_DEFINE([LOGIN_STAT_MAIL], [1], [Should login stat() the mailbox?])
1596 AC_ARG_ENABLE([nologin],
1597 AS_HELP_STRING([--disable-nologin], [do not build nologin]),
1598 [], [UL_DEFAULT_ENABLE([nologin], [yes])]
1600 UL_BUILD_INIT([nologin])
1601 AM_CONDITIONAL([BUILD_NOLOGIN], [test "x$build_nologin" = xyes])
1604 AC_ARG_ENABLE([sulogin],
1605 AS_HELP_STRING([--disable-sulogin], [do not build sulogin]),
1606 [], [UL_DEFAULT_ENABLE([sulogin], [yes])]
1608 UL_BUILD_INIT([sulogin])
1609 AM_CONDITIONAL([BUILD_SULOGIN], [test "x$build_sulogin" = xyes])
1613 AS_HELP_STRING([--disable-su], [do not build su]),
1614 [], [UL_DEFAULT_ENABLE([su], [check])]
1617 UL_REQUIRES_HAVE([su], [security_pam_appl_h], [PAM header file])
1618 AM_CONDITIONAL([BUILD_SU], [test "x$build_su" = xyes])
1621 AC_ARG_ENABLE([runuser],
1622 AS_HELP_STRING([--disable-runuser], [do not build runuser]),
1623 [], [UL_DEFAULT_ENABLE([runuser], [check])]
1625 UL_BUILD_INIT([runuser])
1626 UL_REQUIRES_HAVE([runuser], [security_pam_appl_h], [PAM header file])
1627 AM_CONDITIONAL([BUILD_RUNUSER], [test "x$build_runuser" = xyes])
1631 AS_HELP_STRING([--disable-ul], [do not build ul]),
1632 [], [UL_DEFAULT_ENABLE([ul], [check])]
1635 UL_REQUIRES_HAVE([ul], [ncurses, tinfo], [ncurses or tinfo libraries])
1636 AM_CONDITIONAL([BUILD_UL], [test "x$build_ul" = xyes])
1639 AC_ARG_ENABLE([more],
1640 AS_HELP_STRING([--disable-more], [do not build more]),
1641 [], [UL_DEFAULT_ENABLE([more], [check])]
1643 UL_BUILD_INIT([more])
1644 UL_REQUIRES_HAVE([more], [ncurses, tinfo, termcap], [ncurses, tinfo or termcap libraries])
1645 AM_CONDITIONAL([BUILD_MORE], [test "x$build_more" = xyes])
1649 AS_HELP_STRING([--disable-pg], [do not build pg]),
1650 [], [UL_DEFAULT_ENABLE([pg], [check])]
1653 UL_REQUIRES_HAVE([pg], [ncurses], [ncurses or ncursesw library])
1654 AM_CONDITIONAL([BUILD_PG], [test "x$build_pg" = xyes])
1657 AC_ARG_ENABLE([setterm],
1658 AS_HELP_STRING([--disable-setterm], [do not build setterm]),
1659 [], [UL_DEFAULT_ENABLE([setterm], [check])]
1661 UL_BUILD_INIT([setterm])
1662 UL_REQUIRES_LINUX([setterm])
1663 UL_REQUIRES_HAVE([setterm], [ncurses], [ncurses library])
1664 AM_CONDITIONAL([BUILD_SETTERM], [test "x$build_setterm" = xyes])
1666 # build_schedutils= is just configure-only variable to control
1667 # ionice, taskset and chrt
1668 AC_ARG_ENABLE([schedutils],
1669 AS_HELP_STRING([--disable-schedutils], [do not build chrt, ionice, taskset]),
1670 [], [UL_DEFAULT_ENABLE([schedutils], [yes])]
1672 UL_BUILD_INIT([schedutils])
1674 UL_BUILD_INIT([ionice], [check])
1675 UL_REQUIRES_BUILD([ionice], [schedutils])
1676 UL_REQUIRES_SYSCALL_CHECK([ionice],
1677 [UL_CHECK_SYSCALL([ioprio_set],
1688 UL_REQUIRES_SYSCALL_CHECK([ionice],
1689 [UL_CHECK_SYSCALL([ioprio_get],
1700 AM_CONDITIONAL([BUILD_IONICE], [test "x$build_ionice" = xyes])
1702 UL_BUILD_INIT([taskset], [check])
1703 UL_REQUIRES_BUILD([taskset], [schedutils])
1704 UL_REQUIRES_HAVE([taskset], [cpu_set_t], [cpu_set_t type])
1705 UL_REQUIRES_SYSCALL_CHECK([taskset],
1706 [UL_CHECK_SYSCALL([sched_getaffinity])],
1707 [sched_getaffinity])
1708 AM_CONDITIONAL([BUILD_TASKSET], [test "x$build_taskset" = xyes])
1710 UL_BUILD_INIT([chrt], [check])
1711 UL_REQUIRES_BUILD([chrt], [schedutils])
1712 AM_CONDITIONAL([BUILD_CHRT], [test "x$build_chrt" = xyes])
1715 AC_ARG_ENABLE([wall],
1716 AS_HELP_STRING([--disable-wall], [do not build wall]),
1717 [], [UL_DEFAULT_ENABLE([wall], [yes])]
1719 UL_BUILD_INIT([wall])
1720 AM_CONDITIONAL([BUILD_WALL], [test "x$build_wall" = xyes])
1723 AC_ARG_ENABLE([write],
1724 AS_HELP_STRING([--enable-write], [build write]),
1725 [], [UL_DEFAULT_ENABLE([write], [no])]
1727 UL_BUILD_INIT([write])
1728 AM_CONDITIONAL([BUILD_WRITE], [test "x$build_write" = xyes])
1731 AC_ARG_WITH([systemd],
1732 AS_HELP_STRING([--with-systemd], [build with support for systemd]),
1733 [], [with_systemd=check]
1737 AS_IF([test "x$with_systemd" != xno], [
1738 # new version -- all libsystemd-* libs merged into libsystemd
1739 PKG_CHECK_MODULES([SYSTEMD], [libsystemd], [have_systemd=yes], [have_systemd=no])
1741 AS_IF([test "x$have_systemd" != "xyes"], [
1742 PKG_CHECK_MODULES([SYSTEMD_DAEMON], [libsystemd-daemon],
1743 [have_systemd_daemon=yes], [have_systemd_daemon=no])
1744 PKG_CHECK_MODULES([SYSTEMD_JOURNAL], [libsystemd-journal],
1745 [have_systemd_journal=yes], [have_systemd_journal=no])
1746 AS_IF([test "x$have_systemd_daemon" = "xyes" -a "x$have_systemd_journal" = "xyes" ],[
1749 AS_CASE([$with_systemd:$have_systemd],
1751 [AC_MSG_ERROR([systemd expected but libsystemd not found])],
1753 AC_DEFINE([HAVE_LIBSYSTEMD], [1], [Define if libsystemd is available])
1756 AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$have_systemd" = xyes])
1759 AC_ARG_WITH([systemdsystemunitdir],
1760 AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [directory for systemd service files]),
1761 [], [with_systemdsystemunitdir=`$PKG_CONFIG --variable=systemdsystemunitdir systemd`])
1763 AS_IF([test "x$with_systemdsystemunitdir" != "xno"], [
1764 AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
1768 AC_ARG_WITH([smack],
1769 AS_HELP_STRING([--with-smack], [build with SMACK support]),
1772 AS_IF([test "x$with_smack" = xyes], [
1773 AC_DEFINE([HAVE_SMACK], [1], [Add SMACK support])
1777 AC_ARG_WITH([bashcompletiondir],
1778 AS_HELP_STRING([--with-bashcompletiondir=DIR], [Bash completions directory]),
1780 [AS_IF([`$PKG_CONFIG --exists bash-completion`], [
1781 with_bashcompletiondir=`$PKG_CONFIG --variable=completionsdir bash-completion`
1783 with_bashcompletiondir=${datadir}/bash-completion/completions
1786 AC_SUBST([bashcompletiondir], [$with_bashcompletiondir])
1788 AC_ARG_ENABLE([bash-completion],
1789 AS_HELP_STRING([--disable-bash-completion], [do not install bash completion files]),
1790 [], [enable_bash_completion=yes]
1793 AM_CONDITIONAL([BUILD_BASH_COMPLETION], [test "x$enable_bash_completion" = xyes])
1796 AC_ARG_WITH([python],
1797 AS_HELP_STRING([--without-python], [do not build python bindings, use --with-python={2,3} to force version]),
1798 [], [with_python=check withval=check]
1803 AS_IF([test "x$with_python" != xno], [
1804 # We follow distributions default and look for PKG module name "python"
1805 # (minimal version is 2) but if major version is explicitly specified by
1806 # --with-python=2 or --with-python=3 then we look for PKG module "python2" or
1808 AS_IF([test "x$withval" != xno -a "x$withval" != xyes -a "x$withval" != xcheck],
1809 [pymajor="$withval"; PYTHON=python${pymajor}], [pymajor="2"])
1811 # check for python interpreter
1812 AM_PATH_PYTHON([$pymajor], [have_python=yes], [have_python=no])
1813 AS_CASE([$with_python:$have_python],
1815 [AC_MSG_ERROR([python selected but python interpreter not found])],
1817 [AC_MSG_WARN([python interpreter not found, do not build python bindings])],
1819 # check for python development stuff
1820 [PKG_CHECK_MODULES([PYTHON], [python-$PYTHON_VERSION],
1821 [have_libpython=yes], [have_libpython=no])]
1826 AC_ARG_ENABLE([pylibmount],
1827 AS_HELP_STRING([--disable-pylibmount], [do not build pylibmount]),
1828 [], [UL_DEFAULT_ENABLE([pylibmount], [check])]
1830 UL_BUILD_INIT([pylibmount])
1831 UL_REQUIRES_HAVE([pylibmount], [libpython], [libpython])
1832 UL_REQUIRES_BUILD([pylibmount], [libmount])
1833 AM_CONDITIONAL([BUILD_PYLIBMOUNT], [test "x$build_pylibmount" = "xyes"])
1836 AC_ARG_ENABLE([pg-bell],
1837 AS_HELP_STRING([--disable-pg-bell], [let pg not ring the bell on invalid keys]),
1838 [], [enable_pg_bell=yes]
1841 AS_IF([test "x$enable_pg_bell" = xyes], [
1842 AC_DEFINE([PG_BELL], [1], [Should pg ring the bell on invalid keys?])
1846 AC_DEFUN([FS_PATHS_DEFAULT], [/sbin:/sbin/fs.d:/sbin/fs])
1847 AC_ARG_ENABLE([fs-paths-default],
1848 AS_HELP_STRING([--enable-fs-paths-default=paths], [default search path for fs helpers @<:@FS_PATHS_DEFAULT@:>@]),
1849 [AS_CASE([$enableval],
1850 [yes], [fs_paths_defaults="FS_PATHS_DEFAULT"],
1851 [no], [fs_paths_defaults=""],
1852 [fs_paths_defaults="$enableval"]
1854 [fs_paths_defaults="FS_PATHS_DEFAULT"]
1856 AC_ARG_ENABLE([fs-paths-extra],
1857 AS_HELP_STRING([--enable-fs-paths-extra=paths], [additional search paths for fs helpers]),
1858 [AS_CASE([$enableval],
1859 [yes|no], [fs_paths_extra=""],
1860 [fs_paths_extra="$enableval"]
1864 fs_paths="$fs_paths_defaults"
1865 AS_IF([test "x$fs_paths_extra" != "x"], [
1866 AS_IF([test "x$fs_paths" != "x"], [
1867 fs_paths="${fs_paths}:"
1869 fs_paths="${fs_paths}${fs_paths_extra}"
1871 AC_DEFINE_UNQUOTED([FS_SEARCH_PATH], "$fs_paths", [search path for fs helpers])
1874 AC_ARG_ENABLE([use-tty-group],
1875 AS_HELP_STRING([--disable-use-tty-group], [do not install wall and write setgid tty]),
1876 [], [enable_use_tty_group=yes]
1878 AM_CONDITIONAL([USE_TTY_GROUP], [test "x$enable_use_tty_group" = xyes])
1880 AS_IF([test "x$enable_use_tty_group" = xyes], [
1881 AC_DEFINE([USE_TTY_GROUP], [1], [Should wall and write be installed setgid tty?])
1885 AC_ARG_ENABLE([sulogin-emergency-mount],
1886 AS_HELP_STRING([--enable-sulogin-emergency-mount],
1887 [use emergency mount of /dev and /proc for sulogin]),
1888 [], [enable_sulogin_emergency_mount=no]
1891 AS_IF([test "x$enable_sulogin_emergency_mount" = xyes], [
1892 AC_DEFINE([USE_SULOGIN_EMERGENCY_MOUNT], [1],
1893 [Should sulogin use a emergency mount of /dev and /proc?])
1897 AC_ARG_ENABLE([usrdir-path],
1898 AS_HELP_STRING([--enable-usrdir-path], [use only /usr paths in PATH env. variable (recommended on systems with /bin -> /usr/bin symlinks)]),
1899 [], [enable_usrdir_path=no]
1902 AS_IF([test "x$enable_usrdir_path" == xyes], [
1903 AC_DEFINE([USE_USRDIR_PATHS_ONLY], [1], [Define to 1 to remove /bin and /sbin from PATH env.variable])
1907 AC_ARG_ENABLE([makeinstall-chown],
1908 AS_HELP_STRING([--disable-makeinstall-chown], [do not do chown-like operations during "make install"]),
1909 [], [enable_makeinstall_chown=yes]
1911 AM_CONDITIONAL([MAKEINSTALL_DO_CHOWN], [test "x$enable_makeinstall_chown" = xyes])
1914 AC_ARG_ENABLE([makeinstall-setuid],
1915 AS_HELP_STRING([--disable-makeinstall-setuid], [do not do setuid chmod operations during "make install"]),
1916 [], [enable_makeinstall_setuid=yes]
1918 AM_CONDITIONAL([MAKEINSTALL_DO_SETUID], [test "x$enable_makeinstall_setuid" = xyes])
1921 AC_ARG_ENABLE([colors-default],
1922 AS_HELP_STRING([--disable-colors-default], [do not colorize output from utils by default]),
1923 [], [enable_colors_default=yes]
1925 AS_IF([test "x$enable_colors_default" = xyes], [
1926 AC_DEFINE([USE_COLORS_BY_DEFAULT], [1], [Enables colorized output from utils by default])
1930 AC_ARG_VAR([SUID_CFLAGS],
1931 [CFLAGS used for binaries which are usually with the suid bit])
1932 AC_ARG_VAR([SUID_LDFLAGS],
1933 [LDFLAGS used for binaries which are usually with the suid bit])
1935 AC_ARG_VAR([DAEMON_CFLAGS],
1936 [CFLAGS used for binaries which are usually executed as daemons])
1937 AC_ARG_VAR([DAEMON_LDFLAGS],
1938 [LDFLAGS used for binaries which are usually executed as daemons])
1940 AC_ARG_VAR([SOLIB_CFLAGS],
1941 [CFLAGS used for shared libraries])
1942 AC_ARG_VAR([SOLIB_LDFLAGS],
1943 [LDFLAGS used for shared libraries])
1945 AC_ARG_VAR([ADJTIME_PATH],
1946 [Path to hwclock adjtime file, default /etc/adjtime])
1947 AS_IF([test "x$ADJTIME_PATH" = x], [ADJTIME_PATH="/etc/adjtime"])
1948 AC_DEFINE_UNQUOTED([CONFIG_ADJTIME_PATH], "$ADJTIME_PATH", [Path to hwclock adjtime file])
1954 AC_CONFIG_HEADERS([config.h])
1957 # Don't use configure.ac to replace install paths! See Makefile PATHFILES for
1962 libblkid/docs/Makefile
1963 libblkid/docs/version.xml
1964 libblkid/src/blkid.h
1965 libfdisk/docs/Makefile
1966 libfdisk/docs/version.xml
1967 libfdisk/src/libfdisk.h
1968 libmount/docs/Makefile
1969 libmount/docs/version.xml
1970 libmount/src/libmount.h
1971 libsmartcols/docs/Makefile
1972 libsmartcols/docs/version.xml
1973 libsmartcols/src/libsmartcols.h
1980 ${PACKAGE} ${VERSION}
1983 exec prefix: ${exec_prefix}
1985 localstatedir: ${localstatedir}
1989 includedir: ${includedir}
1990 usrbin_execdir: ${usrbin_execdir}
1991 usrsbin_execdir: ${usrsbin_execdir}
1992 usrlib_execdir: ${usrlib_execdir}
1996 suid cflags: ${SUID_CFLAGS}
1998 suid ldflags: ${SUID_LDFLAGS}
2001 Python version: ${PYTHON_VERSION}
2002 Python libs: ${pyexecdir}
2004 Bash completions: ${with_bashcompletiondir}
2005 Systemd support: ${have_systemd}
2011 Type 'make' or 'make <utilname>' to compile.