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="21-Oct-2013"
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
56 # Check whether exec_prefix=/usr:
57 AS_CASE([$exec_prefix:$prefix],
58 [NONE:NONE | NONE:/usr | /usr:*],
59 [AC_MSG_NOTICE([Default --exec-prefix detected.])
60 AS_CASE([$bindir], ['${exec_prefix}/bin'], [bindir=/bin; AC_MSG_NOTICE([ --bindir defaults to /bin]) ])
61 AS_CASE([$sbindir], ['${exec_prefix}/sbin'], [sbindir=/sbin; AC_MSG_NOTICE([ --sbindir defaults to /sbin])])
62 AS_CASE([$libdir], ['${exec_prefix}/lib'], [libdir=/lib; AC_MSG_NOTICE([ --libdir defaults to /lib]) ])
66 AS_CASE([$prefix:$localstatedir],
67 [NONE:'${prefix}/var' | /usr:'${prefix}/var'],
69 AC_MSG_NOTICE([ --localstatedir defaults to /run])
72 AC_SUBST([localstatedir])
75 # The original default values of {bin,sbin,lib}dir
76 usrbin_execdir='${exec_prefix}/bin'
77 AC_SUBST([usrbin_execdir])
79 usrsbin_execdir='${exec_prefix}/sbin'
80 AC_SUBST([usrsbin_execdir])
83 ['${exec_prefix}/'* | '${prefix}/'* | /usr/*],
84 [usrlib_execdir=$libdir],
85 [usrlib_execdir='${exec_prefix}'$libdir]
87 AC_SUBST([usrlib_execdir])
98 UL_WARN_ADD([-fno-common])
100 UL_WARN_ADD([-Werror=sequence-point])
101 UL_WARN_ADD([-Wextra])
102 UL_WARN_ADD([-Wmissing-declarations])
103 UL_WARN_ADD([-Wmissing-parameter-type])
104 UL_WARN_ADD([-Wmissing-prototypes])
105 UL_WARN_ADD([-Wno-missing-field-initializers])
106 UL_WARN_ADD([-Wredundant-decls])
107 UL_WARN_ADD([-Wsign-compare])
108 UL_WARN_ADD([-Wtype-limits])
109 UL_WARN_ADD([-Wuninitialized])
110 UL_WARN_ADD([-Wunused-but-set-parameter])
111 UL_WARN_ADD([-Wunused-but-set-variable])
112 UL_WARN_ADD([-Wunused-parameter])
113 UL_WARN_ADD([-Wunused-result])
114 UL_WARN_ADD([-Wunused-variable])
115 UL_WARN_ADD([-Wnested-externs])
116 UL_WARN_ADD([-Wpointer-arith])
117 UL_WARN_ADD([-Wstrict-prototypes])
118 UL_WARN_ADD([-Wformat-security])
119 AC_SUBST([WARN_CFLAGS])
121 UL_WARN_ADD([-Wno-clobbered], [BSD_WARN_CFLAGS])
122 AC_SUBST([BSD_WARN_CFLAGS])
127 m4_ifndef([PKG_PROG_PKG_CONFIG],
128 [m4_fatal([Could not locate the pkg-config autoconf
129 macros. These are usually located in /usr/share/aclocal/pkg.m4.
130 If your macros are in a different location, try setting the
131 environment variable AL_OPTS="-I/other/macro/dir" before running
132 ./autogen.sh or autoreconf again.])])
135 GTK_DOC_CHECK([1.10])
136 AC_PATH_PROG([XSLTPROC], [xsltproc])
139 AS_CASE([${host_os}], [*linux*], [linux_os=yes])
140 AM_CONDITIONAL([LINUX], [test "x$linux_os" = xyes])
142 dnl define ARCH_<NAME> conditionals
143 UL_SET_ARCH([I86], [i?86-*])
144 UL_SET_ARCH([86_64], [x86_64*])
145 UL_SET_ARCH([IA64], [ia64*])
146 UL_SET_ARCH([S390], [s390*])
147 UL_SET_ARCH([SPARC], [sparc*])
148 UL_SET_ARCH([PPC], [ppc*|powerpc*])
149 UL_SET_ARCH([M68K], [m68*])
150 UL_SET_ARCH([MIPS], [mips*])
151 UL_SET_ARCH([HPPA], [hppa*])
155 AM_GNU_GETTEXT_VERSION([0.18])
156 AM_GNU_GETTEXT([external])
158 AS_IF([test -d "$srcdir/po"], [
159 ALL_LINGUAS=`cd $srcdir/po > /dev/null && echo *.po | sed 's/\.po//g'`
161 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"
164 AC_CHECK_HEADERS([linux/compiler.h linux/blkpg.h linux/major.h], [], [], [
165 #ifdef HAVE_LINUX_COMPILER_H
166 #include <linux/compiler.h>
191 security/pam_misc.h \
220 AC_CHECK_HEADERS([langinfo.h],
221 [AM_CONDITIONAL([HAVE_LANGINFO], [true])],
222 [AM_CONDITIONAL([HAVE_LANGINFO], [false])])
224 dnl Convert some ac_cv_header_* variables to have_*
226 have_linux_raw_h=$ac_cv_header_linux_raw_h
227 have_linux_securebits_h=$ac_cv_header_linux_securebits_h
228 have_linux_watchdog_h=$ac_cv_header_linux_watchdog_h
229 have_security_pam_misc_h=$ac_cv_header_security_pam_misc_h
232 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
237 struct tm *tm = localtime(0);
238 if (a == -1) /* false */
239 sleep(tm->tm_gmtoff);
241 [AC_DEFINE([HAVE_TM_GMTOFF], [1], [Does struct tm have a field tm_gmtoff?])
244 AC_CHECK_MEMBERS([struct termios.c_line],,,
245 [[#include <termios.h>]])
247 AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec],,,
248 [#include <sys/stat.h>])
250 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
252 #ifdef HAVE_SYS_SWAP_H
253 # include <sys/swap.h>
257 [[swapon("/dev/null", 0);]])],
258 [AC_DEFINE([SWAPON_HAS_TWO_ARGS], [1], [Is swapon() declared with two parameters?])
260 [AC_MSG_NOTICE([Your libc thinks that swapon has 1 arg only.])
264 AC_CHECK_DECLS([_NL_TIME_WEEK_1STDAY],[],[],[[#include <langinfo.h>]])
266 AC_CHECK_DECL([llseek],
267 [AC_DEFINE([HAVE_LLSEEK_PROTOTYPE], [1],
268 [Define to 1 if have llseek prototype])],
270 [#include <unistd.h>])
272 AC_CHECK_DECL([lseek64],
273 [AC_DEFINE([HAVE_LSEEK64_PROTOTYPE], [1],
274 [Define to 1 if have lseek64 prototype])],
276 [#define _LARGEFILE_SOURCE
277 #define _LARGEFILE64_SOURCE
278 #include <unistd.h>])
280 AC_CHECK_DECL([environ],
281 [AC_DEFINE([HAVE_ENVIRON_DECL], [1],
282 [Define to 1 if have **environ prototype])],
285 AC_CHECK_DECL([strsignal],
286 [AC_DEFINE([HAVE_STRSIGNAL_DECL], [1],
287 [Define to 1 if have strsignal function prototype])],
333 AC_CHECK_FUNCS([openat fstatat unlinkat], [have_openat=yes], [have_openat=no])
334 AC_CHECK_FUNCS([ioperm iopl], [have_io=yes])
336 AC_CHECK_MEMBER([struct sockaddr.sa_len],
337 AC_DEFINE_UNQUOTED([HAVE_SA_LEN], [1], [Define if struct sockaddr contains sa_len]), [],
338 [#include <sys/types.h>
339 #include <sys/socket.h>])
342 AC_SEARCH_LIBS([socket], [socket],
343 [AS_IF([test x"$ac_cv_search_socket" != x"none required"],
344 [SOCKET_LIBS="$SOCKET_LIBS -lsocket"])
346 AC_SUBST([SOCKET_LIBS])
350 AC_CHECK_FUNCS([dirfd], [have_dirfd=yes], [have_dirfd=no])
351 AS_IF([test x"$have_dirfd" = xno], [
352 AC_CHECK_DECLS([dirfd],
353 [have_dirfd=yes], [have_dirfd=no],
354 [#include <sys/types.h>
355 #include <dirent.h>])
359 AS_IF([test x"$have_dirfd" = xno], [
360 AC_CHECK_MEMBERS([DIR.dd_fd],
361 [have_ddfd=yes], [have_ddfd=no],
362 [#include <sys/types.h>
363 #include <dirent.h>])
366 AS_CASE([$have_dirfd:$have_ddfd],
368 [AC_MSG_ERROR([cannot find a method to get filedescriptor of directory])]
372 AC_MSG_CHECKING([whether program_invocation_short_name is defined])
373 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
376 program_invocation_short_name = "test";
379 AC_DEFINE([HAVE_PROGRAM_INVOCATION_SHORT_NAME], [1],
380 [Define if program_invocation_short_name is defined])
386 AC_MSG_CHECKING([whether __progname is defined])
387 AC_LINK_IFELSE([AC_LANG_PROGRAM([extern char *__progname;],
388 [if (*__progname == 0) return;])],
389 AC_DEFINE([HAVE___PROGNAME], [1], [Define if __progname is defined])
390 AC_MSG_RESULT([yes]),
393 dnl Static compilation
394 m4_define([UL_STATIC_PROGRAMS], [losetup, mount, umount, fdisk, sfdisk, blkid])
396 AC_ARG_ENABLE([static-programs],
397 [AS_HELP_STRING([--enable-static-programs=LIST],
398 [link static the programs in LIST (comma-separated,
399 supported for ]m4_defn([UL_STATIC_PROGRAMS])[)])])
401 AS_CASE([$enable_static_programs],
403 [enable_static_programs=m4_quote(UL_STATIC_PROGRAMS)],
405 [enable_static_programs=]
408 dnl Set all the individual AM_CONDITIONALs
409 m4_foreach([UL_PRG], m4_defn([UL_STATIC_PROGRAMS]), [
410 AS_CASE([,$enable_static_programs,],
411 [*,UL_PRG,*], [static_[]UL_PRG=yes]
413 AS_IF([test "x$static_[]UL_PRG" = xyes], [AC_MSG_NOTICE([enable static build: UL_PRG.])])
414 AM_CONDITIONAL([HAVE_STATIC_]m4_toupper(UL_PRG),
415 [test "x$static_[]UL_PRG" = xyes])
420 AC_DEFUN([UL_SCANF_TYPE_MODIFIER], [dnl
426 i = sscanf("x", $1, &s);
432 AC_CACHE_VAL([scanf_cv_alloc_modifier],
433 AC_RUN_IFELSE([AC_LANG_SOURCE([UL_SCANF_TYPE_MODIFIER(["%ms"])])],
434 [scanf_cv_alloc_modifier=ms],
435 AC_RUN_IFELSE([AC_LANG_SOURCE([UL_SCANF_TYPE_MODIFIER(["%as"])])],
436 [scanf_cv_alloc_modifier=as],
437 [scanf_cv_alloc_modifier=no]
441 [AC_COMPILE_IFELSE([AC_LANG_SOURCE([
447 #if !(__GLIBC_PREREQ(2, 7))
448 #error %m is not available
451 #elif defined(_POSIX_VERSION)
453 #if _POSIX_VERSION < 200809L
454 #error %m is not available
458 #error Your C-library is not supported.
461 [scanf_cv_alloc_modifier=ms],
462 [scanf_cv_alloc_modifier=no])]
466 AC_MSG_CHECKING([scanf string alloc modifiers])
467 AS_CASE([$scanf_cv_alloc_modifier],
469 [AC_MSG_RESULT([(%ms) yes])
470 AC_DEFINE([HAVE_SCANF_MS_MODIFIER], [1], [scanf %ms modifier])
471 have_scanf_alloc_modifier=yes],
473 [AC_MSG_RESULT([(%as) yes])
474 have_scanf_alloc_modifier=yes
475 AC_DEFINE([HAVE_SCANF_AS_MODIFIER], [1], [scanf %as modifier])],
477 have_scanf_alloc_modifier=no]
480 UL_CHECK_LIB([util], [openpty])
481 UL_CHECK_LIB([termcap], [tgetnum])
483 AC_CHECK_TYPES([union semun], [], [], [[
486 AC_CHECK_TYPES([loff_t])
488 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
496 if (w == WEOF) exit(1);
500 [AC_DEFINE([HAVE_WIDECHAR], [1], [Do we have wide character support?])
503 AC_CHECK_TYPES([cpu_set_t], [have_cpu_set_t=yes], [], [[
507 AM_CONDITIONAL([HAVE_CPU_SET_T], [test "x$have_cpu_set_t" = xyes])
509 AC_CHECK_TYPES([sighandler_t], [], [], [[
513 AC_CHECK_DECLS([CPU_ALLOC], [], [], [[
517 # on Solaris, you can't mix and match standards, since we use c99
518 # aparently at this stage, XOPEN_SOURCE will conflict. As workaround,
519 # check for crypt.h and use that without XOPEN_SOURCE.
520 AC_CHECK_HEADERS([crypt.h])
521 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
525 #define _XOPEN_SOURCE
529 char *c = crypt("abc","pw");
532 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
536 #define _XOPEN_SOURCE
540 char *c = crypt("abc","pw");
542 AC_DEFINE([HAVE_LIBCRYPT], [1], [Do we need -lcrypt?])
545 AC_MSG_ERROR([crypt() is not available])
548 AM_CONDITIONAL([HAVE_LIBCRYPT], [test "x$have_libcrypt" = xyes])
551 AC_ARG_WITH([selinux],
552 AS_HELP_STRING([--with-selinux], [compile with SELinux support]),
553 [], [with_selinux=no]
556 AS_IF([test "x$with_selinux" = xno], [
557 AM_CONDITIONAL([HAVE_SELINUX], [false])
559 PKG_CHECK_MODULES([SELINUX], [libselinux >= 2.0],
560 [AC_DEFINE([HAVE_LIBSELINUX], [1], [Define if SELinux is available])
561 UL_PKG_STATIC([SELINUX_LIBS_STATIC], [libselinux])
562 AM_CONDITIONAL([HAVE_SELINUX], [true])
566 AS_CASE([$with_selinux:$have_selinux],
567 [yes:no], [AC_MSG_ERROR([SELinux selected but libselinux not found or too old])]
570 AS_IF([test "x$have_selinux" = xyes], [
571 UL_SET_FLAGS([], [], [$SELINUX_LIBS])
572 # This function is missing in old libselinux 1.xx versions
573 AC_CHECK_FUNCS([security_get_initial_context])
577 AC_SUBST([SELINUX_LIBS])
578 AC_SUBST([SELINUX_LIBS_STATIC])
581 AS_HELP_STRING([--with-audit], [compile with audit support]),
585 AS_IF([test "x$with_audit" = xno], [
586 AM_CONDITIONAL([HAVE_AUDIT], [false])
588 UL_CHECK_LIB([audit], [audit_log_user_message])
589 AS_CASE([$with_audit:$have_audit],
591 [AC_MSG_ERROR([Audit selected but libaudit not found (or does not support audit_log_user_message())])]
595 AC_ARG_WITH([udev], AS_HELP_STRING([--without-udev], [compile without udev support]),
599 AS_IF([test "x$with_udev" = xno], [
600 AM_CONDITIONAL([HAVE_UDEV], [false])
602 UL_CHECK_LIB([udev], [udev_new])
603 AS_CASE([$with_udev:$have_udev],
605 [AC_MSG_ERROR([udev selected but libudev not found])]
609 AC_ARG_WITH([ncurses],
610 AS_HELP_STRING([--with-ncurses], [build with non-wide ncurses, default is wide version
611 (--without-ncurses disables all ncurses(w) support)]),
612 [], [with_ncurses=auto]
614 AM_CONDITIONAL([HAVE_NCURSES], [false])
616 AS_IF([test "x$with_ncurses" != xno], [
619 dnl First try to find the pkg-config module.
620 PKG_CHECK_MODULES(NCURSESW, [ncursesw], [
622 NCURSES_LIBS=${NCURSESW_LIBS}
623 NCURSES_CFLAGS=${NCURSESW_CFLAGS}
624 AC_DEFINE([HAVE_LIBNCURSESW])
625 CURSES_LIB_NAME="ncursesw"
627 PKG_CHECK_MODULES(NCURSES, [ncurses], [
629 AC_DEFINE([HAVE_LIBNCURSES])
630 CURSES_LIB_NAME="ncursesw"
634 AS_IF([test "x$have_ncurses" = xyes], [
635 dnl If that worked, setup the defines that the code expects.
636 save_CPPFLAGS="$CPPFLAGS"
637 CPPFLAGS="$CPPFLAGS $NCURSES_CFLAGS"
638 AC_CHECK_HEADERS([ncurses.h])
639 CPPFLAGS="$save_CPPFLAGS"
641 dnl If that failed, fall back to classic searching.
642 AC_CHECK_HEADERS([ncurses.h ncurses/ncurses.h], [
643 AS_IF([test "x$with_ncurses" = xauto], [
644 UL_CHECK_LIB([ncursesw], [initscr], [ncurses])
645 AS_IF([test "x$have_ncurses" = xyes], [
646 AC_CHECK_HEADERS([ncursesw/ncurses.h])
647 NCURSES_LIBS="-lncursesw"
648 CURSES_LIB_NAME="ncursesw"
651 AS_IF([test "x$have_ncurses" = xno], [
652 UL_CHECK_LIB(ncurses, initscr)
653 AS_IF([test "x$have_ncurses" = xyes], [
654 NCURSES_LIBS="-lncurses"
655 CURSES_LIB_NAME="ncurses"
661 AS_IF([test "x$have_ncurses" = xno], [
662 AC_MSG_ERROR([ncurses or ncursesw selected, but library not found (--without-ncurses to disable)])
665 AC_SUBST([NCURSES_CFLAGS])
666 AC_SUBST([NCURSES_LIBS])
670 AS_HELP_STRING([--with-slang], [compile cfdisk with slang]),
674 AS_IF([test "x$with_slang" = xyes], [
675 AC_CHECK_HEADERS([slang.h slang/slang.h])
676 AC_CHECK_HEADERS([slcurses.h slang/slcurses.h],
677 [have_slang=yes], [], [
680 #elif defined(HAVE_SLANG_SLANG_H)
681 #include <slang/slang.h>
684 AS_IF([test "x$have_slang" = xno], [
685 AC_MSG_ERROR([slang selected but slcurses.h not found])],
686 [CURSES_LIB_NAME=slang
689 AM_CONDITIONAL([HAVE_SLANG], [test "x$have_slang" = xyes])
691 AM_CONDITIONAL([BUILD_CFDISK], [test "x$have_slang" = xyes -o "x$have_ncurses" = xyes])
693 AS_IF([test "x$have_slang" = xyes -o "x$have_ncurses" = xyes], [
694 AC_CHECK_LIB([$CURSES_LIB_NAME], use_default_colors, [
695 AC_DEFINE(HAVE_USE_DEFAULT_COLORS, 1,
696 [Define if curses library has the use_default_colors command.])
701 dnl Try pkg-config for libtinfo
702 PKG_CHECK_MODULES(TINFO, [tinfo], [have_tinfo=yes], [
703 dnl If that failed, fall back to classic searching.
704 AC_CHECK_LIB([tinfo], [tgetent], [
709 AC_SUBST([TINFO_LIBS])
710 AC_SUBST([TINFO_CFLAGS])
711 AM_CONDITIONAL([HAVE_TINFO], [test "x$have_tinfo" = xyes])
714 AC_ARG_WITH([utempter],
715 AS_HELP_STRING([--with-utempter], [compile script(1) with libutempter]),
716 [], [with_utempter=no]
719 AS_IF([test "x$with_utempter" = xyes], [
720 UL_CHECK_LIB([utempter], [utempter_add_record])
721 AS_IF([test "x$have_utempter" = xno], [
722 AC_MSG_ERROR([utempter selected but libutempter not found])
725 AM_CONDITIONAL([HAVE_UTEMPTER], [false])
729 AC_ARG_ENABLE([most-builds],
730 AS_HELP_STRING([--enable-most-builds], [build everything other than experimental code]),
731 [], [enable_most_builds=no]
733 AS_IF([test "x$enable_most_builds" = xyes], [
739 enable_socket_activation=yes
750 AC_ARG_ENABLE([libuuid],
751 AS_HELP_STRING([--disable-libuuid], [do not build libuuid and uuid utilities]),
752 [], [enable_libuuid=yes]
754 UL_BUILD_INIT([libuuid])
755 AC_SUBST([LIBUUID_VERSION])
756 AC_SUBST([LIBUUID_VERSION_INFO])
757 AM_CONDITIONAL(BUILD_LIBUUID, test "x$build_libuuid" = xyes)
759 AS_IF([test "x$enable_libuuid" = xyes], [
760 AC_DEFINE(HAVE_LIBUUID, 1, [Define to 1 if you have the -luuid.])
762 AC_MSG_WARN([uuid library is not found; mkswap(8) will not generate UUIDs])
768 AC_ARG_ENABLE([libblkid],
769 AS_HELP_STRING([--disable-libblkid], [do not build libblkid and many related utilities]),
770 [], [enable_libblkid=yes]
772 UL_BUILD_INIT([libblkid])
773 AC_SUBST([LIBBLKID_DATE])
774 AC_SUBST([LIBBLKID_VERSION])
775 AC_SUBST([LIBBLKID_VERSION_INFO])
776 AC_DEFINE_UNQUOTED([LIBBLKID_VERSION], ["$LIBBLKID_VERSION"], [libblkid version string])
777 AC_DEFINE_UNQUOTED([LIBBLKID_DATE], ["$LIBBLKID_DATE"], [libblkid date string])
778 AS_IF([test "x$build_libblkid" = xyes], [
779 AC_DEFINE([HAVE_LIBBLKID], [1], [Define to 1 if you have the -lblkid.])
781 AM_CONDITIONAL([BUILD_LIBBLKID], [test "x$build_libblkid" = xyes])
782 AM_CONDITIONAL([BUILD_LIBBLKID_TESTS], [test "x$build_libblkid" = xyes -a "x$enable_static" = xyes])
787 AC_ARG_ENABLE([libmount],
788 AS_HELP_STRING([--disable-libmount], [do not build libmount]),
789 [], [enable_libmount=check]
791 UL_BUILD_INIT([libmount])
792 UL_REQUIRES_LINUX([libmount])
793 UL_REQUIRES_BUILD([libmount], [libblkid])
794 UL_REQUIRES_HAVE([libmount], [scanf_alloc_modifier], [scanf string alloc modifier])
795 AM_CONDITIONAL([BUILD_LIBMOUNT], [test "x$build_libmount" = xyes])
796 AM_CONDITIONAL([BUILD_LIBMOUNT_TESTS], [test "x$build_libmount" = xyes -a "x$enable_static" = xyes])
798 AC_SUBST([LIBMOUNT_VERSION])
799 AC_SUBST([LIBMOUNT_VERSION_INFO])
800 AC_DEFINE_UNQUOTED([LIBMOUNT_VERSION], ["$LIBMOUNT_VERSION"], [libmount version string])
806 AC_ARG_ENABLE([libsmartcols],
807 AS_HELP_STRING([--disable-libsmartcols], [do not build libsmartcols]),
808 [], [enable_libsmartcols=yes]
810 UL_BUILD_INIT([libsmartcols])
811 AM_CONDITIONAL([BUILD_LIBSMARTCOLS], [test "x$build_libsmartcols" = xyes])
812 AM_CONDITIONAL([BUILD_LIBSMARTCOLS_TESTS], [test "x$build_libsmartcols" = xyes -a "x$enable_static" = xyes])
814 AC_SUBST([LIBSMARTCOLS_VERSION])
815 AC_SUBST([LIBSMARTCOLS_VERSION_INFO])
816 AC_DEFINE_UNQUOTED([LIBSMARTCOLS_VERSION], ["$LIBSMARTCOLS_VERSION"], [libsmartcols version string])
820 dnl libfdisk is enabled at all times if possible
822 UL_BUILD_INIT([libfdisk], [check])
823 UL_REQUIRES_BUILD([libfdisk], [libuuid])
824 UL_REQUIRES_BUILD([libfdisk], [libsmartcols])
825 AM_CONDITIONAL([BUILD_LIBFDISK], [test "x$build_libfdisk" = xyes])
827 UL_BUILD_INIT([fdisk], [check])
828 UL_REQUIRES_BUILD([fdisk], [libfdisk])
829 AM_CONDITIONAL([BUILD_FDISK], [test "x$build_fdisk" = xyes])
832 AC_ARG_ENABLE([mount],
833 AS_HELP_STRING([--disable-mount], [do not build mount(8) and umount(8)]),
834 [], [enable_mount=check]
836 UL_BUILD_INIT([mount])
837 UL_REQUIRES_BUILD([mount], [libmount])
838 AM_CONDITIONAL([BUILD_MOUNT], [test "x$build_mount" = xyes])
841 AC_ARG_ENABLE([losetup],
842 AS_HELP_STRING([--disable-losetup], [do not build losetup]),
843 [], [enable_losetup=check]
845 UL_BUILD_INIT([losetup])
846 UL_REQUIRES_LINUX([losetup])
847 AM_CONDITIONAL([BUILD_LOSETUP], [test "x$build_losetup" = xyes])
850 AC_ARG_ENABLE([fsck],
851 AS_HELP_STRING([--disable-fsck], [do not build fsck]),
852 [], [enable_fsck=check]
854 UL_BUILD_INIT([fsck])
855 UL_REQUIRES_BUILD([fsck], [libmount])
856 AM_CONDITIONAL([BUILD_FSCK], [test "x$build_fsck" = xyes])
859 AC_ARG_ENABLE([partx],
860 AS_HELP_STRING([--disable-partx], [do not build addpart, delpart, partx]),
861 [], [enable_partx=check]
863 UL_BUILD_INIT([partx])
864 UL_REQUIRES_LINUX([partx])
865 UL_REQUIRES_BUILD([partx], [libblkid])
866 AM_CONDITIONAL([BUILD_PARTX], [test "x$build_partx" = xyes])
869 AC_ARG_ENABLE([uuidd],
870 AS_HELP_STRING([--disable-uuidd], [do not build the uuid daemon]),
871 [], [enable_uuidd=check]
873 UL_BUILD_INIT([uuidd])
874 UL_REQUIRES_BUILD([uuidd], [libuuid])
875 AS_IF([test "x$build_uuidd" = xyes], [
876 AC_DEFINE([HAVE_UUIDD], [1], [Define to 1 if you want to use uuid daemon.])
878 AM_CONDITIONAL([BUILD_UUIDD], [test "x$build_uuidd" = xyes])
881 AC_ARG_ENABLE([mountpoint],
882 AS_HELP_STRING([--disable-mountpoint], [do not build mountpoint]),
883 [], [enable_mountpoint=check]
885 UL_BUILD_INIT([mountpoint])
886 UL_REQUIRES_BUILD([mountpoint], [libmount])
887 AM_CONDITIONAL([BUILD_MOUNTPOINT], [test "x$build_mountpoint" = xyes])
890 AC_ARG_ENABLE([fallocate],
891 AS_HELP_STRING([--disable-fallocate], [do not build fallocate]),
892 [], [enable_fallocate=check]
894 UL_BUILD_INIT([fallocate])
895 UL_REQUIRES_LINUX([fallocate])
896 UL_REQUIRES_SYSCALL_CHECK([fallocate], [UL_CHECK_SYSCALL([fallocate])])
897 AM_CONDITIONAL([BUILD_FALLOCATE], [test "x$build_fallocate" = xyes])
899 AS_IF([test "x$build_fallocate" = xyes], [
900 dnl check for valid fallocate() function
901 dnl with 32 bits glibc 2.10, fallocate() exists but not fallocate64()
902 dnl when _FILE_OFFSET_BITS==64, fallocate() is redirect to fallocate64()
903 dnl and program can't be linked.
904 dnl AC_CHECK_FUNC can't catch such errors since it's redefining
905 dnl function prototype.
906 AC_MSG_CHECKING([for valid fallocate() function])
907 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
911 #ifdef HAVE_SYS_TYPES_H
912 # include <sys/types.h>
914 #ifdef HAVE_LINUX_FALLOC_H
915 # include <linux/falloc.h>
922 ret = fallocate(0, FALLOC_FL_KEEP_SIZE, 0xfffffffful, 0xfffffffful);
928 AC_DEFINE([HAVE_FALLOCATE], [1], [Have valid fallocate() function])],[
929 AC_MSG_RESULT([no])])
933 AC_ARG_ENABLE([unshare],
934 AS_HELP_STRING([--disable-unshare], [do not build unshare]),
935 [], [enable_unshare=check]
937 UL_BUILD_INIT([unshare])
938 UL_REQUIRES_LINUX([unshare])
939 UL_REQUIRES_SYSCALL_CHECK([unshare], [UL_CHECK_SYSCALL([unshare])])
940 AM_CONDITIONAL([BUILD_UNSHARE], [test "x$build_unshare" = xyes])
941 AC_CHECK_FUNCS([unshare])
943 AC_ARG_ENABLE([nsenter],
944 AS_HELP_STRING([--disable-nsenter], [do not build nsenter]),
945 [], [enable_nsenter=check]
947 UL_BUILD_INIT([nsenter])
948 UL_REQUIRES_LINUX([nsenter])
949 UL_REQUIRES_SYSCALL_CHECK([nsenter], [UL_CHECK_SYSCALL([setns])], [setns])
950 AM_CONDITIONAL([BUILD_NSENTER], [test "x$build_nsenter" = xyes])
951 AC_CHECK_FUNCS([setns])
953 dnl setpriv depends on libcap-ng. It would be possible to build
954 dnl a version of setpriv with limited functionality without libcap-ng,
955 dnl but this isn't currently supported.
956 UL_CHECK_LIB([cap-ng], [capng_apply], [cap_ng])
957 AC_ARG_ENABLE([setpriv],
958 AS_HELP_STRING([--disable-setpriv], [do not build setpriv]),
959 [], [enable_setpriv=check]
961 UL_BUILD_INIT([setpriv])
962 UL_REQUIRES_LINUX([setpriv])
963 UL_REQUIRES_HAVE([setpriv], [linux_securebits_h], [securebits.h header file])
964 UL_REQUIRES_HAVE([setpriv], [cap_ng], [libcap-ng library])
965 AM_CONDITIONAL([BUILD_SETPRIV], [test "x$build_setpriv" = xyes])
968 AC_ARG_ENABLE([eject],
969 AS_HELP_STRING([--disable-eject], [do not build eject]),
970 [], [enable_eject=check]
972 UL_BUILD_INIT([eject])
973 UL_REQUIRES_LINUX([eject])
974 UL_REQUIRES_BUILD([eject], [libmount])
975 AM_CONDITIONAL([BUILD_EJECT], [test "x$build_eject" = xyes])
978 AC_ARG_ENABLE([agetty],
979 AS_HELP_STRING([--disable-agetty], [do not build agetty]),
980 [], [enable_agetty=yes]
982 UL_BUILD_INIT([agetty])
983 AM_CONDITIONAL([BUILD_AGETTY], [test "x$build_agetty" = xyes])
986 AC_ARG_ENABLE([cramfs],
987 AS_HELP_STRING([--disable-cramfs], [do not build fsck.cramfs, mkfs.cramfs]),
988 [], [enable_cramfs=check]
990 UL_BUILD_INIT([cramfs])
991 AC_CHECK_LIB([z], [crc32], [have_z=yes], [have_z=no])
992 UL_REQUIRES_HAVE([cramfs], [z], [z library])
993 AM_CONDITIONAL([BUILD_CRAMFS], [test "x$build_cramfs" = xyes])
997 AS_HELP_STRING([--disable-bfs], [do not build mkfs.bfs]),
1000 UL_BUILD_INIT([bfs])
1001 AM_CONDITIONAL([BUILD_BFS], [test "x$build_bfs" = xyes])
1004 AC_ARG_ENABLE([fdformat],
1005 AS_HELP_STRING([--disable-fdformat], [do not build fdformat]),
1006 [], [enable_fdformat=check]
1008 UL_BUILD_INIT([fdformat])
1009 UL_REQUIRES_LINUX([fdformat])
1010 AM_CONDITIONAL([BUILD_FDFORMAT], [test "x$build_fdformat" = xyes])
1013 AC_ARG_ENABLE([hwclock],
1014 AS_HELP_STRING([--disable-hwclock], [do not build hwclock]),
1015 [], [enable_hwclock=check]
1017 have_linuxdummy=$linux_os
1019 UL_BUILD_INIT([hwclock])
1020 UL_REQUIRES_HAVE([hwclock], [io, linuxdummy], [ioperm iopl function or Linux])
1021 AM_CONDITIONAL([BUILD_HWCLOCK], [test "x$build_hwclock" = xyes])
1024 UL_BUILD_INIT([fstrim], [check])
1025 UL_REQUIRES_LINUX([fstrim])
1026 UL_REQUIRES_BUILD([fstrim], [libmount])
1027 AM_CONDITIONAL([BUILD_FSTRIM], [test "x$build_fstrim" = xyes])
1030 UL_BUILD_INIT([swapon], [check])
1031 UL_REQUIRES_LINUX([swapon])
1032 UL_REQUIRES_BUILD([swapon], [libblkid])
1033 UL_REQUIRES_BUILD([swapon], [libmount])
1034 AM_CONDITIONAL([BUILD_SWAPON], [test "x$build_swapon" = xyes])
1037 UL_BUILD_INIT([lsblk], [check])
1038 UL_REQUIRES_LINUX([lsblk])
1039 UL_REQUIRES_BUILD([lsblk], [libblkid])
1040 UL_REQUIRES_BUILD([lsblk], [libmount])
1041 AM_CONDITIONAL([BUILD_LSBLK], [test "x$build_lsblk" = xyes])
1044 UL_BUILD_INIT([lscpu], [check])
1045 UL_REQUIRES_LINUX([lscpu])
1046 UL_REQUIRES_HAVE([lscpu], [cpu_set_t], [cpu_set_t type])
1047 AM_CONDITIONAL([BUILD_LSCPU], [test "x$build_lscpu" = xyes])
1050 UL_BUILD_INIT([chcpu], [check])
1051 UL_REQUIRES_LINUX([chcpu])
1052 UL_REQUIRES_HAVE([chcpu], [cpu_set_t], [cpu_set_t type])
1053 AM_CONDITIONAL([BUILD_CHCPU], [test "x$build_chcpu" = xyes])
1056 AC_ARG_ENABLE([wdctl],
1057 AS_HELP_STRING([--disable-wdctl], [do not build wdctl]),
1058 [], [enable_wdctl=check]
1060 UL_BUILD_INIT([wdctl])
1061 UL_REQUIRES_LINUX([wdctl])
1062 UL_REQUIRES_HAVE([wdctl], [linux_watchdog_h], [linux/watchdog.h header file])
1063 AM_CONDITIONAL([BUILD_WDCTL], [test "x$build_wdctl" = xyes])
1066 UL_BUILD_INIT([swaplabel], [check])
1067 UL_REQUIRES_BUILD([swaplabel], [libblkid])
1068 AM_CONDITIONAL([BUILD_SWAPLABEL], [test "x$build_swaplabel" = xyes])
1071 UL_BUILD_INIT([prlimit], [check])
1072 UL_REQUIRES_LINUX([prlimit])
1073 UL_REQUIRES_SYSCALL_CHECK([prlimit], [UL_CHECK_SYSCALL([prlimit64])], [prlimit64])
1074 AM_CONDITIONAL([BUILD_PRLIMIT], [test "x$build_prlimit" = xyes])
1075 AS_IF([test "x$build_prlimit" = xyes], [
1076 AC_CHECK_FUNCS([prlimit])
1080 UL_BUILD_INIT([lslocks], [check])
1081 UL_REQUIRES_LINUX([lslocks])
1082 UL_REQUIRES_BUILD([lslocks], [libmount])
1083 AM_CONDITIONAL([BUILD_LSLOCKS], [test "x$build_lslocks" = xyes])
1086 AC_ARG_ENABLE([switch_root],
1087 AS_HELP_STRING([--disable-switch_root], [do not build switch_root]),
1088 [], [enable_switch_root=check]
1090 UL_BUILD_INIT([switch_root])
1091 UL_REQUIRES_LINUX([switch_root])
1092 UL_REQUIRES_HAVE([switch_root], [openat], [openat function])
1093 AM_CONDITIONAL([BUILD_SWITCH_ROOT], [test "x$build_switch_root" = xyes])
1096 AC_ARG_ENABLE([pivot_root],
1097 AS_HELP_STRING([--disable-pivot_root], [do not build pivot_root]),
1098 [], [enable_pivot_root=check]
1100 UL_BUILD_INIT([pivot_root])
1101 UL_REQUIRES_LINUX([switch_root])
1102 UL_REQUIRES_SYSCALL_CHECK([pivot_root], [UL_CHECK_SYSCALL([pivot_root])])
1103 AM_CONDITIONAL([BUILD_PIVOT_ROOT], [test "x$build_pivot_root" = xyes])
1106 AC_ARG_ENABLE([tunelp],
1107 AS_HELP_STRING([--enable-tunelp], [build tunelp]),
1108 [], [enable_tunelp=no]
1110 UL_BUILD_INIT([tunelp])
1111 UL_REQUIRES_LINUX([tunelp])
1112 AM_CONDITIONAL([BUILD_TUNELP], [test "x$build_tunelp" = xyes])
1115 AC_ARG_ENABLE([kill],
1116 AS_HELP_STRING([--disable-kill], [do not build kill]),
1117 [], [enable_kill=check]
1119 UL_BUILD_INIT([kill])
1120 UL_REQUIRES_LINUX([kill])
1121 AM_CONDITIONAL([BUILD_KILL], [test "x$build_kill" = xyes])
1124 AC_ARG_ENABLE([deprecated-last],
1125 AS_HELP_STRING([--enable-deprecated-last], [build old deprecated last]),
1126 [], [enable_deprecated_last=no]
1128 UL_BUILD_INIT([deprecated_last])
1129 AM_CONDITIONAL([BUILD_DEPRECATED_LAST], [test "x$build_deprecated_last" = xyes])
1132 AC_ARG_ENABLE([last],
1133 AS_HELP_STRING([--disable-last], [do not build last]),
1134 [], [enable_last=check]
1136 UL_BUILD_INIT([last])
1137 UL_CONFLICTS_BUILD([last], [deprecated_last], [old deprecated last version])
1138 AM_CONDITIONAL([BUILD_LAST], [test "x$build_last" = xyes])
1141 AC_ARG_ENABLE([utmpdump],
1142 AS_HELP_STRING([--disable-utmpdump], [do not build utmpdump]),
1143 [], [enable_utmpdump=yes]
1145 UL_BUILD_INIT([utmpdump])
1146 AM_CONDITIONAL([BUILD_UTMPDUMP], [test "x$build_utmpdump" = xyes])
1149 AC_ARG_ENABLE([line],
1150 AS_HELP_STRING([--enable-line], [build line]),
1151 [], [enable_line=no]
1153 UL_BUILD_INIT([line])
1154 AM_CONDITIONAL([BUILD_LINE], [test "x$build_line" = xyes])
1157 AC_ARG_ENABLE([mesg],
1158 AS_HELP_STRING([--disable-mesg], [do not build mesg]),
1159 [], [enable_mesg=yes]
1161 UL_BUILD_INIT([mesg])
1162 AM_CONDITIONAL([BUILD_MESG], [test "x$build_mesg" = xyes])
1165 AC_ARG_ENABLE([raw],
1166 AS_HELP_STRING([--disable-raw], [do not build raw]),
1167 [], [enable_raw=check]
1169 UL_BUILD_INIT([raw])
1170 UL_REQUIRES_LINUX([raw])
1171 UL_REQUIRES_HAVE([raw], [linux_raw_h], [raw.h header file])
1172 AM_CONDITIONAL([BUILD_RAW], [test "x$build_raw" = xyes])
1175 AC_ARG_ENABLE([rename],
1176 AS_HELP_STRING([--disable-rename], [do not build rename]),
1177 [], [enable_rename=yes]
1179 UL_BUILD_INIT([rename])
1180 AM_CONDITIONAL([BUILD_RENAME], [test "x$build_rename" = xyes])
1183 AC_ARG_ENABLE([reset],
1184 AS_HELP_STRING([--enable-reset], [build reset]),
1185 [], [enable_reset=no]
1187 UL_BUILD_INIT([reset])
1188 AM_CONDITIONAL([BUILD_RESET], [test "x$build_reset" = xyes])
1191 AC_ARG_ENABLE([vipw],
1192 AS_HELP_STRING([--enable-vipw], [build vipw]),
1193 [], [enable_vipw=no]
1195 UL_BUILD_INIT([vipw])
1196 AM_CONDITIONAL([BUILD_VIPW], [test "x$build_vipw" = xyes])
1199 AC_ARG_ENABLE([newgrp],
1200 AS_HELP_STRING([--enable-newgrp], [build newgrp]),
1201 [], [enable_newgrp=no]
1203 UL_BUILD_INIT([newgrp])
1204 AM_CONDITIONAL([BUILD_NEWGRP], [test "x$build_newgrp" = xyes])
1207 AC_ARG_WITH([user], AS_HELP_STRING([--without-user], [compile without libuser (remote chsh)]),
1208 [], [with_user=check]
1211 AS_IF([test "x$with_user" != xno], [
1212 PKG_CHECK_MODULES(LIBUSER,[libuser >= 0.58], [have_user=yes], [have_user=no])
1213 AS_CASE([$with_user:$have_user],
1215 [AC_MSG_ERROR([user selected but libuser not found])],
1217 [AC_DEFINE([HAVE_LIBUSER], [1], [Define if libuser is available])]
1219 # temporary solution, libuser has stupid .pc where are exported all
1220 # private dependencies to Requires: instead of Requires.private:
1221 AS_IF([test "x$have_user" = xyes], [
1225 AM_CONDITIONAL([HAVE_USER], [test "x$have_user" = xyes])
1227 AC_ARG_ENABLE([chfn-chsh-password],
1228 AS_HELP_STRING([--disable-chfn-chsh-password], [do not require the user to enter the password in chfn and chsh]),
1229 [], [enable_chfn_chsh_password=yes]
1232 AC_ARG_ENABLE([chfn-chsh],
1233 AS_HELP_STRING([--enable-chfn-chsh], [build chfn and chsh]),
1234 [], [enable_chfn_chsh=no]
1236 UL_BUILD_INIT([chfn_chsh])
1238 AS_IF([test "x$enable_chfn_chsh_password" = xyes -o "x$have_user" = xyes], [
1239 UL_REQUIRES_HAVE([chfn_chsh], [security_pam_misc_h], [PAM header file])
1240 AC_DEFINE([CHFN_CHSH_PASSWORD], [1], [Should chfn and chsh require the user to enter the password?])
1242 AM_CONDITIONAL([BUILD_CHFN_CHSH], [test "x$build_chfn_chsh" = xyes])
1243 AM_CONDITIONAL([CHFN_CHSH_PASSWORD], [test "x$enable_chfn_chsh_password" = xyes])
1245 AC_ARG_ENABLE([chsh-only-listed],
1246 AS_HELP_STRING([--disable-chsh-only-listed], [chsh: allow shells not in /etc/shells]),
1247 [], enable_chsh_only_listed=yes
1250 AS_IF([test "x$enable_chsh_only_listed" = xyes], [
1251 AC_DEFINE([ONLY_LISTED_SHELLS], [1], [Should chsh allow only shells in /etc/shells?])
1255 AC_ARG_ENABLE([login],
1256 AS_HELP_STRING([--disable-login], [do not build login]),
1257 [], [enable_login=check]
1259 UL_BUILD_INIT([login])
1260 UL_REQUIRES_HAVE([login], [security_pam_misc_h], [PAM header file])
1261 AM_CONDITIONAL([BUILD_LOGIN], [test "x$build_login" = xyes])
1263 AC_ARG_ENABLE([login-chown-vcs],
1264 AS_HELP_STRING([--enable-login-chown-vcs], [let login chown /dev/vcsN]),
1265 [], [enable_login_chown_vcs=no]
1268 AS_IF([test "x$enable_login_chown_vcs" = xyes], [
1269 AC_DEFINE([LOGIN_CHOWN_VCS], [1], [Should login chown /dev/vcsN?])
1272 AC_ARG_ENABLE([login-stat-mail],
1273 AS_HELP_STRING([--enable-login-stat-mail], [let login stat() the mailbox]),
1274 [], [enable_login_stat_mail=no]
1277 AS_IF([test "x$enable_login_stat_mail" = xyes], [
1278 AC_DEFINE([LOGIN_STAT_MAIL], [1], [Should login stat() the mailbox?])
1282 AC_ARG_ENABLE([nologin],
1283 AS_HELP_STRING([--disable-nologin], [do not build nologin]),
1284 [], [enable_nologin=yes]
1286 UL_BUILD_INIT([nologin])
1287 AM_CONDITIONAL([BUILD_NOLOGIN], [test "x$build_nologin" = xyes])
1290 AC_ARG_ENABLE([sulogin],
1291 AS_HELP_STRING([--disable-sulogin], [do not build sulogin]),
1292 [], [enable_sulogin=yes]
1294 UL_BUILD_INIT([sulogin])
1295 AM_CONDITIONAL([BUILD_SULOGIN], [test "x$build_sulogin" = xyes])
1299 AS_HELP_STRING([--disable-su], [do not build su]),
1300 [], [enable_su=check]
1303 UL_REQUIRES_HAVE([su], [security_pam_misc_h], [PAM header file])
1304 AM_CONDITIONAL([BUILD_SU], [test "x$build_su" = xyes])
1307 AC_ARG_ENABLE([runuser],
1308 AS_HELP_STRING([--disable-runuser], [do not build runuser]),
1309 [], [enable_runuser=check]
1311 UL_BUILD_INIT([runuser])
1312 UL_REQUIRES_HAVE([runuser], [security_pam_misc_h], [PAM header file])
1313 AM_CONDITIONAL([BUILD_RUNUSER], [test "x$build_runuser" = xyes])
1317 AS_HELP_STRING([--disable-ul], [do not build ul]),
1318 [], [enable_ul=check]
1321 UL_REQUIRES_HAVE([ul], [ncurses, tinfo], [ncurses or tinfo libraries])
1322 AM_CONDITIONAL([BUILD_UL], [test "x$build_ul" = xyes])
1325 AC_ARG_ENABLE([more],
1326 AS_HELP_STRING([--disable-more], [do not build more]),
1327 [], [enable_more=check]
1329 UL_BUILD_INIT([more])
1330 UL_REQUIRES_HAVE([more], [ncurses, tinfo, termcap], [ncurses, tinfo or termcap libraries])
1331 AM_CONDITIONAL([BUILD_MORE], [test "x$build_more" = xyes])
1335 AS_HELP_STRING([--disable-pg], [do not build pg]),
1336 [], [enable_pg=check]
1339 UL_REQUIRES_HAVE([pg], [ncurses], [ncurses or ncursesw library])
1340 AM_CONDITIONAL([BUILD_PG], [test "x$build_pg" = xyes])
1343 AC_ARG_ENABLE([setterm],
1344 AS_HELP_STRING([--disable-setterm], [do not build setterm]),
1345 [], [enable_setterm=check]
1347 UL_BUILD_INIT([setterm])
1348 UL_REQUIRES_LINUX([setterm])
1349 UL_REQUIRES_HAVE([setterm], [ncurses], [ncurses library])
1350 AM_CONDITIONAL([BUILD_SETTERM], [test "x$build_setterm" = xyes])
1353 AC_ARG_ENABLE([schedutils],
1354 AS_HELP_STRING([--disable-schedutils], [do not build chrt, ionice, taskset]),
1355 [], [enable_schedutils=yes]
1357 UL_BUILD_INIT([schedutils])
1358 AM_CONDITIONAL([BUILD_SCHEDUTILS], [test "x$build_schedutils" = xyes])
1360 UL_BUILD_INIT([ionice], [check])
1361 UL_REQUIRES_BUILD([ionice], [schedutils])
1362 UL_REQUIRES_SYSCALL_CHECK([ionice],
1363 [UL_CHECK_SYSCALL([ioprio_set],
1374 UL_REQUIRES_SYSCALL_CHECK([ionice],
1375 [UL_CHECK_SYSCALL([ioprio_get],
1386 AM_CONDITIONAL([BUILD_IONICE], [test "x$build_ionice" = xyes])
1388 UL_BUILD_INIT([taskset], [check])
1389 UL_REQUIRES_BUILD([taskset], [schedutils])
1390 UL_REQUIRES_HAVE([taskset], [cpu_set_t], [cpu_set_t type])
1391 UL_REQUIRES_SYSCALL_CHECK([taskset],
1392 [UL_CHECK_SYSCALL([sched_getaffinity])],
1393 [sched_getaffinity])
1394 AM_CONDITIONAL([BUILD_TASKSET], [test "x$build_taskset" = xyes])
1397 AC_ARG_ENABLE([wall],
1398 AS_HELP_STRING([--disable-wall], [do not build wall]),
1399 [], [enable_wall=yes]
1401 UL_BUILD_INIT([wall])
1402 AM_CONDITIONAL([BUILD_WALL], [test "x$build_wall" = xyes])
1405 AC_ARG_ENABLE([write],
1406 AS_HELP_STRING([--enable-write], [build write]),
1407 [], [enable_write=no]
1409 UL_BUILD_INIT([write])
1410 AM_CONDITIONAL([BUILD_WRITE], [test "x$build_write" = xyes])
1413 AC_ARG_WITH([systemd],
1414 AS_HELP_STRING([--with-systemd], [build with support for systemd]),
1415 [], [with_systemd=check]
1419 AS_IF([test "x$with_systemd" != xno], [
1420 # new version -- all libsystemd-* libs merged into libsystemd
1421 PKG_CHECK_MODULES([SYSTEMD], [libsystemd], [have_systemd=yes], [have_systemd=no])
1423 AS_IF([test "x$have_systemd" != "xyes"], [
1424 PKG_CHECK_MODULES([SYSTEMD_DAEMON], [libsystemd-daemon],
1425 [have_systemd_daemon=yes], [have_systemd_daemon=no])
1426 PKG_CHECK_MODULES([SYSTEMD_JOURNAL], [libsystemd-journal],
1427 [have_systemd_journal=yes], [have_systemd_journal=no])
1428 AS_IF([test "x$have_systemd_daemon" = "xyes" -a "x$have_systemd_journal" = "xyes" ],[
1431 AS_CASE([$with_systemd:$have_systemd],
1433 [AC_MSG_ERROR([systemd expected but libsystemd not found])],
1435 AC_DEFINE([HAVE_LIBSYSTEMD], [1], [Define if libsystemd is available])
1438 AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$have_systemd" = xyes])
1441 AC_ARG_WITH([systemdsystemunitdir],
1442 AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [directory for systemd service files]),
1443 [], [with_systemdsystemunitdir=`$PKG_CONFIG --variable=systemdsystemunitdir systemd`])
1445 AS_IF([test "x$with_systemdsystemunitdir" != "xno"], [
1446 AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
1450 AC_ARG_WITH([smack],
1451 AS_HELP_STRING([--with-smack], [build with SMACK support]),
1454 AS_IF([test "x$with_smack" = xyes], [
1455 AC_DEFINE([HAVE_SMACK], [1], [Add SMACK support])
1459 AC_ARG_WITH([bashcompletiondir],
1460 AS_HELP_STRING([--with-bashcompletiondir=DIR], [Bash completions directory]),
1462 [AS_IF([`$PKG_CONFIG --exists bash-completion`], [
1463 with_bashcompletiondir=`$PKG_CONFIG --variable=completionsdir bash-completion`
1465 with_bashcompletiondir=${datadir}/bash-completion/completions
1468 AC_SUBST([bashcompletiondir], [$with_bashcompletiondir])
1470 AC_ARG_ENABLE([bash-completion],
1471 AS_HELP_STRING([--disable-bash-completion], [do not install bash completion files]),
1472 [], [enable_bash_completion=yes]
1475 AM_CONDITIONAL([BUILD_BASH_COMPLETION], [test "x$enable_bash_completion" = xyes])
1478 AC_ARG_WITH([python],
1479 AS_HELP_STRING([--with-python], [generate python bindings, use --with-python={2,3} to force version]),
1480 [], [with_python=no]
1484 AS_IF([test "x$with_python" != xno], [
1485 # We follow distributions default and look for PKG module name "python"
1486 # (minimal version is 2) but if major version is explicitly specified by
1487 # --with-python=2 or --with-python=3 then we look for PKG module "python2" or
1489 AS_IF([test "x$withval" != xno -a "x$withval" != xyes],
1490 [pymajor="$withval"; PYTHON=python${pymajor}], [pymajor="2"])
1491 AM_PATH_PYTHON([$pymajor], [have_python=yes], [have_python=no])
1492 AS_CASE([$with_python:$have_python],
1494 [AC_MSG_ERROR([python selected but libpython not found])]
1496 PKG_CHECK_MODULES([PYTHON], [python-$PYTHON_VERSION])
1498 UL_BUILD_INIT([pylibmount], [check])
1499 UL_REQUIRES_HAVE([pylibmount], [python], [libpython])
1500 UL_REQUIRES_BUILD([pylibmount], [libmount])
1503 AM_CONDITIONAL([BUILD_PYLIBMOUNT], [test "x$build_pylibmount" = "xyes"])
1506 AC_ARG_ENABLE([pg-bell],
1507 AS_HELP_STRING([--disable-pg-bell], [let pg not ring the bell on invalid keys]),
1508 [], [enable_pg_bell=yes]
1511 AS_IF([test "x$enable_pg_bell" = xyes], [
1512 AC_DEFINE([PG_BELL], [1], [Should pg ring the bell on invalid keys?])
1516 AC_DEFUN([FS_PATHS_DEFAULT], [/sbin:/sbin/fs.d:/sbin/fs])
1517 AC_ARG_ENABLE([fs-paths-default],
1518 AS_HELP_STRING([--enable-fs-paths-default=paths], [default search path for fs helpers @<:@FS_PATHS_DEFAULT@:>@]),
1519 [AS_CASE([$enableval],
1520 [yes], [fs_paths_defaults="FS_PATHS_DEFAULT"],
1521 [no], [fs_paths_defaults=""],
1522 [fs_paths_defaults="$enableval"]
1524 [fs_paths_defaults="FS_PATHS_DEFAULT"]
1526 AC_ARG_ENABLE([fs-paths-extra],
1527 AS_HELP_STRING([--enable-fs-paths-extra=paths], [additional search paths for fs helpers]),
1528 [AS_CASE([$enableval],
1529 [yes|no], [fs_paths_extra=""],
1530 [fs_paths_extra="$enableval"]
1534 fs_paths="$fs_paths_defaults"
1535 AS_IF([test "x$fs_paths_extra" != "x"], [
1536 AS_IF([test "x$fs_paths" != "x"], [
1537 fs_paths="${fs_paths}:"
1539 fs_paths="${fs_paths}${fs_paths_extra}"
1541 AC_DEFINE_UNQUOTED([FS_SEARCH_PATH], "$fs_paths", [search path for fs helpers])
1544 AC_ARG_ENABLE([use-tty-group],
1545 AS_HELP_STRING([--disable-use-tty-group], [do not install wall and write setgid tty]),
1546 [], [enable_use_tty_group=yes]
1548 AM_CONDITIONAL([USE_TTY_GROUP], [test "x$enable_use_tty_group" = xyes])
1550 AS_IF([test "x$enable_use_tty_group" = xyes], [
1551 AC_DEFINE([USE_TTY_GROUP], [1], [Should wall and write be installed setgid tty?])
1555 AC_ARG_ENABLE([sulogin-emergency-mount],
1556 AS_HELP_STRING([--enable-sulogin-emergency-mount],
1557 [use emergency mount of /dev and /proc for sulogin]),
1558 [], [enable_sulogin_emergency_mount=no]
1561 AS_IF([test "x$enable_sulogin_emergency_mount" = xyes], [
1562 AC_DEFINE([USE_SULOGIN_EMERGENCY_MOUNT], [1],
1563 [Should sulogin use a emergency mount of /dev and /proc?])
1567 AC_ARG_ENABLE([makeinstall-chown],
1568 AS_HELP_STRING([--disable-makeinstall-chown], [do not do chown-like operations during "make install"]),
1569 [], [enable_makeinstall_chown=yes]
1571 AM_CONDITIONAL([MAKEINSTALL_DO_CHOWN], [test "x$enable_makeinstall_chown" = xyes])
1573 AC_ARG_ENABLE([makeinstall-setuid],
1574 AS_HELP_STRING([--disable-makeinstall-setuid], [do not do setuid chmod operations during "make install"]),
1575 [], [enable_makeinstall_setuid=yes]
1577 AM_CONDITIONAL([MAKEINSTALL_DO_SETUID], [test "x$enable_makeinstall_setuid" = xyes])
1580 AC_ARG_VAR([SUID_CFLAGS],
1581 [CFLAGS used for binaries which are usually with the suid bit])
1582 AC_ARG_VAR([SUID_LDFLAGS],
1583 [LDFLAGS used for binaries which are usually with the suid bit])
1585 AC_ARG_VAR([DAEMON_CFLAGS],
1586 [CFLAGS used for binaries which are usually executed as daemons])
1587 AC_ARG_VAR([DAEMON_LDFLAGS],
1588 [LDFLAGS used for binaries which are usually executed as daemons])
1590 AC_ARG_VAR([SOLIB_CFLAGS],
1591 [CFLAGS used for shared libraries])
1592 AC_ARG_VAR([SOLIB_LDFLAGS],
1593 [LDFLAGS used for shared libraries])
1598 AC_CONFIG_HEADERS([config.h])
1601 # Don't use configure.ac to replace install paths! See Makefile PATHFILES for
1606 libblkid/docs/Makefile
1607 libblkid/docs/version.xml
1608 libblkid/src/blkid.h
1609 libmount/docs/Makefile
1610 libmount/docs/version.xml
1611 libmount/src/libmount.h
1612 libsmartcols/docs/Makefile
1613 libsmartcols/docs/version.xml
1614 libsmartcols/src/libsmartcols.h
1621 ${PACKAGE} ${VERSION}
1624 exec prefix: ${exec_prefix}
1626 localstatedir: ${localstatedir}
1630 includedir: ${includedir}
1631 usrbin_execdir: ${usrbin_execdir}
1632 usrsbin_execdir: ${usrsbin_execdir}
1633 usrlib_execdir: ${usrlib_execdir}
1637 suid cflags: ${SUID_CFLAGS}
1639 suid ldflags: ${SUID_LDFLAGS}
1642 Python version: ${PYTHON_VERSION}
1643 Python libs: ${pyexecdir}
1645 Bash completions: ${with_bashcompletiondir}
1646 Systemd support: ${have_systemd}