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])
657 AC_ARG_WITH([readline],
658 AS_HELP_STRING([--with-readline], [compile with GNU Readline support]),
659 [], [with_readline=auto]
662 AS_IF([test "x$with_readline" = xno], [
663 AM_CONDITIONAL([HAVE_READLINE], [false])
665 UL_CHECK_LIB([readline], [readline])
666 AS_CASE([$with_readline:$have_readline],
668 [AC_MSG_ERROR([readline selected but libreadline not found ])],
670 [READLINE_LIBS="-lreadline"
671 READLINE_LIBS_STATIC="-lreadline -ltinfo"]
674 AC_SUBST([READLINE_LIBS])
675 AC_SUBST([READLINE_LIBS_STATIC])
679 AS_HELP_STRING([--with-audit], [compile with audit support]),
683 AS_IF([test "x$with_audit" = xno], [
684 AM_CONDITIONAL([HAVE_AUDIT], [false])
686 UL_CHECK_LIB([audit], [audit_log_user_message])
687 AS_CASE([$with_audit:$have_audit],
689 [AC_MSG_ERROR([Audit selected but libaudit not found (or does not support audit_log_user_message())])]
693 AC_ARG_WITH([udev], AS_HELP_STRING([--without-udev], [compile without udev support]),
697 AS_IF([test "x$with_udev" = xno], [
698 AM_CONDITIONAL([HAVE_UDEV], [false])
700 UL_CHECK_LIB([udev], [udev_new])
701 AS_CASE([$with_udev:$have_udev],
703 [AC_MSG_ERROR([udev selected but libudev not found])]
707 AC_ARG_WITH([ncurses],
708 AS_HELP_STRING([--with-ncurses], [build with non-wide ncurses, default is wide version
709 (--without-ncurses disables all ncurses(w) support)]),
710 [], [with_ncurses=auto]
712 AM_CONDITIONAL([HAVE_NCURSES], [false])
713 AS_IF([test "x$with_ncurses" != xno], [
716 dnl First try to find the pkg-config module.
717 PKG_CHECK_MODULES(NCURSESW, [ncursesw], [
719 NCURSES_LIBS=${NCURSESW_LIBS}
720 NCURSES_CFLAGS=${NCURSESW_CFLAGS}
721 AC_DEFINE([HAVE_LIBNCURSESW])
722 CURSES_LIB_NAME="ncursesw"
724 PKG_CHECK_MODULES(NCURSES, [ncurses], [
726 AC_DEFINE([HAVE_LIBNCURSES])
727 CURSES_LIB_NAME="ncursesw"
731 AS_IF([test "x$have_ncurses" = xyes], [
732 dnl If that worked, setup the defines that the code expects.
733 save_CPPFLAGS="$CPPFLAGS"
734 CPPFLAGS="$CPPFLAGS $NCURSES_CFLAGS"
735 AC_CHECK_HEADERS([ncurses.h])
736 CPPFLAGS="$save_CPPFLAGS"
738 dnl If that failed, fall back to classic searching.
739 AC_CHECK_HEADERS([ncurses.h ncurses/ncurses.h], [
740 AS_IF([test "x$with_ncurses" = xauto], [
741 UL_CHECK_LIB([ncursesw], [initscr], [ncurses])
742 AS_IF([test "x$have_ncurses" = xyes], [
743 AC_CHECK_HEADERS([ncursesw/ncurses.h])
744 NCURSES_LIBS="-lncursesw"
745 CURSES_LIB_NAME="ncursesw"
748 AS_IF([test "x$have_ncurses" = xno], [
749 UL_CHECK_LIB(ncurses, initscr)
750 AS_IF([test "x$have_ncurses" = xyes], [
751 NCURSES_LIBS="-lncurses"
752 CURSES_LIB_NAME="ncurses"
758 AS_CASE([$with_ncurses:$have_ncurses],
759 [yes:no], [AC_MSG_ERROR([ncurses or ncursesw selected, but library not found])]
763 AC_SUBST([NCURSES_CFLAGS])
764 AC_SUBST([NCURSES_LIBS])
768 AS_HELP_STRING([--with-slang], [compile cfdisk with slang]),
772 AS_IF([test "x$with_slang" = xyes], [
773 AC_CHECK_HEADERS([slang.h slang/slang.h])
774 AC_CHECK_HEADERS([slcurses.h slang/slcurses.h],
775 [have_slang=yes], [], [
778 #elif defined(HAVE_SLANG_SLANG_H)
779 #include <slang/slang.h>
782 AS_IF([test "x$have_slang" = xno], [
783 AC_MSG_ERROR([slang selected but slcurses.h not found])],
784 [CURSES_LIB_NAME=slang
787 AM_CONDITIONAL([HAVE_SLANG], [test "x$have_slang" = xyes])
790 AS_IF([test "x$have_slang" = xyes -o "x$have_ncurses" = xyes], [
791 AC_CHECK_LIB([$CURSES_LIB_NAME], use_default_colors, [
792 AC_DEFINE(HAVE_USE_DEFAULT_COLORS, 1,
793 [Define if curses library has the use_default_colors().])
795 AC_CHECK_LIB([$CURSES_LIB_NAME], resizeterm, [
796 AC_DEFINE(HAVE_RESIZETERM, 1,
797 [Define if curses library has the resizeterm().])
802 dnl Try pkg-config for libtinfo
803 PKG_CHECK_MODULES(TINFO, [tinfo], [have_tinfo=yes], [
804 dnl If that failed, fall back to classic searching.
805 AC_CHECK_LIB([tinfo], [tgetent], [
810 AC_SUBST([TINFO_LIBS])
811 AC_SUBST([TINFO_CFLAGS])
812 AM_CONDITIONAL([HAVE_TINFO], [test "x$have_tinfo" = xyes])
813 AS_IF([test "x$have_tinfo" = xyes], [
814 AC_DEFINE(HAVE_LIBTINFO, 1, [Define if libtinfo available.])
818 AC_ARG_WITH([utempter],
819 AS_HELP_STRING([--with-utempter], [compile script(1) with libutempter]),
820 [], [with_utempter=no]
823 AS_IF([test "x$with_utempter" = xyes], [
824 UL_CHECK_LIB([utempter], [utempter_add_record])
825 AS_IF([test "x$have_utempter" = xno], [
826 AC_MSG_ERROR([utempter selected but libutempter not found])
829 AM_CONDITIONAL([HAVE_UTEMPTER], [false])
837 AC_ARG_ENABLE([libuuid],
838 AS_HELP_STRING([--disable-libuuid], [do not build libuuid and uuid utilities]),
839 [], [UL_DEFAULT_ENABLE([libuuid], [yes])]
841 UL_BUILD_INIT([libuuid])
842 AC_SUBST([LIBUUID_VERSION])
843 AC_SUBST([LIBUUID_VERSION_INFO])
844 AM_CONDITIONAL(BUILD_LIBUUID, test "x$build_libuuid" = xyes)
846 AS_IF([test "x$build_libuuid" = xyes], [
847 AC_DEFINE(HAVE_LIBUUID, 1, [Define to 1 if you have the -luuid.])
853 AC_ARG_ENABLE([libblkid],
854 AS_HELP_STRING([--disable-libblkid], [do not build libblkid and many related utilities]),
855 [], [UL_DEFAULT_ENABLE([libblkid], [yes])]
857 UL_BUILD_INIT([libblkid])
858 AC_SUBST([LIBBLKID_DATE])
859 AC_SUBST([LIBBLKID_VERSION])
860 AC_SUBST([LIBBLKID_VERSION_INFO])
861 AC_DEFINE_UNQUOTED([LIBBLKID_VERSION], ["$LIBBLKID_VERSION"], [libblkid version string])
862 AC_DEFINE_UNQUOTED([LIBBLKID_DATE], ["$LIBBLKID_DATE"], [libblkid date string])
863 AS_IF([test "x$build_libblkid" = xyes], [
864 AC_DEFINE([HAVE_LIBBLKID], [1], [Define to 1 if you have the -lblkid.])
866 AM_CONDITIONAL([BUILD_LIBBLKID], [test "x$build_libblkid" = xyes])
867 AM_CONDITIONAL([BUILD_LIBBLKID_TESTS], [test "x$build_libblkid" = xyes -a "x$enable_static" = xyes])
872 AC_ARG_ENABLE([libmount],
873 AS_HELP_STRING([--disable-libmount], [do not build libmount]),
874 [], [UL_DEFAULT_ENABLE([libmount], [check])]
876 UL_BUILD_INIT([libmount])
877 UL_REQUIRES_BUILD([libmount], [libblkid])
878 UL_REQUIRES_HAVE([libmount], [scanf_alloc_modifier], [scanf string alloc modifier])
879 AM_CONDITIONAL([BUILD_LIBMOUNT], [test "x$build_libmount" = xyes])
880 AM_CONDITIONAL([BUILD_LIBMOUNT_TESTS], [test "x$build_libmount" = xyes -a "x$enable_static" = xyes])
882 AC_SUBST([LIBMOUNT_VERSION])
883 AC_SUBST([LIBMOUNT_MAJOR_VERSION], $PACKAGE_VERSION_MAJOR)
884 AC_SUBST([LIBMOUNT_MINOR_VERSION], $PACKAGE_VERSION_MINOR)
885 AC_SUBST([LIBMOUNT_PATCH_VERSION], $PACKAGE_VERSION_RELEASE)
886 AC_SUBST([LIBMOUNT_VERSION_INFO])
887 AC_DEFINE_UNQUOTED([LIBMOUNT_VERSION], ["$LIBMOUNT_VERSION"], [libmount version string])
889 AC_ARG_ENABLE([libmount-force-mountinfo],
890 AS_HELP_STRING([--enable-libmount-force-mountinfo], [ignore /etc/mtab in all situations (recommended for systemd)]),
891 [], [enable_libmount_force_mountinfo=no]
894 AS_IF([test "x$enable_libmount_force_mountinfo" == xyes], [
895 AC_DEFINE([USE_LIBMOUNT_FORCE_MOUNTINFO], [1], [Define to 1 if want to ignore mtab in all situations.])
902 AC_ARG_ENABLE([libsmartcols],
903 AS_HELP_STRING([--disable-libsmartcols], [do not build libsmartcols]),
904 [], [UL_DEFAULT_ENABLE([libsmartcols], [yes])]
906 UL_BUILD_INIT([libsmartcols])
907 AM_CONDITIONAL([BUILD_LIBSMARTCOLS], [test "x$build_libsmartcols" = xyes])
908 AM_CONDITIONAL([BUILD_LIBSMARTCOLS_TESTS], [test "x$build_libsmartcols" = xyes -a "x$enable_static" = xyes])
910 AC_SUBST([LIBSMARTCOLS_VERSION])
911 AC_SUBST([LIBSMARTCOLS_VERSION_INFO])
912 AC_DEFINE_UNQUOTED([LIBSMARTCOLS_VERSION], ["$LIBSMARTCOLS_VERSION"], [libsmartcols version string])
918 AC_ARG_ENABLE([libfdisk],
919 AS_HELP_STRING([--disable-libfdisk], [do not build libfdisk]),
920 [], [UL_DEFAULT_ENABLE([libfdisk], [check])]
922 UL_BUILD_INIT([libfdisk])
923 UL_REQUIRES_BUILD([libfdisk], [libuuid])
924 AM_CONDITIONAL([BUILD_LIBFDISK], [test "x$build_libfdisk" = xyes])
925 AM_CONDITIONAL([BUILD_LIBFDISK_TESTS], [test "x$build_libfdisk" = xyes -a "x$enable_static" = xyes])
927 AS_IF([test "x$build_libblkid" = xyes],
928 [LIBFDISK_PC_REQUIRES="uuid blkid"],[LIBFDISK_PC_REQUIRES="uuid"])
929 AC_SUBST([LIBFDISK_PC_REQUIRES])
931 AC_SUBST([LIBFDISK_VERSION])
932 AC_SUBST([LIBFDISK_MAJOR_VERSION], $PACKAGE_VERSION_MAJOR)
933 AC_SUBST([LIBFDISK_MINOR_VERSION], $PACKAGE_VERSION_MINOR)
934 AC_SUBST([LIBFDISK_PATCH_VERSION], $PACKAGE_VERSION_RELEASE)
935 AC_SUBST([LIBFDISK_VERSION_INFO])
936 AC_DEFINE_UNQUOTED([LIBFDISK_VERSION], ["$LIBFDISK_VERSION"], [libfdisk version string])
939 UL_BUILD_INIT([fdisk], [check])
940 UL_REQUIRES_BUILD([fdisk], [libfdisk])
941 UL_REQUIRES_BUILD([fdisk], [libsmartcols])
942 AM_CONDITIONAL([BUILD_FDISK], [test "x$build_fdisk" = xyes])
945 UL_BUILD_INIT([sfdisk], [check])
946 UL_REQUIRES_BUILD([sfdisk], [libfdisk])
947 UL_REQUIRES_BUILD([sfdisk], [libsmartcols])
948 AM_CONDITIONAL([BUILD_SFDISK], [test "x$build_sfdisk" = xyes])
951 UL_BUILD_INIT([cfdisk], [check])
952 UL_REQUIRES_BUILD([cfdisk], [libfdisk])
953 UL_REQUIRES_BUILD([cfdisk], [libsmartcols])
954 UL_REQUIRES_HAVE([cfdisk], [ncurses,slang], [ncurses or slang library])
955 AM_CONDITIONAL([BUILD_CFDISK], [test "x$build_cfdisk" = xyes])
958 AC_ARG_ENABLE([mount],
959 AS_HELP_STRING([--disable-mount], [do not build mount(8) and umount(8)]),
960 [], [UL_DEFAULT_ENABLE([mount], [check])]
962 UL_BUILD_INIT([mount])
963 UL_REQUIRES_LINUX([mount])
964 UL_REQUIRES_BUILD([mount], [libmount])
965 AM_CONDITIONAL([BUILD_MOUNT], [test "x$build_mount" = xyes])
968 AC_ARG_ENABLE([losetup],
969 AS_HELP_STRING([--disable-losetup], [do not build losetup]),
970 [], [UL_DEFAULT_ENABLE([losetup], [check])]
972 UL_BUILD_INIT([losetup])
973 UL_REQUIRES_LINUX([losetup])
974 UL_REQUIRES_BUILD([losetup], [libsmartcols])
975 AM_CONDITIONAL([BUILD_LOSETUP], [test "x$build_losetup" = xyes])
977 AC_ARG_ENABLE([zramctl],
978 AS_HELP_STRING([--disable-zramctl], [do not build zramctl]),
979 [], [UL_DEFAULT_ENABLE([zramctl], [check])]
981 UL_BUILD_INIT([zramctl])
982 UL_REQUIRES_LINUX([zramctl])
983 UL_REQUIRES_BUILD([zramctl], [libsmartcols])
984 AM_CONDITIONAL([BUILD_ZRAMCTL], [test "x$build_zramctl" = xyes])
986 AC_ARG_ENABLE([fsck],
987 AS_HELP_STRING([--disable-fsck], [do not build fsck]),
988 [], [UL_DEFAULT_ENABLE([fsck], [check])]
990 UL_BUILD_INIT([fsck])
991 UL_REQUIRES_BUILD([fsck], [libmount])
992 AM_CONDITIONAL([BUILD_FSCK], [test "x$build_fsck" = xyes])
995 AC_ARG_ENABLE([partx],
996 AS_HELP_STRING([--disable-partx], [do not build addpart, delpart, partx]),
997 [], [UL_DEFAULT_ENABLE([partx], [check])]
999 UL_BUILD_INIT([partx])
1000 UL_REQUIRES_LINUX([partx])
1001 UL_REQUIRES_BUILD([partx], [libblkid])
1002 UL_REQUIRES_BUILD([partx], [libsmartcols])
1003 AM_CONDITIONAL([BUILD_PARTX], [test "x$build_partx" = xyes])
1006 AC_ARG_ENABLE([uuidd],
1007 AS_HELP_STRING([--disable-uuidd], [do not build the uuid daemon]),
1008 [], [UL_DEFAULT_ENABLE([uuidd], [check])]
1010 UL_BUILD_INIT([uuidd])
1011 UL_REQUIRES_BUILD([uuidd], [libuuid])
1012 AS_IF([test "x$build_uuidd" = xyes], [
1013 AC_DEFINE([HAVE_UUIDD], [1], [Define to 1 if you want to use uuid daemon.])
1015 AM_CONDITIONAL([BUILD_UUIDD], [test "x$build_uuidd" = xyes])
1018 UL_BUILD_INIT([uuidgen], [check])
1019 UL_REQUIRES_BUILD([uuidgen], [libuuid])
1020 AM_CONDITIONAL([BUILD_UUIDGEN], [test "x$build_uuidgen" = xyes])
1022 UL_BUILD_INIT([blkid], [check])
1023 UL_REQUIRES_BUILD([blkid], [libblkid])
1024 AM_CONDITIONAL([BUILD_BLKID], [test "x$build_blkid" = xyes])
1026 UL_BUILD_INIT([findfs], [check])
1027 UL_REQUIRES_BUILD([findfs], [libblkid])
1028 AM_CONDITIONAL([BUILD_FINDFS], [test "x$build_findfs" = xyes])
1030 UL_BUILD_INIT([wipefs], [check])
1031 UL_REQUIRES_BUILD([wipefs], [libblkid])
1032 AM_CONDITIONAL([BUILD_WIPEFS], [test "x$build_wipefs" = xyes])
1034 UL_BUILD_INIT([findmnt], [check])
1035 UL_REQUIRES_BUILD([findmnt], [libmount])
1036 UL_REQUIRES_BUILD([findmnt], [libsmartcols])
1037 AM_CONDITIONAL([BUILD_FINDMNT], [test "x$build_findmnt" = xyes])
1040 AC_ARG_ENABLE([mountpoint],
1041 AS_HELP_STRING([--disable-mountpoint], [do not build mountpoint]),
1042 [], [UL_DEFAULT_ENABLE([mountpoint], [check])]
1044 UL_BUILD_INIT([mountpoint])
1045 UL_REQUIRES_BUILD([mountpoint], [libmount])
1046 AM_CONDITIONAL([BUILD_MOUNTPOINT], [test "x$build_mountpoint" = xyes])
1049 AC_ARG_ENABLE([fallocate],
1050 AS_HELP_STRING([--disable-fallocate], [do not build fallocate]),
1051 [], [UL_DEFAULT_ENABLE([fallocate], [check])]
1053 UL_BUILD_INIT([fallocate])
1054 UL_REQUIRES_LINUX([fallocate])
1055 UL_REQUIRES_SYSCALL_CHECK([fallocate], [UL_CHECK_SYSCALL([fallocate])])
1056 AM_CONDITIONAL([BUILD_FALLOCATE], [test "x$build_fallocate" = xyes])
1058 AS_IF([test "x$build_fallocate" = xyes], [
1059 dnl check for valid fallocate() function
1060 dnl with 32 bits glibc 2.10, fallocate() exists but not fallocate64()
1061 dnl when _FILE_OFFSET_BITS==64, fallocate() is redirect to fallocate64()
1062 dnl and program can't be linked.
1063 dnl AC_CHECK_FUNC can't catch such errors since it's redefining
1064 dnl function prototype.
1065 AC_MSG_CHECKING([for valid fallocate() function])
1066 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1067 #ifdef HAVE_UNISTD_H
1068 # include <unistd.h>
1070 #ifdef HAVE_SYS_TYPES_H
1071 # include <sys/types.h>
1073 #ifdef HAVE_LINUX_FALLOC_H
1074 # include <linux/falloc.h>
1081 ret = fallocate(0, FALLOC_FL_KEEP_SIZE, 0xfffffffful, 0xfffffffful);
1086 AC_MSG_RESULT([yes])
1087 AC_DEFINE([HAVE_FALLOCATE], [1], [Have valid fallocate() function])],[
1088 AC_MSG_RESULT([no])])
1092 AC_ARG_ENABLE([unshare],
1093 AS_HELP_STRING([--disable-unshare], [do not build unshare]),
1094 [], [UL_DEFAULT_ENABLE([unshare], [check])]
1096 UL_BUILD_INIT([unshare])
1097 UL_REQUIRES_LINUX([unshare])
1098 UL_REQUIRES_SYSCALL_CHECK([unshare], [UL_CHECK_SYSCALL([unshare])])
1099 AM_CONDITIONAL([BUILD_UNSHARE], [test "x$build_unshare" = xyes])
1100 AC_CHECK_FUNCS([unshare])
1102 AC_ARG_ENABLE([nsenter],
1103 AS_HELP_STRING([--disable-nsenter], [do not build nsenter]),
1104 [], [UL_DEFAULT_ENABLE([nsenter], [check])]
1106 UL_BUILD_INIT([nsenter])
1107 UL_REQUIRES_LINUX([nsenter])
1108 UL_REQUIRES_SYSCALL_CHECK([nsenter], [UL_CHECK_SYSCALL([setns])], [setns])
1109 AM_CONDITIONAL([BUILD_NSENTER], [test "x$build_nsenter" = xyes])
1110 AC_CHECK_FUNCS([setns])
1112 dnl setpriv depends on libcap-ng. It would be possible to build
1113 dnl a version of setpriv with limited functionality without libcap-ng,
1114 dnl but this isn't currently supported.
1115 UL_CHECK_LIB([cap-ng], [capng_apply], [cap_ng])
1116 AC_ARG_ENABLE([setpriv],
1117 AS_HELP_STRING([--disable-setpriv], [do not build setpriv]),
1118 [], [UL_DEFAULT_ENABLE([setpriv], [check])]
1120 UL_BUILD_INIT([setpriv])
1121 UL_REQUIRES_LINUX([setpriv])
1122 UL_REQUIRES_HAVE([setpriv], [linux_securebits_h], [securebits.h header file])
1123 UL_REQUIRES_HAVE([setpriv], [cap_ng], [libcap-ng library])
1124 AM_CONDITIONAL([BUILD_SETPRIV], [test "x$build_setpriv" = xyes])
1127 AC_ARG_ENABLE([eject],
1128 AS_HELP_STRING([--disable-eject], [do not build eject]),
1129 [], [UL_DEFAULT_ENABLE([eject], [check])]
1131 UL_BUILD_INIT([eject])
1132 UL_REQUIRES_LINUX([eject])
1133 UL_REQUIRES_BUILD([eject], [libmount])
1134 AM_CONDITIONAL([BUILD_EJECT], [test "x$build_eject" = xyes])
1137 AC_ARG_ENABLE([agetty],
1138 AS_HELP_STRING([--disable-agetty], [do not build agetty]),
1139 [], [UL_DEFAULT_ENABLE([agetty], [yes])]
1141 UL_BUILD_INIT([agetty])
1142 AM_CONDITIONAL([BUILD_AGETTY], [test "x$build_agetty" = xyes])
1143 AS_IF([test "x$have_futimens" = xyes -a "x$have_inotify_init1" = xyes ], [
1144 AC_DEFINE([AGETTY_RELOAD], [1], [Enable agetty --reload feature])
1146 AC_MSG_WARN([futimens or inotify_init1 not found; agetty(8) will not provide ---reload functionality])
1150 AC_ARG_ENABLE([cramfs],
1151 AS_HELP_STRING([--disable-cramfs], [do not build fsck.cramfs, mkfs.cramfs]),
1152 [], [UL_DEFAULT_ENABLE([cramfs], [check])]
1154 UL_BUILD_INIT([cramfs])
1155 AC_CHECK_LIB([z], [crc32], [have_z=yes], [have_z=no])
1156 UL_REQUIRES_HAVE([cramfs], [z], [z library])
1157 AM_CONDITIONAL([BUILD_CRAMFS], [test "x$build_cramfs" = xyes])
1160 AC_ARG_ENABLE([bfs],
1161 AS_HELP_STRING([--disable-bfs], [do not build mkfs.bfs]),
1162 [], [UL_DEFAULT_ENABLE([bfs], [yes])]
1164 UL_BUILD_INIT([bfs])
1165 AM_CONDITIONAL([BUILD_BFS], [test "x$build_bfs" = xyes])
1168 AC_ARG_ENABLE([minix],
1169 AS_HELP_STRING([--disable-minix], [do not build fsck.minix, mkfs.minix]),
1170 [], [UL_DEFAULT_ENABLE([minix], [yes])]
1172 UL_BUILD_INIT([minix])
1173 AM_CONDITIONAL([BUILD_MINIX], [test "x$build_minix" = xyes])
1176 AC_ARG_ENABLE([fdformat],
1177 AS_HELP_STRING([--disable-fdformat], [do not build fdformat]),
1178 [], [UL_DEFAULT_ENABLE([fdformat], [check])]
1180 UL_BUILD_INIT([fdformat])
1181 UL_REQUIRES_LINUX([fdformat])
1182 AM_CONDITIONAL([BUILD_FDFORMAT], [test "x$build_fdformat" = xyes])
1185 AC_ARG_ENABLE([hwclock],
1186 AS_HELP_STRING([--disable-hwclock], [do not build hwclock]),
1187 [], [UL_DEFAULT_ENABLE([hwclock], [check])]
1189 have_linuxdummy=$linux_os
1191 UL_BUILD_INIT([hwclock])
1192 UL_REQUIRES_HAVE([hwclock], [io, linuxdummy], [ioperm iopl function or Linux])
1193 AM_CONDITIONAL([BUILD_HWCLOCK], [test "x$build_hwclock" = xyes])
1196 UL_BUILD_INIT([mkfs], [yes])
1197 AM_CONDITIONAL([BUILD_MKFS], [test "x$build_mkfs" = xyes])
1199 UL_BUILD_INIT([isosize], [yes])
1200 AM_CONDITIONAL([BUILD_ISOSIZE], [test "x$build_isosize" = xyes])
1203 UL_BUILD_INIT([fstrim], [check])
1204 UL_REQUIRES_LINUX([fstrim])
1205 UL_REQUIRES_BUILD([fstrim], [libmount])
1206 AM_CONDITIONAL([BUILD_FSTRIM], [test "x$build_fstrim" = xyes])
1209 UL_BUILD_INIT([swapon], [check])
1210 UL_REQUIRES_LINUX([swapon])
1211 UL_REQUIRES_BUILD([swapon], [libblkid])
1212 UL_REQUIRES_BUILD([swapon], [libmount])
1213 UL_REQUIRES_BUILD([swapon], [libsmartcols])
1214 AM_CONDITIONAL([BUILD_SWAPON], [test "x$build_swapon" = xyes])
1217 UL_BUILD_INIT([lsblk], [check])
1218 UL_REQUIRES_LINUX([lsblk])
1219 UL_REQUIRES_BUILD([lsblk], [libblkid])
1220 UL_REQUIRES_BUILD([lsblk], [libmount])
1221 UL_REQUIRES_BUILD([lsblk], [libsmartcols])
1222 AM_CONDITIONAL([BUILD_LSBLK], [test "x$build_lsblk" = xyes])
1225 UL_BUILD_INIT([lscpu], [check])
1226 UL_REQUIRES_LINUX([lscpu])
1227 UL_REQUIRES_BUILD([lscpu], [libsmartcols])
1228 UL_REQUIRES_HAVE([lscpu], [cpu_set_t], [cpu_set_t type])
1229 AM_CONDITIONAL([BUILD_LSCPU], [test "x$build_lscpu" = xyes])
1232 UL_BUILD_INIT([lslogins], [check])
1233 UL_REQUIRES_BUILD([lslogins], [libsmartcols])
1234 AM_CONDITIONAL([BUILD_LSLOGINS], [test "x$build_lslogins" = xyes])
1237 UL_BUILD_INIT([chcpu], [check])
1238 UL_REQUIRES_LINUX([chcpu])
1239 UL_REQUIRES_HAVE([chcpu], [cpu_set_t], [cpu_set_t type])
1240 AM_CONDITIONAL([BUILD_CHCPU], [test "x$build_chcpu" = xyes])
1243 AC_ARG_ENABLE([wdctl],
1244 AS_HELP_STRING([--disable-wdctl], [do not build wdctl]),
1245 [], [UL_DEFAULT_ENABLE([wdctl], [check])]
1247 UL_BUILD_INIT([wdctl])
1248 UL_REQUIRES_LINUX([wdctl])
1249 UL_REQUIRES_BUILD([wdctl], [libsmartcols])
1250 UL_REQUIRES_HAVE([wdctl], [linux_watchdog_h], [linux/watchdog.h header file])
1251 AM_CONDITIONAL([BUILD_WDCTL], [test "x$build_wdctl" = xyes])
1254 UL_BUILD_INIT([swaplabel], [check])
1255 UL_REQUIRES_BUILD([swaplabel], [libblkid])
1256 AM_CONDITIONAL([BUILD_SWAPLABEL], [test "x$build_swaplabel" = xyes])
1259 UL_BUILD_INIT([mkswap], [yes])
1260 AM_CONDITIONAL([BUILD_MKSWAP], [test "x$build_mkswap" = xyes])
1261 AS_IF([test "x$build_mkswap" = xyes -a "x$build_libuuid" != xyes], [
1262 AC_MSG_WARN([uuid library is not found; mkswap(8) will not generate UUIDs])
1265 UL_BUILD_INIT([cal], [yes])
1266 AM_CONDITIONAL([BUILD_CAL], [test "x$build_cal" = xyes])
1268 UL_BUILD_INIT([logger], [yes])
1269 AM_CONDITIONAL([BUILD_LOGGER], [test "x$build_logger" = xyes])
1271 UL_BUILD_INIT([look], [yes])
1272 AM_CONDITIONAL([BUILD_LOOK], [test "x$build_look" = xyes])
1274 UL_BUILD_INIT([mcookie], [yes])
1275 AM_CONDITIONAL([BUILD_MCOOKIE], [test "x$build_mcookie" = xyes])
1277 UL_BUILD_INIT([namei], [yes])
1278 AM_CONDITIONAL([BUILD_NAMEI], [test "x$build_namei" = xyes])
1280 UL_BUILD_INIT([whereis], [yes])
1281 AM_CONDITIONAL([BUILD_WHEREIS], [test "x$build_whereis" = xyes])
1283 UL_BUILD_INIT([getopt], [yes])
1284 AM_CONDITIONAL([BUILD_GETOPT], [test "x$build_getopt" = xyes])
1287 UL_BUILD_INIT([blockdev], [check])
1288 UL_REQUIRES_LINUX([blockdev])
1289 AM_CONDITIONAL([BUILD_BLOCKDEV], [test "x$build_blockdev" = xyes])
1292 UL_BUILD_INIT([prlimit], [check])
1293 UL_REQUIRES_LINUX([prlimit])
1294 UL_REQUIRES_BUILD([prlimit], [libsmartcols])
1295 UL_REQUIRES_SYSCALL_CHECK([prlimit], [UL_CHECK_SYSCALL([prlimit64])], [prlimit64])
1296 AM_CONDITIONAL([BUILD_PRLIMIT], [test "x$build_prlimit" = xyes])
1297 AS_IF([test "x$build_prlimit" = xyes], [
1298 AC_CHECK_FUNCS([prlimit])
1302 UL_BUILD_INIT([lslocks], [check])
1303 UL_REQUIRES_LINUX([lslocks])
1304 UL_REQUIRES_BUILD([lslocks], [libmount])
1305 UL_REQUIRES_BUILD([lslocks], [libsmartcols])
1306 AM_CONDITIONAL([BUILD_LSLOCKS], [test "x$build_lslocks" = xyes])
1309 AC_ARG_ENABLE([switch_root],
1310 AS_HELP_STRING([--disable-switch_root], [do not build switch_root]),
1311 [], [UL_DEFAULT_ENABLE([switch_root], [check])]
1313 UL_BUILD_INIT([switch_root])
1314 UL_REQUIRES_LINUX([switch_root])
1315 UL_REQUIRES_HAVE([switch_root], [openat], [openat function])
1316 AM_CONDITIONAL([BUILD_SWITCH_ROOT], [test "x$build_switch_root" = xyes])
1319 AC_ARG_ENABLE([pivot_root],
1320 AS_HELP_STRING([--disable-pivot_root], [do not build pivot_root]),
1321 [], [UL_DEFAULT_ENABLE([pivot_root], [check])]
1323 UL_BUILD_INIT([pivot_root])
1324 UL_REQUIRES_LINUX([pivot_root])
1325 UL_REQUIRES_SYSCALL_CHECK([pivot_root], [UL_CHECK_SYSCALL([pivot_root])])
1326 AM_CONDITIONAL([BUILD_PIVOT_ROOT], [test "x$build_pivot_root" = xyes])
1329 UL_BUILD_INIT([flock], [yes])
1330 UL_REQUIRES_HAVE([flock], [timer], [timer_create function])
1331 AM_CONDITIONAL([BUILD_FLOCK], [test "x$build_flock" = xyes])
1333 UL_BUILD_INIT([ipcmk], [yes])
1334 AM_CONDITIONAL([BUILD_IPCMK], [test "x$build_ipcmk" = xyes])
1336 UL_BUILD_INIT([ipcrm], [yes])
1337 AM_CONDITIONAL([BUILD_IPCRM], [test "x$build_ipcrm" = xyes])
1339 UL_BUILD_INIT([ipcs], [yes])
1340 AM_CONDITIONAL([BUILD_IPCS], [test "x$build_ipcs" = xyes])
1342 UL_BUILD_INIT([renice], [yes])
1343 AM_CONDITIONAL([BUILD_RENICE], [test "x$build_renice" = xyes])
1345 UL_BUILD_INIT([setsid], [yes])
1346 AM_CONDITIONAL([BUILD_SETSID], [test "x$build_setsid" = xyes])
1348 UL_BUILD_INIT([readprofile], [check])
1349 UL_REQUIRES_LINUX([readprofile])
1350 AM_CONDITIONAL([BUILD_READPROFILE], [test "x$build_readprofile" = xyes])
1352 UL_BUILD_INIT([dmesg], [check])
1353 UL_REQUIRES_LINUX([dmesg])
1354 AM_CONDITIONAL([BUILD_DMESG], [test "x$build_dmesg" = xyes])
1356 UL_BUILD_INIT([ctrlaltdel], [check])
1357 UL_REQUIRES_LINUX([ctrlaltdel])
1358 AM_CONDITIONAL([BUILD_CTRLALTDEL], [test "x$build_ctrlaltdel" = xyes])
1360 UL_BUILD_INIT([fsfreeze], [check])
1361 UL_REQUIRES_LINUX([fsfreeze])
1362 AM_CONDITIONAL([BUILD_FSFREEZE], [test "x$build_fsfreeze" = xyes])
1364 UL_BUILD_INIT([blkdiscard], [check])
1365 UL_REQUIRES_LINUX([blkdiscard])
1366 AM_CONDITIONAL([BUILD_BLKDISCARD], [test "x$build_blkdiscard" = xyes])
1368 UL_BUILD_INIT([ldattach], [check])
1369 UL_REQUIRES_LINUX([ldattach])
1370 AM_CONDITIONAL([BUILD_LDATTACH], [test "x$build_ldattach" = xyes])
1372 UL_BUILD_INIT([rtcwake], [check])
1373 UL_REQUIRES_LINUX([rtcwake])
1374 AM_CONDITIONAL([BUILD_RTCWAKE], [test "x$build_rtcwake" = xyes])
1376 UL_BUILD_INIT([setarch], [check])
1377 UL_REQUIRES_LINUX([setarch])
1378 AM_CONDITIONAL([BUILD_SETARCH], [test "x$build_setarch" = xyes])
1380 UL_BUILD_INIT([script], [yes])
1381 AM_CONDITIONAL([BUILD_SCRIPT], [test "x$build_script" = xyes])
1383 UL_BUILD_INIT([scriptreplay], [yes])
1384 AM_CONDITIONAL([BUILD_SCRIPTREPLAY], [test "x$build_scriptreplay" = xyes])
1386 UL_BUILD_INIT([col], [yes])
1387 AM_CONDITIONAL([BUILD_COL], [test "x$build_col" = xyes])
1389 UL_BUILD_INIT([colcrt], [yes])
1390 AM_CONDITIONAL([BUILD_COLCRT], [test "x$build_colcrt" = xyes])
1392 UL_BUILD_INIT([colrm], [yes])
1393 AM_CONDITIONAL([BUILD_COLRM], [test "x$build_colrm" = xyes])
1395 UL_BUILD_INIT([column], [yes])
1396 AM_CONDITIONAL([BUILD_COLUMN], [test "x$build_column" = xyes])
1398 UL_BUILD_INIT([hexdump], [yes])
1399 AM_CONDITIONAL([BUILD_HEXDUMP], [test "x$build_hexdump" = xyes])
1401 UL_BUILD_INIT([rev], [yes])
1402 AM_CONDITIONAL([BUILD_REV], [test "x$build_rev" = xyes])
1404 UL_BUILD_INIT([tailf], [yes])
1405 AM_CONDITIONAL([BUILD_TAILF], [test "x$build_tailf" = xyes])
1408 AC_ARG_ENABLE([tunelp],
1409 AS_HELP_STRING([--enable-tunelp], [build tunelp]),
1410 [], [UL_DEFAULT_ENABLE([tunelp], [no])]
1412 UL_BUILD_INIT([tunelp])
1413 UL_REQUIRES_LINUX([tunelp])
1414 AM_CONDITIONAL([BUILD_TUNELP], [test "x$build_tunelp" = xyes])
1417 AC_ARG_ENABLE([kill],
1418 AS_HELP_STRING([--disable-kill], [do not build kill]),
1419 [], [UL_DEFAULT_ENABLE([kill], [check])]
1421 UL_BUILD_INIT([kill])
1422 UL_REQUIRES_LINUX([kill])
1423 AM_CONDITIONAL([BUILD_KILL], [test "x$build_kill" = xyes])
1425 dnl Don't use UL_DEFAULT_ENABLE() here, deprecated stuff has to be insensitive
1426 dnl to --enable-all-programs.
1427 AC_ARG_ENABLE([deprecated-last],
1428 AS_HELP_STRING([--enable-deprecated-last], [build old deprecated last]),
1429 [], [enable_deprecated_last=no]
1431 UL_BUILD_INIT([deprecated_last])
1432 AM_CONDITIONAL([BUILD_DEPRECATED_LAST], [test "x$build_deprecated_last" = xyes])
1435 AC_ARG_ENABLE([last],
1436 AS_HELP_STRING([--disable-last], [do not build last]),
1437 [], [UL_DEFAULT_ENABLE([last], [check])]
1439 UL_BUILD_INIT([last])
1440 UL_CONFLICTS_BUILD([last], [deprecated_last], [old deprecated last version])
1441 AM_CONDITIONAL([BUILD_LAST], [test "x$build_last" = xyes])
1444 AC_ARG_ENABLE([utmpdump],
1445 AS_HELP_STRING([--disable-utmpdump], [do not build utmpdump]),
1446 [], [UL_DEFAULT_ENABLE([utmpdump], [yes])]
1448 UL_BUILD_INIT([utmpdump])
1449 AM_CONDITIONAL([BUILD_UTMPDUMP], [test "x$build_utmpdump" = xyes])
1452 AC_ARG_ENABLE([line],
1453 AS_HELP_STRING([--enable-line], [build line]),
1454 [], [UL_DEFAULT_ENABLE([line], [no])]
1456 UL_BUILD_INIT([line])
1457 AM_CONDITIONAL([BUILD_LINE], [test "x$build_line" = xyes])
1460 AC_ARG_ENABLE([mesg],
1461 AS_HELP_STRING([--disable-mesg], [do not build mesg]),
1462 [], [UL_DEFAULT_ENABLE([mesg], [yes])]
1464 UL_BUILD_INIT([mesg])
1465 AM_CONDITIONAL([BUILD_MESG], [test "x$build_mesg" = xyes])
1468 AC_ARG_ENABLE([raw],
1469 AS_HELP_STRING([--disable-raw], [do not build raw]),
1470 [], [UL_DEFAULT_ENABLE([raw], [check])]
1472 UL_BUILD_INIT([raw])
1473 UL_REQUIRES_LINUX([raw])
1474 UL_REQUIRES_HAVE([raw], [linux_raw_h], [raw.h header file])
1475 AM_CONDITIONAL([BUILD_RAW], [test "x$build_raw" = xyes])
1478 AC_ARG_ENABLE([rename],
1479 AS_HELP_STRING([--disable-rename], [do not build rename]),
1480 [], [UL_DEFAULT_ENABLE([rename], [yes])]
1482 UL_BUILD_INIT([rename])
1483 AM_CONDITIONAL([BUILD_RENAME], [test "x$build_rename" = xyes])
1486 AC_ARG_ENABLE([reset],
1487 AS_HELP_STRING([--enable-reset], [build reset]),
1488 [], [UL_DEFAULT_ENABLE([reset], [no])]
1490 UL_BUILD_INIT([reset])
1491 AM_CONDITIONAL([BUILD_RESET], [test "x$build_reset" = xyes])
1494 AC_ARG_ENABLE([vipw],
1495 AS_HELP_STRING([--enable-vipw], [build vipw]),
1496 [], [UL_DEFAULT_ENABLE([vipw], [no])]
1498 UL_BUILD_INIT([vipw])
1499 AM_CONDITIONAL([BUILD_VIPW], [test "x$build_vipw" = xyes])
1502 AC_ARG_ENABLE([newgrp],
1503 AS_HELP_STRING([--enable-newgrp], [build newgrp]),
1504 [], [UL_DEFAULT_ENABLE([newgrp], [no])]
1506 UL_BUILD_INIT([newgrp])
1507 AM_CONDITIONAL([BUILD_NEWGRP], [test "x$build_newgrp" = xyes])
1510 AC_ARG_WITH([user], AS_HELP_STRING([--without-user], [compile without libuser (remote chsh)]),
1511 [], [with_user=check]
1514 AS_IF([test "x$with_user" != xno], [
1515 PKG_CHECK_MODULES(LIBUSER,[libuser >= 0.58], [have_user=yes], [have_user=no])
1516 AS_CASE([$with_user:$have_user],
1518 [AC_MSG_ERROR([user selected but libuser not found])],
1520 [AC_DEFINE([HAVE_LIBUSER], [1], [Define if libuser is available])]
1522 # temporary solution, libuser has stupid .pc where are exported all
1523 # private dependencies to Requires: instead of Requires.private:
1524 AS_IF([test "x$have_user" = xyes], [
1528 AM_CONDITIONAL([HAVE_USER], [test "x$have_user" = xyes])
1530 AC_ARG_ENABLE([chfn-chsh-password],
1531 AS_HELP_STRING([--disable-chfn-chsh-password], [do not require the user to enter the password in chfn and chsh]),
1532 [], [enable_chfn_chsh_password=yes]
1535 AC_ARG_ENABLE([chfn-chsh],
1536 AS_HELP_STRING([--enable-chfn-chsh], [build chfn and chsh]),
1537 [], [UL_DEFAULT_ENABLE([chfn_chsh], [check])]
1539 UL_BUILD_INIT([chfn_chsh])
1541 AS_IF([test "x$enable_chfn_chsh_password" = xyes -o "x$have_user" = xyes], [
1542 UL_REQUIRES_HAVE([chfn_chsh], [security_pam_appl_h], [PAM header file])
1543 AC_DEFINE([CHFN_CHSH_PASSWORD], [1], [Should chfn and chsh require the user to enter the password?])
1545 AM_CONDITIONAL([BUILD_CHFN_CHSH], [test "x$build_chfn_chsh" = xyes])
1546 AM_CONDITIONAL([CHFN_CHSH_PASSWORD], [test "x$enable_chfn_chsh_password" = xyes])
1548 AC_ARG_ENABLE([chsh-only-listed],
1549 AS_HELP_STRING([--disable-chsh-only-listed], [chsh: allow shells not in /etc/shells]),
1550 [], enable_chsh_only_listed=yes
1553 AS_IF([test "x$enable_chsh_only_listed" = xyes], [
1554 AC_DEFINE([ONLY_LISTED_SHELLS], [1], [Should chsh allow only shells in /etc/shells?])
1558 AC_ARG_ENABLE([login],
1559 AS_HELP_STRING([--disable-login], [do not build login]),
1560 [], [UL_DEFAULT_ENABLE([login], [check])]
1562 UL_BUILD_INIT([login])
1563 UL_REQUIRES_HAVE([login], [security_pam_appl_h], [PAM header file])
1564 UL_REQUIRES_HAVE([login], [security_pam_misc_h, security_openpam_h], [PAM conversation functions])
1565 AM_CONDITIONAL([BUILD_LOGIN], [test "x$build_login" = xyes])
1567 AC_ARG_ENABLE([login-chown-vcs],
1568 AS_HELP_STRING([--enable-login-chown-vcs], [let login chown /dev/vcsN]),
1569 [], [enable_login_chown_vcs=no]
1572 AS_IF([test "x$enable_login_chown_vcs" = xyes], [
1573 AC_DEFINE([LOGIN_CHOWN_VCS], [1], [Should login chown /dev/vcsN?])
1576 AC_ARG_ENABLE([login-stat-mail],
1577 AS_HELP_STRING([--enable-login-stat-mail], [let login stat() the mailbox]),
1578 [], [enable_login_stat_mail=no]
1581 AS_IF([test "x$enable_login_stat_mail" = xyes], [
1582 AC_DEFINE([LOGIN_STAT_MAIL], [1], [Should login stat() the mailbox?])
1586 AC_ARG_ENABLE([nologin],
1587 AS_HELP_STRING([--disable-nologin], [do not build nologin]),
1588 [], [UL_DEFAULT_ENABLE([nologin], [yes])]
1590 UL_BUILD_INIT([nologin])
1591 AM_CONDITIONAL([BUILD_NOLOGIN], [test "x$build_nologin" = xyes])
1594 AC_ARG_ENABLE([sulogin],
1595 AS_HELP_STRING([--disable-sulogin], [do not build sulogin]),
1596 [], [UL_DEFAULT_ENABLE([sulogin], [yes])]
1598 UL_BUILD_INIT([sulogin])
1599 AM_CONDITIONAL([BUILD_SULOGIN], [test "x$build_sulogin" = xyes])
1603 AS_HELP_STRING([--disable-su], [do not build su]),
1604 [], [UL_DEFAULT_ENABLE([su], [check])]
1607 UL_REQUIRES_HAVE([su], [security_pam_appl_h], [PAM header file])
1608 AM_CONDITIONAL([BUILD_SU], [test "x$build_su" = xyes])
1611 AC_ARG_ENABLE([runuser],
1612 AS_HELP_STRING([--disable-runuser], [do not build runuser]),
1613 [], [UL_DEFAULT_ENABLE([runuser], [check])]
1615 UL_BUILD_INIT([runuser])
1616 UL_REQUIRES_HAVE([runuser], [security_pam_appl_h], [PAM header file])
1617 AM_CONDITIONAL([BUILD_RUNUSER], [test "x$build_runuser" = xyes])
1621 AS_HELP_STRING([--disable-ul], [do not build ul]),
1622 [], [UL_DEFAULT_ENABLE([ul], [check])]
1625 UL_REQUIRES_HAVE([ul], [ncurses, tinfo], [ncurses or tinfo libraries])
1626 AM_CONDITIONAL([BUILD_UL], [test "x$build_ul" = xyes])
1629 AC_ARG_ENABLE([more],
1630 AS_HELP_STRING([--disable-more], [do not build more]),
1631 [], [UL_DEFAULT_ENABLE([more], [check])]
1633 UL_BUILD_INIT([more])
1634 UL_REQUIRES_HAVE([more], [ncurses, tinfo, termcap], [ncurses, tinfo or termcap libraries])
1635 AM_CONDITIONAL([BUILD_MORE], [test "x$build_more" = xyes])
1639 AS_HELP_STRING([--disable-pg], [do not build pg]),
1640 [], [UL_DEFAULT_ENABLE([pg], [check])]
1643 UL_REQUIRES_HAVE([pg], [ncurses], [ncurses or ncursesw library])
1644 AM_CONDITIONAL([BUILD_PG], [test "x$build_pg" = xyes])
1647 AC_ARG_ENABLE([setterm],
1648 AS_HELP_STRING([--disable-setterm], [do not build setterm]),
1649 [], [UL_DEFAULT_ENABLE([setterm], [check])]
1651 UL_BUILD_INIT([setterm])
1652 UL_REQUIRES_LINUX([setterm])
1653 UL_REQUIRES_HAVE([setterm], [ncurses], [ncurses library])
1654 AM_CONDITIONAL([BUILD_SETTERM], [test "x$build_setterm" = xyes])
1656 # build_schedutils= is just configure-only variable to control
1657 # ionice, taskset and chrt
1658 AC_ARG_ENABLE([schedutils],
1659 AS_HELP_STRING([--disable-schedutils], [do not build chrt, ionice, taskset]),
1660 [], [UL_DEFAULT_ENABLE([schedutils], [yes])]
1662 UL_BUILD_INIT([schedutils])
1664 UL_BUILD_INIT([ionice], [check])
1665 UL_REQUIRES_BUILD([ionice], [schedutils])
1666 UL_REQUIRES_SYSCALL_CHECK([ionice],
1667 [UL_CHECK_SYSCALL([ioprio_set],
1678 UL_REQUIRES_SYSCALL_CHECK([ionice],
1679 [UL_CHECK_SYSCALL([ioprio_get],
1690 AM_CONDITIONAL([BUILD_IONICE], [test "x$build_ionice" = xyes])
1692 UL_BUILD_INIT([taskset], [check])
1693 UL_REQUIRES_BUILD([taskset], [schedutils])
1694 UL_REQUIRES_HAVE([taskset], [cpu_set_t], [cpu_set_t type])
1695 UL_REQUIRES_SYSCALL_CHECK([taskset],
1696 [UL_CHECK_SYSCALL([sched_getaffinity])],
1697 [sched_getaffinity])
1698 AM_CONDITIONAL([BUILD_TASKSET], [test "x$build_taskset" = xyes])
1700 UL_BUILD_INIT([chrt], [check])
1701 UL_REQUIRES_BUILD([chrt], [schedutils])
1702 AM_CONDITIONAL([BUILD_CHRT], [test "x$build_chrt" = xyes])
1705 AC_ARG_ENABLE([wall],
1706 AS_HELP_STRING([--disable-wall], [do not build wall]),
1707 [], [UL_DEFAULT_ENABLE([wall], [yes])]
1709 UL_BUILD_INIT([wall])
1710 AM_CONDITIONAL([BUILD_WALL], [test "x$build_wall" = xyes])
1713 AC_ARG_ENABLE([write],
1714 AS_HELP_STRING([--enable-write], [build write]),
1715 [], [UL_DEFAULT_ENABLE([write], [no])]
1717 UL_BUILD_INIT([write])
1718 AM_CONDITIONAL([BUILD_WRITE], [test "x$build_write" = xyes])
1721 AC_ARG_WITH([systemd],
1722 AS_HELP_STRING([--with-systemd], [build with support for systemd]),
1723 [], [with_systemd=check]
1727 AS_IF([test "x$with_systemd" != xno], [
1728 # new version -- all libsystemd-* libs merged into libsystemd
1729 PKG_CHECK_MODULES([SYSTEMD], [libsystemd], [have_systemd=yes], [have_systemd=no])
1731 AS_IF([test "x$have_systemd" != "xyes"], [
1732 PKG_CHECK_MODULES([SYSTEMD_DAEMON], [libsystemd-daemon],
1733 [have_systemd_daemon=yes], [have_systemd_daemon=no])
1734 PKG_CHECK_MODULES([SYSTEMD_JOURNAL], [libsystemd-journal],
1735 [have_systemd_journal=yes], [have_systemd_journal=no])
1736 AS_IF([test "x$have_systemd_daemon" = "xyes" -a "x$have_systemd_journal" = "xyes" ],[
1739 AS_CASE([$with_systemd:$have_systemd],
1741 [AC_MSG_ERROR([systemd expected but libsystemd not found])],
1743 AC_DEFINE([HAVE_LIBSYSTEMD], [1], [Define if libsystemd is available])
1746 AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$have_systemd" = xyes])
1749 AC_ARG_WITH([systemdsystemunitdir],
1750 AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [directory for systemd service files]),
1751 [], [with_systemdsystemunitdir=`$PKG_CONFIG --variable=systemdsystemunitdir systemd`])
1753 AS_IF([test "x$with_systemdsystemunitdir" != "xno"], [
1754 AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
1758 AC_ARG_WITH([smack],
1759 AS_HELP_STRING([--with-smack], [build with SMACK support]),
1762 AS_IF([test "x$with_smack" = xyes], [
1763 AC_DEFINE([HAVE_SMACK], [1], [Add SMACK support])
1767 AC_ARG_WITH([bashcompletiondir],
1768 AS_HELP_STRING([--with-bashcompletiondir=DIR], [Bash completions directory]),
1770 [AS_IF([`$PKG_CONFIG --exists bash-completion`], [
1771 with_bashcompletiondir=`$PKG_CONFIG --variable=completionsdir bash-completion`
1773 with_bashcompletiondir=${datadir}/bash-completion/completions
1776 AC_SUBST([bashcompletiondir], [$with_bashcompletiondir])
1778 AC_ARG_ENABLE([bash-completion],
1779 AS_HELP_STRING([--disable-bash-completion], [do not install bash completion files]),
1780 [], [enable_bash_completion=yes]
1783 AM_CONDITIONAL([BUILD_BASH_COMPLETION], [test "x$enable_bash_completion" = xyes])
1786 AC_ARG_WITH([python],
1787 AS_HELP_STRING([--without-python], [do not build python bindings, use --with-python={2,3} to force version]),
1788 [], [with_python=check withval=check]
1792 AS_IF([test "x$with_python" != xno], [
1793 # We follow distributions default and look for PKG module name "python"
1794 # (minimal version is 2) but if major version is explicitly specified by
1795 # --with-python=2 or --with-python=3 then we look for PKG module "python2" or
1797 AS_IF([test "x$withval" != xno -a "x$withval" != xyes -a "x$withval" != xcheck],
1798 [pymajor="$withval"; PYTHON=python${pymajor}], [pymajor="2"])
1799 AM_PATH_PYTHON([$pymajor], [have_python=yes], [have_python=no])
1800 AS_CASE([$with_python:$have_python],
1802 [AC_MSG_ERROR([python selected but libpython not found])],
1804 [AC_MSG_WARN([libpython not found, do not build python bindings])],
1806 [PKG_CHECK_MODULES([PYTHON], [python-$PYTHON_VERSION])]
1811 AC_ARG_ENABLE([pylibmount],
1812 AS_HELP_STRING([--disable-pylibmount], [do not build pylibmount]),
1813 [], [UL_DEFAULT_ENABLE([pylibmount], [check])]
1815 UL_BUILD_INIT([pylibmount])
1816 UL_REQUIRES_HAVE([pylibmount], [python], [libpython])
1817 UL_REQUIRES_BUILD([pylibmount], [libmount])
1818 AM_CONDITIONAL([BUILD_PYLIBMOUNT], [test "x$build_pylibmount" = "xyes"])
1821 AC_ARG_ENABLE([pg-bell],
1822 AS_HELP_STRING([--disable-pg-bell], [let pg not ring the bell on invalid keys]),
1823 [], [enable_pg_bell=yes]
1826 AS_IF([test "x$enable_pg_bell" = xyes], [
1827 AC_DEFINE([PG_BELL], [1], [Should pg ring the bell on invalid keys?])
1831 AC_DEFUN([FS_PATHS_DEFAULT], [/sbin:/sbin/fs.d:/sbin/fs])
1832 AC_ARG_ENABLE([fs-paths-default],
1833 AS_HELP_STRING([--enable-fs-paths-default=paths], [default search path for fs helpers @<:@FS_PATHS_DEFAULT@:>@]),
1834 [AS_CASE([$enableval],
1835 [yes], [fs_paths_defaults="FS_PATHS_DEFAULT"],
1836 [no], [fs_paths_defaults=""],
1837 [fs_paths_defaults="$enableval"]
1839 [fs_paths_defaults="FS_PATHS_DEFAULT"]
1841 AC_ARG_ENABLE([fs-paths-extra],
1842 AS_HELP_STRING([--enable-fs-paths-extra=paths], [additional search paths for fs helpers]),
1843 [AS_CASE([$enableval],
1844 [yes|no], [fs_paths_extra=""],
1845 [fs_paths_extra="$enableval"]
1849 fs_paths="$fs_paths_defaults"
1850 AS_IF([test "x$fs_paths_extra" != "x"], [
1851 AS_IF([test "x$fs_paths" != "x"], [
1852 fs_paths="${fs_paths}:"
1854 fs_paths="${fs_paths}${fs_paths_extra}"
1856 AC_DEFINE_UNQUOTED([FS_SEARCH_PATH], "$fs_paths", [search path for fs helpers])
1859 AC_ARG_ENABLE([use-tty-group],
1860 AS_HELP_STRING([--disable-use-tty-group], [do not install wall and write setgid tty]),
1861 [], [enable_use_tty_group=yes]
1863 AM_CONDITIONAL([USE_TTY_GROUP], [test "x$enable_use_tty_group" = xyes])
1865 AS_IF([test "x$enable_use_tty_group" = xyes], [
1866 AC_DEFINE([USE_TTY_GROUP], [1], [Should wall and write be installed setgid tty?])
1870 AC_ARG_ENABLE([sulogin-emergency-mount],
1871 AS_HELP_STRING([--enable-sulogin-emergency-mount],
1872 [use emergency mount of /dev and /proc for sulogin]),
1873 [], [enable_sulogin_emergency_mount=no]
1876 AS_IF([test "x$enable_sulogin_emergency_mount" = xyes], [
1877 AC_DEFINE([USE_SULOGIN_EMERGENCY_MOUNT], [1],
1878 [Should sulogin use a emergency mount of /dev and /proc?])
1882 AC_ARG_ENABLE([usrdir-path],
1883 AS_HELP_STRING([--enable-usrdir-path], [use only /usr paths in PATH env. variable (recommended on systems with /bin -> /usr/bin symlinks)]),
1884 [], [enable_usrdir_path=no]
1887 AS_IF([test "x$enable_usrdir_path" == xyes], [
1888 AC_DEFINE([USE_USRDIR_PATHS_ONLY], [1], [Define to 1 to remove /bin and /sbin from PATH env.variable])
1892 AC_ARG_ENABLE([makeinstall-chown],
1893 AS_HELP_STRING([--disable-makeinstall-chown], [do not do chown-like operations during "make install"]),
1894 [], [enable_makeinstall_chown=yes]
1896 AM_CONDITIONAL([MAKEINSTALL_DO_CHOWN], [test "x$enable_makeinstall_chown" = xyes])
1899 AC_ARG_ENABLE([makeinstall-setuid],
1900 AS_HELP_STRING([--disable-makeinstall-setuid], [do not do setuid chmod operations during "make install"]),
1901 [], [enable_makeinstall_setuid=yes]
1903 AM_CONDITIONAL([MAKEINSTALL_DO_SETUID], [test "x$enable_makeinstall_setuid" = xyes])
1906 AC_ARG_ENABLE([colors-default],
1907 AS_HELP_STRING([--disable-colors-default], [do not colorize output from utils by default]),
1908 [], [enable_colors_default=yes]
1910 AS_IF([test "x$enable_colors_default" = xyes], [
1911 AC_DEFINE([USE_COLORS_BY_DEFAULT], [1], [Enables colorized output from utils by default])
1915 AC_ARG_VAR([SUID_CFLAGS],
1916 [CFLAGS used for binaries which are usually with the suid bit])
1917 AC_ARG_VAR([SUID_LDFLAGS],
1918 [LDFLAGS used for binaries which are usually with the suid bit])
1920 AC_ARG_VAR([DAEMON_CFLAGS],
1921 [CFLAGS used for binaries which are usually executed as daemons])
1922 AC_ARG_VAR([DAEMON_LDFLAGS],
1923 [LDFLAGS used for binaries which are usually executed as daemons])
1925 AC_ARG_VAR([SOLIB_CFLAGS],
1926 [CFLAGS used for shared libraries])
1927 AC_ARG_VAR([SOLIB_LDFLAGS],
1928 [LDFLAGS used for shared libraries])
1930 AC_ARG_VAR([ADJTIME_PATH],
1931 [Path to hwclock adjtime file, default /etc/adjtime])
1932 AS_IF([test "x$ADJTIME_PATH" = x], [ADJTIME_PATH="/etc/adjtime"])
1933 AC_DEFINE_UNQUOTED([CONFIG_ADJTIME_PATH], "$ADJTIME_PATH", [Path to hwclock adjtime file])
1939 AC_CONFIG_HEADERS([config.h])
1942 # Don't use configure.ac to replace install paths! See Makefile PATHFILES for
1947 libblkid/docs/Makefile
1948 libblkid/docs/version.xml
1949 libblkid/src/blkid.h
1950 libfdisk/docs/Makefile
1951 libfdisk/docs/version.xml
1952 libfdisk/src/libfdisk.h
1953 libmount/docs/Makefile
1954 libmount/docs/version.xml
1955 libmount/src/libmount.h
1956 libsmartcols/docs/Makefile
1957 libsmartcols/docs/version.xml
1958 libsmartcols/src/libsmartcols.h
1965 ${PACKAGE} ${VERSION}
1968 exec prefix: ${exec_prefix}
1970 localstatedir: ${localstatedir}
1974 includedir: ${includedir}
1975 usrbin_execdir: ${usrbin_execdir}
1976 usrsbin_execdir: ${usrsbin_execdir}
1977 usrlib_execdir: ${usrlib_execdir}
1981 suid cflags: ${SUID_CFLAGS}
1983 suid ldflags: ${SUID_LDFLAGS}
1986 Python version: ${PYTHON_VERSION}
1987 Python libs: ${pyexecdir}
1989 Bash completions: ${with_bashcompletiondir}
1990 Systemd support: ${have_systemd}
1996 Type 'make' or 'make <utilname>' to compile.