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([-Wmissing-declarations])
110 UL_WARN_ADD([-Wmissing-parameter-type])
111 UL_WARN_ADD([-Wmissing-prototypes])
112 UL_WARN_ADD([-Wno-missing-field-initializers])
113 UL_WARN_ADD([-Wredundant-decls])
114 UL_WARN_ADD([-Wsign-compare])
115 UL_WARN_ADD([-Wtype-limits])
116 UL_WARN_ADD([-Wuninitialized])
117 UL_WARN_ADD([-Wunused-but-set-parameter])
118 UL_WARN_ADD([-Wunused-but-set-variable])
119 UL_WARN_ADD([-Wunused-parameter])
120 UL_WARN_ADD([-Wunused-result])
121 UL_WARN_ADD([-Wunused-variable])
122 UL_WARN_ADD([-Wnested-externs])
123 UL_WARN_ADD([-Wpointer-arith])
124 UL_WARN_ADD([-Wstrict-prototypes])
125 UL_WARN_ADD([-Wformat-security])
126 UL_WARN_ADD([-Wimplicit-function-declaration])
127 AC_SUBST([WARN_CFLAGS])
129 UL_WARN_ADD([-Wno-clobbered], [BSD_WARN_CFLAGS])
130 AC_SUBST([BSD_WARN_CFLAGS])
135 m4_ifndef([PKG_PROG_PKG_CONFIG],
136 [m4_fatal([Could not locate the pkg-config autoconf
137 macros. These are usually located in /usr/share/aclocal/pkg.m4.
138 If your macros are in a different location, try setting the
139 environment variable AL_OPTS="-I/other/macro/dir" before running
140 ./autogen.sh or autoreconf again.])])
143 GTK_DOC_CHECK([1.10])
144 AC_PATH_PROG([XSLTPROC], [xsltproc])
149 AS_CASE([${host_os}],
154 AM_CONDITIONAL([LINUX], [test "x$linux_os" = xyes])
155 AM_CONDITIONAL([BSD], [test "x$bsd_os" = xyes])
158 dnl define ARCH_<NAME> conditionals
159 UL_SET_ARCH([I86], [i?86-*])
160 UL_SET_ARCH([86_64], [x86_64*])
161 UL_SET_ARCH([IA64], [ia64*])
162 UL_SET_ARCH([S390], [s390*])
163 UL_SET_ARCH([SPARC], [sparc*])
164 UL_SET_ARCH([PPC], [ppc*|powerpc*])
165 UL_SET_ARCH([M68K], [m68*])
166 UL_SET_ARCH([MIPS], [mips*])
167 UL_SET_ARCH([HPPA], [hppa*])
171 dnl Don't forget to maintain alternatively allowed versions in autogen.sh!
172 AM_GNU_GETTEXT_VERSION([0.18.3])
173 AM_GNU_GETTEXT([external])
175 AS_IF([test -d "$srcdir/po"], [
176 ALL_LINGUAS=`cd $srcdir/po > /dev/null && echo *.po | sed 's/\.po//g'`
178 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"
181 AC_CHECK_HEADERS([linux/compiler.h linux/blkpg.h linux/major.h], [], [], [
182 #ifdef HAVE_LINUX_COMPILER_H
183 #include <linux/compiler.h>
209 security/pam_appl.h \
240 AC_CHECK_HEADERS([security/pam_misc.h],
241 [AM_CONDITIONAL([HAVE_LINUXPAM], [true])],
242 [AM_CONDITIONAL([HAVE_LINUXPAM], [false])], [
243 #ifdef HAVE_SECURITY_PAM_APPL_H
244 #include <security/pam_appl.h>
248 AC_CHECK_HEADERS([security/openpam.h], [], [], [
249 #ifdef HAVE_SECURITY_PAM_APPL_H
250 #include <security/pam_appl.h>
254 AC_CHECK_HEADERS([langinfo.h],
255 [AM_CONDITIONAL([HAVE_LANGINFO], [true])],
256 [AM_CONDITIONAL([HAVE_LANGINFO], [false])])
258 dnl Convert some ac_cv_header_* variables to have_*
260 have_linux_raw_h=$ac_cv_header_linux_raw_h
261 have_linux_securebits_h=$ac_cv_header_linux_securebits_h
262 have_linux_watchdog_h=$ac_cv_header_linux_watchdog_h
263 have_security_pam_appl_h=$ac_cv_header_security_pam_appl_h
264 have_security_pam_misc_h=$ac_cv_header_security_pam_misc_h
265 have_security_openpam_h=$ac_cv_header_security_openpam_h
267 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
272 struct tm *tm = localtime(0);
273 if (a == -1) /* false */
274 sleep(tm->tm_gmtoff);
276 [AC_DEFINE([HAVE_TM_GMTOFF], [1], [Does struct tm have a field tm_gmtoff?])
279 AC_CHECK_MEMBERS([struct termios.c_line],,,
280 [[#include <termios.h>]])
282 AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec],,,
283 [#include <sys/stat.h>])
285 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
287 #ifdef HAVE_SYS_SWAP_H
288 # include <sys/swap.h>
292 [[swapon("/dev/null", 0);]])],
293 [AC_DEFINE([SWAPON_HAS_TWO_ARGS], [1], [Is swapon() declared with two parameters?])
295 [AC_MSG_NOTICE([Your libc thinks that swapon has 1 arg only.])
299 AC_CHECK_DECLS([_NL_TIME_WEEK_1STDAY],[],[],[[#include <langinfo.h>]])
301 AC_CHECK_DECL([llseek],
302 [AC_DEFINE([HAVE_LLSEEK_PROTOTYPE], [1],
303 [Define to 1 if have llseek prototype])],
305 [#include <unistd.h>])
307 AC_CHECK_DECL([lseek64],
308 [AC_DEFINE([HAVE_LSEEK64_PROTOTYPE], [1],
309 [Define to 1 if have lseek64 prototype])],
311 [#define _LARGEFILE_SOURCE
312 #define _LARGEFILE64_SOURCE
313 #include <unistd.h>])
315 AC_CHECK_DECL([environ],
316 [AC_DEFINE([HAVE_ENVIRON_DECL], [1],
317 [Define to 1 if have **environ prototype])],
320 AC_CHECK_DECL([strsignal],
321 [AC_DEFINE([HAVE_STRSIGNAL_DECL], [1],
322 [Define to 1 if have strsignal function prototype])],
369 AC_CHECK_FUNCS([openat fstatat unlinkat], [have_openat=yes], [have_openat=no])
370 AC_CHECK_FUNCS([ioperm iopl], [have_io=yes])
371 AC_CHECK_FUNCS([futimens], [have_futimens=yes])
372 AC_CHECK_FUNCS([inotify_init1], [have_inotify_init1=yes])
374 dnl Old glibc requires -lrt
375 AC_CHECK_FUNCS(clock_gettime, [], [
376 AC_CHECK_LIB(rt, clock_gettime, [
377 AC_DEFINE(HAVE_CLOCK_GETTIME, 1)
378 CLOCKGETTIME_LIBS="-lrt"
381 AC_SUBST([CLOCKGETTIME_LIBS])
384 AC_CHECK_MEMBER([struct sockaddr.sa_len],
385 AC_DEFINE_UNQUOTED([HAVE_SA_LEN], [1], [Define if struct sockaddr contains sa_len]), [],
386 [#include <sys/types.h>
387 #include <sys/socket.h>])
390 AC_SEARCH_LIBS([socket], [socket],
391 [AS_IF([test x"$ac_cv_search_socket" != x"none required"],
392 [SOCKET_LIBS="$SOCKET_LIBS -lsocket"])
394 AC_SUBST([SOCKET_LIBS])
398 AC_CHECK_FUNCS([dirfd], [have_dirfd=yes], [have_dirfd=no])
399 AS_IF([test x"$have_dirfd" = xno], [
400 AC_CHECK_DECLS([dirfd],
401 [have_dirfd=yes], [have_dirfd=no],
402 [#include <sys/types.h>
403 #include <dirent.h>])
407 AS_IF([test x"$have_dirfd" = xno], [
408 AC_CHECK_MEMBERS([DIR.dd_fd],
409 [have_ddfd=yes], [have_ddfd=no],
410 [#include <sys/types.h>
411 #include <dirent.h>])
414 AS_CASE([$have_dirfd:$have_ddfd],
416 [AC_MSG_ERROR([cannot find a method to get filedescriptor of directory])]
420 AC_MSG_CHECKING([whether program_invocation_short_name is defined])
421 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
424 program_invocation_short_name = "test";
427 AC_DEFINE([HAVE_PROGRAM_INVOCATION_SHORT_NAME], [1],
428 [Define if program_invocation_short_name is defined])
434 AC_MSG_CHECKING([whether __progname is defined])
435 AC_LINK_IFELSE([AC_LANG_PROGRAM([extern char *__progname;],
436 [if (*__progname == 0) return;])],
437 AC_DEFINE([HAVE___PROGNAME], [1], [Define if __progname is defined])
438 AC_MSG_RESULT([yes]),
441 dnl Static compilation
442 m4_define([UL_STATIC_PROGRAMS], [losetup, mount, umount, fdisk, sfdisk, blkid, nsenter])
444 AC_ARG_ENABLE([static-programs],
445 [AS_HELP_STRING([--enable-static-programs=LIST],
446 [link static the programs in LIST (comma-separated,
447 supported for ]m4_defn([UL_STATIC_PROGRAMS])[)])])
449 AS_CASE([$enable_static_programs],
451 [enable_static_programs=m4_quote(UL_STATIC_PROGRAMS)],
453 [enable_static_programs=]
456 dnl Set all the individual AM_CONDITIONALs
457 m4_foreach([UL_PRG], m4_defn([UL_STATIC_PROGRAMS]), [
458 AS_CASE([,$enable_static_programs,],
459 [*,UL_PRG,*], [static_[]UL_PRG=yes]
461 AS_IF([test "x$static_[]UL_PRG" = xyes], [AC_MSG_NOTICE([enable static build: UL_PRG.])])
462 AM_CONDITIONAL([HAVE_STATIC_]m4_toupper(UL_PRG),
463 [test "x$static_[]UL_PRG" = xyes])
467 AC_ARG_ENABLE([all-programs],
468 AS_HELP_STRING([--disable-all-programs], [disable everything, might be overridden by --enable-<name>]),
469 [], [enable_all_programs=undefined]
472 AS_CASE([$enable_all_programs],
473 [yes], [AC_MSG_WARN([force to build all programs by default])
474 ul_default_estate=check],
475 [no], [AC_MSG_WARN([disable all programs by default])
476 ul_default_estate=no]
482 AC_DEFUN([UL_SCANF_TYPE_MODIFIER], [dnl
489 i = sscanf("x", $1, &s);
496 ul_save_CPPFLAGS="$CPPFLAGS"
497 CPPFLAGS="-Werror ${CPPFLAGS}"
498 AC_CACHE_VAL([scanf_cv_alloc_modifier],
499 AC_RUN_IFELSE([AC_LANG_SOURCE([UL_SCANF_TYPE_MODIFIER(["%ms"])])],
500 [scanf_cv_alloc_modifier=ms],
501 AC_RUN_IFELSE([AC_LANG_SOURCE([UL_SCANF_TYPE_MODIFIER(["%as"])])],
502 [scanf_cv_alloc_modifier=as],
503 [scanf_cv_alloc_modifier=no]
507 [AC_COMPILE_IFELSE([AC_LANG_SOURCE([
513 #if !(__GLIBC_PREREQ(2, 7))
514 #error %m is not available
517 #elif defined(_POSIX_VERSION)
519 #if _POSIX_VERSION < 200809L
520 #error %m is not available
524 #error Your C-library is not supported.
527 [scanf_cv_alloc_modifier=ms],
528 [scanf_cv_alloc_modifier=no])]
531 CPPFLAGS="$ul_save_CPPFLAGS"
533 AC_MSG_CHECKING([scanf string alloc modifiers])
534 AS_CASE([$scanf_cv_alloc_modifier],
536 [AC_MSG_RESULT([(%ms) yes])
537 AC_DEFINE([HAVE_SCANF_MS_MODIFIER], [1], [scanf %ms modifier])
538 have_scanf_alloc_modifier=yes],
540 [AC_MSG_RESULT([(%as) yes])
541 have_scanf_alloc_modifier=yes
542 AC_DEFINE([HAVE_SCANF_AS_MODIFIER], [1], [scanf %as modifier])],
544 have_scanf_alloc_modifier=no]
547 UL_CHECK_LIB([util], [openpty])
548 UL_CHECK_LIB([termcap], [tgetnum])
550 AC_CHECK_TYPES([union semun], [], [], [[
553 AC_CHECK_TYPES([loff_t])
555 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
563 if (w == WEOF) exit(1);
567 [AC_DEFINE([HAVE_WIDECHAR], [1], [Do we have wide character support?])
570 AC_CHECK_TYPES([cpu_set_t], [have_cpu_set_t=yes], [], [[
574 AM_CONDITIONAL([HAVE_CPU_SET_T], [test "x$have_cpu_set_t" = xyes])
576 AC_CHECK_TYPES([sighandler_t], [], [], [[
580 AC_CHECK_DECLS([CPU_ALLOC], [], [], [[
584 # on Solaris, you can't mix and match standards, since we use c99
585 # aparently at this stage, XOPEN_SOURCE will conflict. As workaround,
586 # check for crypt.h and use that without XOPEN_SOURCE.
587 AC_CHECK_HEADERS([crypt.h])
588 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
592 #define _XOPEN_SOURCE
596 char *c = crypt("abc","pw");
599 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
603 #define _XOPEN_SOURCE
607 char *c = crypt("abc","pw");
609 AC_DEFINE([HAVE_LIBCRYPT], [1], [Do we need -lcrypt?])
612 AC_MSG_ERROR([crypt() is not available])
615 AM_CONDITIONAL([HAVE_LIBCRYPT], [test "x$have_libcrypt" = xyes])
618 AC_ARG_WITH([selinux],
619 AS_HELP_STRING([--with-selinux], [compile with SELinux support]),
620 [], [with_selinux=no]
623 AS_IF([test "x$with_selinux" = xno], [
624 AM_CONDITIONAL([HAVE_SELINUX], [false])
626 PKG_CHECK_MODULES([SELINUX], [libselinux >= 2.0],
627 [AC_DEFINE([HAVE_LIBSELINUX], [1], [Define if SELinux is available])
628 UL_PKG_STATIC([SELINUX_LIBS_STATIC], [libselinux])
629 AM_CONDITIONAL([HAVE_SELINUX], [true])
633 AS_CASE([$with_selinux:$have_selinux],
634 [yes:no], [AC_MSG_ERROR([SELinux selected but libselinux not found or too old])]
637 AS_IF([test "x$have_selinux" = xyes], [
638 UL_SET_FLAGS([], [], [$SELINUX_LIBS])
639 # This function is missing in old libselinux 1.xx versions
640 AC_CHECK_FUNCS([security_get_initial_context])
644 AC_SUBST([SELINUX_LIBS])
645 AC_SUBST([SELINUX_LIBS_STATIC])
648 AS_HELP_STRING([--with-audit], [compile with audit support]),
652 AS_IF([test "x$with_audit" = xno], [
653 AM_CONDITIONAL([HAVE_AUDIT], [false])
655 UL_CHECK_LIB([audit], [audit_log_user_message])
656 AS_CASE([$with_audit:$have_audit],
658 [AC_MSG_ERROR([Audit selected but libaudit not found (or does not support audit_log_user_message())])]
662 AC_ARG_WITH([udev], AS_HELP_STRING([--without-udev], [compile without udev support]),
666 AS_IF([test "x$with_udev" = xno], [
667 AM_CONDITIONAL([HAVE_UDEV], [false])
669 UL_CHECK_LIB([udev], [udev_new])
670 AS_CASE([$with_udev:$have_udev],
672 [AC_MSG_ERROR([udev selected but libudev not found])]
676 AC_ARG_WITH([ncurses],
677 AS_HELP_STRING([--with-ncurses], [build with non-wide ncurses, default is wide version
678 (--without-ncurses disables all ncurses(w) support)]),
679 [], [with_ncurses=auto]
681 AM_CONDITIONAL([HAVE_NCURSES], [false])
682 AS_IF([test "x$with_ncurses" != xno], [
685 dnl First try to find the pkg-config module.
686 PKG_CHECK_MODULES(NCURSESW, [ncursesw], [
688 NCURSES_LIBS=${NCURSESW_LIBS}
689 NCURSES_CFLAGS=${NCURSESW_CFLAGS}
690 AC_DEFINE([HAVE_LIBNCURSESW])
691 CURSES_LIB_NAME="ncursesw"
693 PKG_CHECK_MODULES(NCURSES, [ncurses], [
695 AC_DEFINE([HAVE_LIBNCURSES])
696 CURSES_LIB_NAME="ncursesw"
700 AS_IF([test "x$have_ncurses" = xyes], [
701 dnl If that worked, setup the defines that the code expects.
702 save_CPPFLAGS="$CPPFLAGS"
703 CPPFLAGS="$CPPFLAGS $NCURSES_CFLAGS"
704 AC_CHECK_HEADERS([ncurses.h])
705 CPPFLAGS="$save_CPPFLAGS"
707 dnl If that failed, fall back to classic searching.
708 AC_CHECK_HEADERS([ncurses.h ncurses/ncurses.h], [
709 AS_IF([test "x$with_ncurses" = xauto], [
710 UL_CHECK_LIB([ncursesw], [initscr], [ncurses])
711 AS_IF([test "x$have_ncurses" = xyes], [
712 AC_CHECK_HEADERS([ncursesw/ncurses.h])
713 NCURSES_LIBS="-lncursesw"
714 CURSES_LIB_NAME="ncursesw"
717 AS_IF([test "x$have_ncurses" = xno], [
718 UL_CHECK_LIB(ncurses, initscr)
719 AS_IF([test "x$have_ncurses" = xyes], [
720 NCURSES_LIBS="-lncurses"
721 CURSES_LIB_NAME="ncurses"
727 AS_IF([test "x$have_ncurses" = xno], [
728 AC_MSG_ERROR([ncurses or ncursesw selected, but library not found (--without-ncurses to disable)])
731 AC_SUBST([NCURSES_CFLAGS])
732 AC_SUBST([NCURSES_LIBS])
736 AS_HELP_STRING([--with-slang], [compile cfdisk with slang]),
740 AS_IF([test "x$with_slang" = xyes], [
741 AC_CHECK_HEADERS([slang.h slang/slang.h])
742 AC_CHECK_HEADERS([slcurses.h slang/slcurses.h],
743 [have_slang=yes], [], [
746 #elif defined(HAVE_SLANG_SLANG_H)
747 #include <slang/slang.h>
750 AS_IF([test "x$have_slang" = xno], [
751 AC_MSG_ERROR([slang selected but slcurses.h not found])],
752 [CURSES_LIB_NAME=slang
755 AM_CONDITIONAL([HAVE_SLANG], [test "x$have_slang" = xyes])
758 AS_IF([test "x$have_slang" = xyes -o "x$have_ncurses" = xyes], [
759 AC_CHECK_LIB([$CURSES_LIB_NAME], use_default_colors, [
760 AC_DEFINE(HAVE_USE_DEFAULT_COLORS, 1,
761 [Define if curses library has the use_default_colors().])
763 AC_CHECK_LIB([$CURSES_LIB_NAME], resizeterm, [
764 AC_DEFINE(HAVE_RESIZETERM, 1,
765 [Define if curses library has the resizeterm().])
770 dnl Try pkg-config for libtinfo
771 PKG_CHECK_MODULES(TINFO, [tinfo], [have_tinfo=yes], [
772 dnl If that failed, fall back to classic searching.
773 AC_CHECK_LIB([tinfo], [tgetent], [
778 AC_SUBST([TINFO_LIBS])
779 AC_SUBST([TINFO_CFLAGS])
780 AM_CONDITIONAL([HAVE_TINFO], [test "x$have_tinfo" = xyes])
781 AS_IF([test "x$have_tinfo" = xyes],
782 AC_DEFINE(HAVE_LIBTINFO, 1, [Define if libtinfo available.])
786 AC_ARG_WITH([utempter],
787 AS_HELP_STRING([--with-utempter], [compile script(1) with libutempter]),
788 [], [with_utempter=no]
791 AS_IF([test "x$with_utempter" = xyes], [
792 UL_CHECK_LIB([utempter], [utempter_add_record])
793 AS_IF([test "x$have_utempter" = xno], [
794 AC_MSG_ERROR([utempter selected but libutempter not found])
797 AM_CONDITIONAL([HAVE_UTEMPTER], [false])
805 AC_ARG_ENABLE([libuuid],
806 AS_HELP_STRING([--disable-libuuid], [do not build libuuid and uuid utilities]),
807 [], [UL_DEFAULT_ENABLE([libuuid], [yes])]
809 UL_BUILD_INIT([libuuid])
810 AC_SUBST([LIBUUID_VERSION])
811 AC_SUBST([LIBUUID_VERSION_INFO])
812 AM_CONDITIONAL(BUILD_LIBUUID, test "x$build_libuuid" = xyes)
814 AS_IF([test "x$build_libuuid" = xyes], [
815 AC_DEFINE(HAVE_LIBUUID, 1, [Define to 1 if you have the -luuid.])
821 AC_ARG_ENABLE([libblkid],
822 AS_HELP_STRING([--disable-libblkid], [do not build libblkid and many related utilities]),
823 [], [UL_DEFAULT_ENABLE([libblkid], [yes])]
825 UL_BUILD_INIT([libblkid])
826 AC_SUBST([LIBBLKID_DATE])
827 AC_SUBST([LIBBLKID_VERSION])
828 AC_SUBST([LIBBLKID_VERSION_INFO])
829 AC_DEFINE_UNQUOTED([LIBBLKID_VERSION], ["$LIBBLKID_VERSION"], [libblkid version string])
830 AC_DEFINE_UNQUOTED([LIBBLKID_DATE], ["$LIBBLKID_DATE"], [libblkid date string])
831 AS_IF([test "x$build_libblkid" = xyes], [
832 AC_DEFINE([HAVE_LIBBLKID], [1], [Define to 1 if you have the -lblkid.])
834 AM_CONDITIONAL([BUILD_LIBBLKID], [test "x$build_libblkid" = xyes])
835 AM_CONDITIONAL([BUILD_LIBBLKID_TESTS], [test "x$build_libblkid" = xyes -a "x$enable_static" = xyes])
840 AC_ARG_ENABLE([libmount],
841 AS_HELP_STRING([--disable-libmount], [do not build libmount]),
842 [], [UL_DEFAULT_ENABLE([libmount], [check])]
844 UL_BUILD_INIT([libmount])
845 UL_REQUIRES_BUILD([libmount], [libblkid])
846 UL_REQUIRES_HAVE([libmount], [scanf_alloc_modifier], [scanf string alloc modifier])
847 AM_CONDITIONAL([BUILD_LIBMOUNT], [test "x$build_libmount" = xyes])
848 AM_CONDITIONAL([BUILD_LIBMOUNT_TESTS], [test "x$build_libmount" = xyes -a "x$enable_static" = xyes])
850 AC_SUBST([LIBMOUNT_VERSION])
851 AC_SUBST([LIBMOUNT_MAJOR_VERSION], $PACKAGE_VERSION_MAJOR)
852 AC_SUBST([LIBMOUNT_MINOR_VERSION], $PACKAGE_VERSION_MINOR)
853 AC_SUBST([LIBMOUNT_PATCH_VERSION], $PACKAGE_VERSION_RELEASE)
854 AC_SUBST([LIBMOUNT_VERSION_INFO])
855 AC_DEFINE_UNQUOTED([LIBMOUNT_VERSION], ["$LIBMOUNT_VERSION"], [libmount version string])
857 AC_ARG_ENABLE([libmount-force-mountinfo],
858 AS_HELP_STRING([--enable-libmount-force-mountinfo], [ignore /etc/mtab in all situations (recommended for systemd)]),
859 [], [enable_libmount_force_mountinfo=no]
862 AS_IF([test "x$enable_libmount_force_mountinfo" == xyes], [
863 AC_DEFINE([USE_LIBMOUNT_FORCE_MOUNTINFO], [1], [Define to 1 if want to ignore mtab in all situations.])
870 AC_ARG_ENABLE([libsmartcols],
871 AS_HELP_STRING([--disable-libsmartcols], [do not build libsmartcols]),
872 [], [UL_DEFAULT_ENABLE([libsmartcols], [yes])]
874 UL_BUILD_INIT([libsmartcols])
875 AM_CONDITIONAL([BUILD_LIBSMARTCOLS], [test "x$build_libsmartcols" = xyes])
876 AM_CONDITIONAL([BUILD_LIBSMARTCOLS_TESTS], [test "x$build_libsmartcols" = xyes -a "x$enable_static" = xyes])
878 AC_SUBST([LIBSMARTCOLS_VERSION])
879 AC_SUBST([LIBSMARTCOLS_VERSION_INFO])
880 AC_DEFINE_UNQUOTED([LIBSMARTCOLS_VERSION], ["$LIBSMARTCOLS_VERSION"], [libsmartcols version string])
886 AC_ARG_ENABLE([libfdisk],
887 AS_HELP_STRING([--disable-libfdisk], [do not build libfdisk]),
888 [], [UL_DEFAULT_ENABLE([libfdisk], [check])]
890 UL_BUILD_INIT([libfdisk])
891 UL_REQUIRES_BUILD([libfdisk], [libuuid])
892 AM_CONDITIONAL([BUILD_LIBFDISK], [test "x$build_libfdisk" = xyes])
893 AM_CONDITIONAL([BUILD_LIBFDISK_TESTS], [test "x$build_libfdisk" = xyes -a "x$enable_static" = xyes])
895 AS_IF([test "x$build_libblkid" = xyes],
896 [LIBFDISK_PC_REQUIRES="uuid blkid"],[LIBFDISK_PC_REQUIRES="uuid"])
897 AC_SUBST([LIBFDISK_PC_REQUIRES])
899 AC_SUBST([LIBFDISK_VERSION])
900 AC_SUBST([LIBFDISK_MAJOR_VERSION], $PACKAGE_VERSION_MAJOR)
901 AC_SUBST([LIBFDISK_MINOR_VERSION], $PACKAGE_VERSION_MINOR)
902 AC_SUBST([LIBFDISK_PATCH_VERSION], $PACKAGE_VERSION_RELEASE)
903 AC_SUBST([LIBFDISK_VERSION_INFO])
904 AC_DEFINE_UNQUOTED([LIBFDISK_VERSION], ["$LIBFDISK_VERSION"], [libfdisk version string])
907 UL_BUILD_INIT([fdisk], [check])
908 UL_REQUIRES_BUILD([fdisk], [libfdisk])
909 UL_REQUIRES_BUILD([fdisk], [libsmartcols])
910 AM_CONDITIONAL([BUILD_FDISK], [test "x$build_fdisk" = xyes])
913 UL_BUILD_INIT([sfdisk], [check])
914 UL_REQUIRES_BUILD([sfdisk], [libfdisk])
915 UL_REQUIRES_BUILD([sfdisk], [libsmartcols])
916 AM_CONDITIONAL([BUILD_SFDISK], [test "x$build_sfdisk" = xyes])
919 UL_BUILD_INIT([cfdisk], [check])
920 UL_REQUIRES_BUILD([cfdisk], [libfdisk])
921 UL_REQUIRES_BUILD([cfdisk], [libsmartcols])
922 UL_REQUIRES_HAVE([cfdisk], [ncurses,slang], [ncurses or slang library])
923 AM_CONDITIONAL([BUILD_CFDISK], [test "x$build_cfdisk" = xyes])
926 AC_ARG_ENABLE([mount],
927 AS_HELP_STRING([--disable-mount], [do not build mount(8) and umount(8)]),
928 [], [UL_DEFAULT_ENABLE([mount], [check])]
930 UL_BUILD_INIT([mount])
931 UL_REQUIRES_LINUX([mount])
932 UL_REQUIRES_BUILD([mount], [libmount])
933 AM_CONDITIONAL([BUILD_MOUNT], [test "x$build_mount" = xyes])
936 AC_ARG_ENABLE([losetup],
937 AS_HELP_STRING([--disable-losetup], [do not build losetup]),
938 [], [UL_DEFAULT_ENABLE([losetup], [check])]
940 UL_BUILD_INIT([losetup])
941 UL_REQUIRES_LINUX([losetup])
942 UL_REQUIRES_BUILD([losetup], [libsmartcols])
943 AM_CONDITIONAL([BUILD_LOSETUP], [test "x$build_losetup" = xyes])
945 AC_ARG_ENABLE([zramctl],
946 AS_HELP_STRING([--disable-zramctl], [do not build zramctl]),
947 [], [UL_DEFAULT_ENABLE([zramctl], [check])]
949 UL_BUILD_INIT([zramctl])
950 UL_REQUIRES_LINUX([zramctl])
951 UL_REQUIRES_BUILD([zramctl], [libsmartcols])
952 AM_CONDITIONAL([BUILD_ZRAMCTL], [test "x$build_zramctl" = xyes])
954 AC_ARG_ENABLE([fsck],
955 AS_HELP_STRING([--disable-fsck], [do not build fsck]),
956 [], [UL_DEFAULT_ENABLE([fsck], [check])]
958 UL_BUILD_INIT([fsck])
959 UL_REQUIRES_BUILD([fsck], [libmount])
960 AM_CONDITIONAL([BUILD_FSCK], [test "x$build_fsck" = xyes])
963 AC_ARG_ENABLE([partx],
964 AS_HELP_STRING([--disable-partx], [do not build addpart, delpart, partx]),
965 [], [UL_DEFAULT_ENABLE([partx], [check])]
967 UL_BUILD_INIT([partx])
968 UL_REQUIRES_LINUX([partx])
969 UL_REQUIRES_BUILD([partx], [libblkid])
970 UL_REQUIRES_BUILD([partx], [libsmartcols])
971 AM_CONDITIONAL([BUILD_PARTX], [test "x$build_partx" = xyes])
974 AC_ARG_ENABLE([uuidd],
975 AS_HELP_STRING([--disable-uuidd], [do not build the uuid daemon]),
976 [], [UL_DEFAULT_ENABLE([uuidd], [check])]
978 UL_BUILD_INIT([uuidd])
979 UL_REQUIRES_BUILD([uuidd], [libuuid])
980 AS_IF([test "x$build_uuidd" = xyes], [
981 AC_DEFINE([HAVE_UUIDD], [1], [Define to 1 if you want to use uuid daemon.])
983 AM_CONDITIONAL([BUILD_UUIDD], [test "x$build_uuidd" = xyes])
986 UL_BUILD_INIT([uuidgen], [check])
987 UL_REQUIRES_BUILD([uuidgen], [libuuid])
988 AM_CONDITIONAL([BUILD_UUIDGEN], [test "x$build_uuidgen" = xyes])
990 UL_BUILD_INIT([blkid], [check])
991 UL_REQUIRES_BUILD([blkid], [libblkid])
992 AM_CONDITIONAL([BUILD_BLKID], [test "x$build_blkid" = xyes])
994 UL_BUILD_INIT([findfs], [check])
995 UL_REQUIRES_BUILD([findfs], [libblkid])
996 AM_CONDITIONAL([BUILD_FINDFS], [test "x$build_findfs" = xyes])
998 UL_BUILD_INIT([wipefs], [check])
999 UL_REQUIRES_BUILD([wipefs], [libblkid])
1000 AM_CONDITIONAL([BUILD_WIPEFS], [test "x$build_wipefs" = xyes])
1002 UL_BUILD_INIT([findmnt], [check])
1003 UL_REQUIRES_BUILD([findmnt], [libmount])
1004 UL_REQUIRES_BUILD([findmnt], [libsmartcols])
1005 AM_CONDITIONAL([BUILD_FINDMNT], [test "x$build_findmnt" = xyes])
1008 AC_ARG_ENABLE([mountpoint],
1009 AS_HELP_STRING([--disable-mountpoint], [do not build mountpoint]),
1010 [], [UL_DEFAULT_ENABLE([mountpoint], [check])]
1012 UL_BUILD_INIT([mountpoint])
1013 UL_REQUIRES_BUILD([mountpoint], [libmount])
1014 AM_CONDITIONAL([BUILD_MOUNTPOINT], [test "x$build_mountpoint" = xyes])
1017 AC_ARG_ENABLE([fallocate],
1018 AS_HELP_STRING([--disable-fallocate], [do not build fallocate]),
1019 [], [UL_DEFAULT_ENABLE([fallocate], [check])]
1021 UL_BUILD_INIT([fallocate])
1022 UL_REQUIRES_LINUX([fallocate])
1023 UL_REQUIRES_SYSCALL_CHECK([fallocate], [UL_CHECK_SYSCALL([fallocate])])
1024 AM_CONDITIONAL([BUILD_FALLOCATE], [test "x$build_fallocate" = xyes])
1026 AS_IF([test "x$build_fallocate" = xyes], [
1027 dnl check for valid fallocate() function
1028 dnl with 32 bits glibc 2.10, fallocate() exists but not fallocate64()
1029 dnl when _FILE_OFFSET_BITS==64, fallocate() is redirect to fallocate64()
1030 dnl and program can't be linked.
1031 dnl AC_CHECK_FUNC can't catch such errors since it's redefining
1032 dnl function prototype.
1033 AC_MSG_CHECKING([for valid fallocate() function])
1034 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1035 #ifdef HAVE_UNISTD_H
1036 # include <unistd.h>
1038 #ifdef HAVE_SYS_TYPES_H
1039 # include <sys/types.h>
1041 #ifdef HAVE_LINUX_FALLOC_H
1042 # include <linux/falloc.h>
1049 ret = fallocate(0, FALLOC_FL_KEEP_SIZE, 0xfffffffful, 0xfffffffful);
1054 AC_MSG_RESULT([yes])
1055 AC_DEFINE([HAVE_FALLOCATE], [1], [Have valid fallocate() function])],[
1056 AC_MSG_RESULT([no])])
1060 AC_ARG_ENABLE([unshare],
1061 AS_HELP_STRING([--disable-unshare], [do not build unshare]),
1062 [], [UL_DEFAULT_ENABLE([unshare], [check])]
1064 UL_BUILD_INIT([unshare])
1065 UL_REQUIRES_LINUX([unshare])
1066 UL_REQUIRES_SYSCALL_CHECK([unshare], [UL_CHECK_SYSCALL([unshare])])
1067 AM_CONDITIONAL([BUILD_UNSHARE], [test "x$build_unshare" = xyes])
1068 AC_CHECK_FUNCS([unshare])
1070 AC_ARG_ENABLE([nsenter],
1071 AS_HELP_STRING([--disable-nsenter], [do not build nsenter]),
1072 [], [UL_DEFAULT_ENABLE([nsenter], [check])]
1074 UL_BUILD_INIT([nsenter])
1075 UL_REQUIRES_LINUX([nsenter])
1076 UL_REQUIRES_SYSCALL_CHECK([nsenter], [UL_CHECK_SYSCALL([setns])], [setns])
1077 AM_CONDITIONAL([BUILD_NSENTER], [test "x$build_nsenter" = xyes])
1078 AC_CHECK_FUNCS([setns])
1080 dnl setpriv depends on libcap-ng. It would be possible to build
1081 dnl a version of setpriv with limited functionality without libcap-ng,
1082 dnl but this isn't currently supported.
1083 UL_CHECK_LIB([cap-ng], [capng_apply], [cap_ng])
1084 AC_ARG_ENABLE([setpriv],
1085 AS_HELP_STRING([--disable-setpriv], [do not build setpriv]),
1086 [], [UL_DEFAULT_ENABLE([setpriv], [check])]
1088 UL_BUILD_INIT([setpriv])
1089 UL_REQUIRES_LINUX([setpriv])
1090 UL_REQUIRES_HAVE([setpriv], [linux_securebits_h], [securebits.h header file])
1091 UL_REQUIRES_HAVE([setpriv], [cap_ng], [libcap-ng library])
1092 AM_CONDITIONAL([BUILD_SETPRIV], [test "x$build_setpriv" = xyes])
1095 AC_ARG_ENABLE([eject],
1096 AS_HELP_STRING([--disable-eject], [do not build eject]),
1097 [], [UL_DEFAULT_ENABLE([eject], [check])]
1099 UL_BUILD_INIT([eject])
1100 UL_REQUIRES_LINUX([eject])
1101 UL_REQUIRES_BUILD([eject], [libmount])
1102 AM_CONDITIONAL([BUILD_EJECT], [test "x$build_eject" = xyes])
1105 AC_ARG_ENABLE([agetty],
1106 AS_HELP_STRING([--disable-agetty], [do not build agetty]),
1107 [], [UL_DEFAULT_ENABLE([agetty], [yes])]
1109 UL_BUILD_INIT([agetty])
1110 AM_CONDITIONAL([BUILD_AGETTY], [test "x$build_agetty" = xyes])
1111 AS_IF([test "x$have_futimens" = xyes -a "x$have_inotify_init1" = xyes ], [
1112 AC_DEFINE([AGETTY_RELOAD], [1], [Enable agetty --reload feature])
1114 AC_MSG_WARN([futimens or inotify_init1 not found; agetty(8) will not provide ---reload functionality])
1118 AC_ARG_ENABLE([cramfs],
1119 AS_HELP_STRING([--disable-cramfs], [do not build fsck.cramfs, mkfs.cramfs]),
1120 [], [UL_DEFAULT_ENABLE([cramfs], [check])]
1122 UL_BUILD_INIT([cramfs])
1123 AC_CHECK_LIB([z], [crc32], [have_z=yes], [have_z=no])
1124 UL_REQUIRES_HAVE([cramfs], [z], [z library])
1125 AM_CONDITIONAL([BUILD_CRAMFS], [test "x$build_cramfs" = xyes])
1128 AC_ARG_ENABLE([bfs],
1129 AS_HELP_STRING([--disable-bfs], [do not build mkfs.bfs]),
1130 [], [UL_DEFAULT_ENABLE([bfs], [yes])]
1132 UL_BUILD_INIT([bfs])
1133 AM_CONDITIONAL([BUILD_BFS], [test "x$build_bfs" = xyes])
1136 AC_ARG_ENABLE([minix],
1137 AS_HELP_STRING([--disable-minix], [do not build fsck.minix, mkfs.minix]),
1138 [], [UL_DEFAULT_ENABLE([minix], [yes])]
1140 UL_BUILD_INIT([minix])
1141 AM_CONDITIONAL([BUILD_MINIX], [test "x$build_minix" = xyes])
1144 AC_ARG_ENABLE([fdformat],
1145 AS_HELP_STRING([--disable-fdformat], [do not build fdformat]),
1146 [], [UL_DEFAULT_ENABLE([fdformat], [check])]
1148 UL_BUILD_INIT([fdformat])
1149 UL_REQUIRES_LINUX([fdformat])
1150 AM_CONDITIONAL([BUILD_FDFORMAT], [test "x$build_fdformat" = xyes])
1153 AC_ARG_ENABLE([hwclock],
1154 AS_HELP_STRING([--disable-hwclock], [do not build hwclock]),
1155 [], [UL_DEFAULT_ENABLE([hwclock], [check])]
1157 have_linuxdummy=$linux_os
1159 UL_BUILD_INIT([hwclock])
1160 UL_REQUIRES_HAVE([hwclock], [io, linuxdummy], [ioperm iopl function or Linux])
1161 AM_CONDITIONAL([BUILD_HWCLOCK], [test "x$build_hwclock" = xyes])
1164 UL_BUILD_INIT([mkfs], [yes])
1165 AM_CONDITIONAL([BUILD_MKFS], [test "x$build_mkfs" = xyes])
1167 UL_BUILD_INIT([isosize], [yes])
1168 AM_CONDITIONAL([BUILD_ISOSIZE], [test "x$build_isosize" = xyes])
1171 UL_BUILD_INIT([fstrim], [check])
1172 UL_REQUIRES_LINUX([fstrim])
1173 UL_REQUIRES_BUILD([fstrim], [libmount])
1174 AM_CONDITIONAL([BUILD_FSTRIM], [test "x$build_fstrim" = xyes])
1177 UL_BUILD_INIT([swapon], [check])
1178 UL_REQUIRES_LINUX([swapon])
1179 UL_REQUIRES_BUILD([swapon], [libblkid])
1180 UL_REQUIRES_BUILD([swapon], [libmount])
1181 UL_REQUIRES_BUILD([swapon], [libsmartcols])
1182 AM_CONDITIONAL([BUILD_SWAPON], [test "x$build_swapon" = xyes])
1185 UL_BUILD_INIT([lsblk], [check])
1186 UL_REQUIRES_LINUX([lsblk])
1187 UL_REQUIRES_BUILD([lsblk], [libblkid])
1188 UL_REQUIRES_BUILD([lsblk], [libmount])
1189 UL_REQUIRES_BUILD([lsblk], [libsmartcols])
1190 AM_CONDITIONAL([BUILD_LSBLK], [test "x$build_lsblk" = xyes])
1193 UL_BUILD_INIT([lscpu], [check])
1194 UL_REQUIRES_LINUX([lscpu])
1195 UL_REQUIRES_BUILD([lscpu], [libsmartcols])
1196 UL_REQUIRES_HAVE([lscpu], [cpu_set_t], [cpu_set_t type])
1197 AM_CONDITIONAL([BUILD_LSCPU], [test "x$build_lscpu" = xyes])
1200 UL_BUILD_INIT([lslogins], [check])
1201 UL_REQUIRES_BUILD([lslogins], [libsmartcols])
1202 AM_CONDITIONAL([BUILD_LSLOGINS], [test "x$build_lslogins" = xyes])
1205 UL_BUILD_INIT([chcpu], [check])
1206 UL_REQUIRES_LINUX([chcpu])
1207 UL_REQUIRES_HAVE([chcpu], [cpu_set_t], [cpu_set_t type])
1208 AM_CONDITIONAL([BUILD_CHCPU], [test "x$build_chcpu" = xyes])
1211 AC_ARG_ENABLE([wdctl],
1212 AS_HELP_STRING([--disable-wdctl], [do not build wdctl]),
1213 [], [UL_DEFAULT_ENABLE([wdctl], [check])]
1215 UL_BUILD_INIT([wdctl])
1216 UL_REQUIRES_LINUX([wdctl])
1217 UL_REQUIRES_BUILD([wdctl], [libsmartcols])
1218 UL_REQUIRES_HAVE([wdctl], [linux_watchdog_h], [linux/watchdog.h header file])
1219 AM_CONDITIONAL([BUILD_WDCTL], [test "x$build_wdctl" = xyes])
1222 UL_BUILD_INIT([swaplabel], [check])
1223 UL_REQUIRES_BUILD([swaplabel], [libblkid])
1224 AM_CONDITIONAL([BUILD_SWAPLABEL], [test "x$build_swaplabel" = xyes])
1227 UL_BUILD_INIT([mkswap], [yes])
1228 AM_CONDITIONAL([BUILD_MKSWAP], [test "x$build_mkswap" = xyes])
1229 AS_IF([test "x$build_mkswap" = xyes -a "x$build_libuuid" != xyes], [
1230 AC_MSG_WARN([uuid library is not found; mkswap(8) will not generate UUIDs])
1233 UL_BUILD_INIT([cal], [yes])
1234 AM_CONDITIONAL([BUILD_CAL], [test "x$build_cal" = xyes])
1236 UL_BUILD_INIT([logger], [yes])
1237 AM_CONDITIONAL([BUILD_LOGGER], [test "x$build_logger" = xyes])
1239 UL_BUILD_INIT([look], [yes])
1240 AM_CONDITIONAL([BUILD_LOOK], [test "x$build_look" = xyes])
1242 UL_BUILD_INIT([mcookie], [yes])
1243 AM_CONDITIONAL([BUILD_MCOOKIE], [test "x$build_mcookie" = xyes])
1245 UL_BUILD_INIT([namei], [yes])
1246 AM_CONDITIONAL([BUILD_NAMEI], [test "x$build_namei" = xyes])
1248 UL_BUILD_INIT([whereis], [yes])
1249 AM_CONDITIONAL([BUILD_WHEREIS], [test "x$build_whereis" = xyes])
1251 UL_BUILD_INIT([getopt], [yes])
1252 AM_CONDITIONAL([BUILD_GETOPT], [test "x$build_getopt" = xyes])
1255 UL_BUILD_INIT([blockdev], [check])
1256 UL_REQUIRES_LINUX([blockdev])
1257 AM_CONDITIONAL([BUILD_BLOCKDEV], [test "x$build_blockdev" = xyes])
1260 UL_BUILD_INIT([prlimit], [check])
1261 UL_REQUIRES_LINUX([prlimit])
1262 UL_REQUIRES_BUILD([prlimit], [libsmartcols])
1263 UL_REQUIRES_SYSCALL_CHECK([prlimit], [UL_CHECK_SYSCALL([prlimit64])], [prlimit64])
1264 AM_CONDITIONAL([BUILD_PRLIMIT], [test "x$build_prlimit" = xyes])
1265 AS_IF([test "x$build_prlimit" = xyes], [
1266 AC_CHECK_FUNCS([prlimit])
1270 UL_BUILD_INIT([lslocks], [check])
1271 UL_REQUIRES_LINUX([lslocks])
1272 UL_REQUIRES_BUILD([lslocks], [libmount])
1273 UL_REQUIRES_BUILD([lslocks], [libsmartcols])
1274 AM_CONDITIONAL([BUILD_LSLOCKS], [test "x$build_lslocks" = xyes])
1277 AC_ARG_ENABLE([switch_root],
1278 AS_HELP_STRING([--disable-switch_root], [do not build switch_root]),
1279 [], [UL_DEFAULT_ENABLE([switch_root], [check])]
1281 UL_BUILD_INIT([switch_root])
1282 UL_REQUIRES_LINUX([switch_root])
1283 UL_REQUIRES_HAVE([switch_root], [openat], [openat function])
1284 AM_CONDITIONAL([BUILD_SWITCH_ROOT], [test "x$build_switch_root" = xyes])
1287 AC_ARG_ENABLE([pivot_root],
1288 AS_HELP_STRING([--disable-pivot_root], [do not build pivot_root]),
1289 [], [UL_DEFAULT_ENABLE([pivot_root], [check])]
1291 UL_BUILD_INIT([pivot_root])
1292 UL_REQUIRES_LINUX([pivot_root])
1293 UL_REQUIRES_SYSCALL_CHECK([pivot_root], [UL_CHECK_SYSCALL([pivot_root])])
1294 AM_CONDITIONAL([BUILD_PIVOT_ROOT], [test "x$build_pivot_root" = xyes])
1297 UL_BUILD_INIT([flock], [yes])
1298 AM_CONDITIONAL([BUILD_FLOCK], [test "x$build_flock" = xyes])
1300 UL_BUILD_INIT([ipcmk], [yes])
1301 AM_CONDITIONAL([BUILD_IPCMK], [test "x$build_ipcmk" = xyes])
1303 UL_BUILD_INIT([ipcrm], [yes])
1304 AM_CONDITIONAL([BUILD_IPCRM], [test "x$build_ipcrm" = xyes])
1306 UL_BUILD_INIT([ipcs], [yes])
1307 AM_CONDITIONAL([BUILD_IPCS], [test "x$build_ipcs" = xyes])
1309 UL_BUILD_INIT([renice], [yes])
1310 AM_CONDITIONAL([BUILD_RENICE], [test "x$build_renice" = xyes])
1312 UL_BUILD_INIT([setsid], [yes])
1313 AM_CONDITIONAL([BUILD_SETSID], [test "x$build_setsid" = xyes])
1315 UL_BUILD_INIT([readprofile], [check])
1316 UL_REQUIRES_LINUX([readprofile])
1317 AM_CONDITIONAL([BUILD_READPROFILE], [test "x$build_readprofile" = xyes])
1319 UL_BUILD_INIT([dmesg], [check])
1320 UL_REQUIRES_LINUX([dmesg])
1321 AM_CONDITIONAL([BUILD_DMESG], [test "x$build_dmesg" = xyes])
1323 UL_BUILD_INIT([ctrlaltdel], [check])
1324 UL_REQUIRES_LINUX([ctrlaltdel])
1325 AM_CONDITIONAL([BUILD_CTRLALTDEL], [test "x$build_ctrlaltdel" = xyes])
1327 UL_BUILD_INIT([fsfreeze], [check])
1328 UL_REQUIRES_LINUX([fsfreeze])
1329 AM_CONDITIONAL([BUILD_FSFREEZE], [test "x$build_fsfreeze" = xyes])
1331 UL_BUILD_INIT([blkdiscard], [check])
1332 UL_REQUIRES_LINUX([blkdiscard])
1333 AM_CONDITIONAL([BUILD_BLKDISCARD], [test "x$build_blkdiscard" = xyes])
1335 UL_BUILD_INIT([ldattach], [check])
1336 UL_REQUIRES_LINUX([ldattach])
1337 AM_CONDITIONAL([BUILD_LDATTACH], [test "x$build_ldattach" = xyes])
1339 UL_BUILD_INIT([rtcwake], [check])
1340 UL_REQUIRES_LINUX([rtcwake])
1341 AM_CONDITIONAL([BUILD_RTCWAKE], [test "x$build_rtcwake" = xyes])
1343 UL_BUILD_INIT([setarch], [check])
1344 UL_REQUIRES_LINUX([setarch])
1345 AM_CONDITIONAL([BUILD_SETARCH], [test "x$build_setarch" = xyes])
1347 UL_BUILD_INIT([script], [yes])
1348 AM_CONDITIONAL([BUILD_SCRIPT], [test "x$build_script" = xyes])
1350 UL_BUILD_INIT([scriptreplay], [yes])
1351 AM_CONDITIONAL([BUILD_SCRIPTREPLAY], [test "x$build_scriptreplay" = xyes])
1353 UL_BUILD_INIT([col], [yes])
1354 AM_CONDITIONAL([BUILD_COL], [test "x$build_col" = xyes])
1356 UL_BUILD_INIT([colcrt], [yes])
1357 AM_CONDITIONAL([BUILD_COLCRT], [test "x$build_colcrt" = xyes])
1359 UL_BUILD_INIT([colrm], [yes])
1360 AM_CONDITIONAL([BUILD_COLRM], [test "x$build_colrm" = xyes])
1362 UL_BUILD_INIT([column], [yes])
1363 AM_CONDITIONAL([BUILD_COLUMN], [test "x$build_column" = xyes])
1365 UL_BUILD_INIT([hexdump], [yes])
1366 AM_CONDITIONAL([BUILD_HEXDUMP], [test "x$build_hexdump" = xyes])
1368 UL_BUILD_INIT([rev], [yes])
1369 AM_CONDITIONAL([BUILD_REV], [test "x$build_rev" = xyes])
1371 UL_BUILD_INIT([tailf], [yes])
1372 AM_CONDITIONAL([BUILD_TAILF], [test "x$build_tailf" = xyes])
1375 AC_ARG_ENABLE([tunelp],
1376 AS_HELP_STRING([--enable-tunelp], [build tunelp]),
1377 [], [UL_DEFAULT_ENABLE([tunelp], [no])]
1379 UL_BUILD_INIT([tunelp])
1380 UL_REQUIRES_LINUX([tunelp])
1381 AM_CONDITIONAL([BUILD_TUNELP], [test "x$build_tunelp" = xyes])
1384 AC_ARG_ENABLE([kill],
1385 AS_HELP_STRING([--disable-kill], [do not build kill]),
1386 [], [UL_DEFAULT_ENABLE([kill], [check])]
1388 UL_BUILD_INIT([kill])
1389 UL_REQUIRES_LINUX([kill])
1390 AM_CONDITIONAL([BUILD_KILL], [test "x$build_kill" = xyes])
1392 dnl Don't use UL_DEFAULT_ENABLE() here, deprecated stuff has to be insensitive
1393 dnl to --enable-all-programs.
1394 AC_ARG_ENABLE([deprecated-last],
1395 AS_HELP_STRING([--enable-deprecated-last], [build old deprecated last]),
1396 [], [enable_deprecated_last=no]
1398 UL_BUILD_INIT([deprecated_last])
1399 AM_CONDITIONAL([BUILD_DEPRECATED_LAST], [test "x$build_deprecated_last" = xyes])
1402 AC_ARG_ENABLE([last],
1403 AS_HELP_STRING([--disable-last], [do not build last]),
1404 [], [UL_DEFAULT_ENABLE([last], [check])]
1406 UL_BUILD_INIT([last])
1407 UL_CONFLICTS_BUILD([last], [deprecated_last], [old deprecated last version])
1408 AM_CONDITIONAL([BUILD_LAST], [test "x$build_last" = xyes])
1411 AC_ARG_ENABLE([utmpdump],
1412 AS_HELP_STRING([--disable-utmpdump], [do not build utmpdump]),
1413 [], [UL_DEFAULT_ENABLE([utmpdump], [yes])]
1415 UL_BUILD_INIT([utmpdump])
1416 AM_CONDITIONAL([BUILD_UTMPDUMP], [test "x$build_utmpdump" = xyes])
1419 AC_ARG_ENABLE([line],
1420 AS_HELP_STRING([--enable-line], [build line]),
1421 [], [UL_DEFAULT_ENABLE([line], [no])]
1423 UL_BUILD_INIT([line])
1424 AM_CONDITIONAL([BUILD_LINE], [test "x$build_line" = xyes])
1427 AC_ARG_ENABLE([mesg],
1428 AS_HELP_STRING([--disable-mesg], [do not build mesg]),
1429 [], [UL_DEFAULT_ENABLE([mesg], [yes])]
1431 UL_BUILD_INIT([mesg])
1432 AM_CONDITIONAL([BUILD_MESG], [test "x$build_mesg" = xyes])
1435 AC_ARG_ENABLE([raw],
1436 AS_HELP_STRING([--disable-raw], [do not build raw]),
1437 [], [UL_DEFAULT_ENABLE([raw], [check])]
1439 UL_BUILD_INIT([raw])
1440 UL_REQUIRES_LINUX([raw])
1441 UL_REQUIRES_HAVE([raw], [linux_raw_h], [raw.h header file])
1442 AM_CONDITIONAL([BUILD_RAW], [test "x$build_raw" = xyes])
1445 AC_ARG_ENABLE([rename],
1446 AS_HELP_STRING([--disable-rename], [do not build rename]),
1447 [], [UL_DEFAULT_ENABLE([rename], [yes])]
1449 UL_BUILD_INIT([rename])
1450 AM_CONDITIONAL([BUILD_RENAME], [test "x$build_rename" = xyes])
1453 AC_ARG_ENABLE([reset],
1454 AS_HELP_STRING([--enable-reset], [build reset]),
1455 [], [UL_DEFAULT_ENABLE([reset], [no])]
1457 UL_BUILD_INIT([reset])
1458 AM_CONDITIONAL([BUILD_RESET], [test "x$build_reset" = xyes])
1461 AC_ARG_ENABLE([vipw],
1462 AS_HELP_STRING([--enable-vipw], [build vipw]),
1463 [], [UL_DEFAULT_ENABLE([vipw], [no])]
1465 UL_BUILD_INIT([vipw])
1466 AM_CONDITIONAL([BUILD_VIPW], [test "x$build_vipw" = xyes])
1469 AC_ARG_ENABLE([newgrp],
1470 AS_HELP_STRING([--enable-newgrp], [build newgrp]),
1471 [], [UL_DEFAULT_ENABLE([newgrp], [no])]
1473 UL_BUILD_INIT([newgrp])
1474 AM_CONDITIONAL([BUILD_NEWGRP], [test "x$build_newgrp" = xyes])
1477 AC_ARG_WITH([user], AS_HELP_STRING([--without-user], [compile without libuser (remote chsh)]),
1478 [], [with_user=check]
1481 AS_IF([test "x$with_user" != xno], [
1482 PKG_CHECK_MODULES(LIBUSER,[libuser >= 0.58], [have_user=yes], [have_user=no])
1483 AS_CASE([$with_user:$have_user],
1485 [AC_MSG_ERROR([user selected but libuser not found])],
1487 [AC_DEFINE([HAVE_LIBUSER], [1], [Define if libuser is available])]
1489 # temporary solution, libuser has stupid .pc where are exported all
1490 # private dependencies to Requires: instead of Requires.private:
1491 AS_IF([test "x$have_user" = xyes], [
1495 AM_CONDITIONAL([HAVE_USER], [test "x$have_user" = xyes])
1497 AC_ARG_ENABLE([chfn-chsh-password],
1498 AS_HELP_STRING([--disable-chfn-chsh-password], [do not require the user to enter the password in chfn and chsh]),
1499 [], [enable_chfn_chsh_password=yes]
1502 AC_ARG_ENABLE([chfn-chsh],
1503 AS_HELP_STRING([--enable-chfn-chsh], [build chfn and chsh]),
1504 [], [UL_DEFAULT_ENABLE([chfn_chsh], [check])]
1506 UL_BUILD_INIT([chfn_chsh])
1508 AS_IF([test "x$enable_chfn_chsh_password" = xyes -o "x$have_user" = xyes], [
1509 UL_REQUIRES_HAVE([chfn_chsh], [security_pam_appl_h], [PAM header file])
1510 AC_DEFINE([CHFN_CHSH_PASSWORD], [1], [Should chfn and chsh require the user to enter the password?])
1512 AM_CONDITIONAL([BUILD_CHFN_CHSH], [test "x$build_chfn_chsh" = xyes])
1513 AM_CONDITIONAL([CHFN_CHSH_PASSWORD], [test "x$enable_chfn_chsh_password" = xyes])
1515 AC_ARG_ENABLE([chsh-only-listed],
1516 AS_HELP_STRING([--disable-chsh-only-listed], [chsh: allow shells not in /etc/shells]),
1517 [], enable_chsh_only_listed=yes
1520 AS_IF([test "x$enable_chsh_only_listed" = xyes], [
1521 AC_DEFINE([ONLY_LISTED_SHELLS], [1], [Should chsh allow only shells in /etc/shells?])
1525 AC_ARG_ENABLE([login],
1526 AS_HELP_STRING([--disable-login], [do not build login]),
1527 [], [UL_DEFAULT_ENABLE([login], [check])]
1529 UL_BUILD_INIT([login])
1530 UL_REQUIRES_HAVE([login], [security_pam_appl_h], [PAM header file])
1531 UL_REQUIRES_HAVE([login], [security_pam_misc_h, security_openpam_h], [PAM conversation functions])
1532 AM_CONDITIONAL([BUILD_LOGIN], [test "x$build_login" = xyes])
1534 AC_ARG_ENABLE([login-chown-vcs],
1535 AS_HELP_STRING([--enable-login-chown-vcs], [let login chown /dev/vcsN]),
1536 [], [enable_login_chown_vcs=no]
1539 AS_IF([test "x$enable_login_chown_vcs" = xyes], [
1540 AC_DEFINE([LOGIN_CHOWN_VCS], [1], [Should login chown /dev/vcsN?])
1543 AC_ARG_ENABLE([login-stat-mail],
1544 AS_HELP_STRING([--enable-login-stat-mail], [let login stat() the mailbox]),
1545 [], [enable_login_stat_mail=no]
1548 AS_IF([test "x$enable_login_stat_mail" = xyes], [
1549 AC_DEFINE([LOGIN_STAT_MAIL], [1], [Should login stat() the mailbox?])
1553 AC_ARG_ENABLE([nologin],
1554 AS_HELP_STRING([--disable-nologin], [do not build nologin]),
1555 [], [UL_DEFAULT_ENABLE([nologin], [yes])]
1557 UL_BUILD_INIT([nologin])
1558 AM_CONDITIONAL([BUILD_NOLOGIN], [test "x$build_nologin" = xyes])
1561 AC_ARG_ENABLE([sulogin],
1562 AS_HELP_STRING([--disable-sulogin], [do not build sulogin]),
1563 [], [UL_DEFAULT_ENABLE([sulogin], [yes])]
1565 UL_BUILD_INIT([sulogin])
1566 AM_CONDITIONAL([BUILD_SULOGIN], [test "x$build_sulogin" = xyes])
1570 AS_HELP_STRING([--disable-su], [do not build su]),
1571 [], [UL_DEFAULT_ENABLE([su], [check])]
1574 UL_REQUIRES_HAVE([su], [security_pam_appl_h], [PAM header file])
1575 AM_CONDITIONAL([BUILD_SU], [test "x$build_su" = xyes])
1578 AC_ARG_ENABLE([runuser],
1579 AS_HELP_STRING([--disable-runuser], [do not build runuser]),
1580 [], [UL_DEFAULT_ENABLE([runuser], [check])]
1582 UL_BUILD_INIT([runuser])
1583 UL_REQUIRES_HAVE([runuser], [security_pam_appl_h], [PAM header file])
1584 AM_CONDITIONAL([BUILD_RUNUSER], [test "x$build_runuser" = xyes])
1588 AS_HELP_STRING([--disable-ul], [do not build ul]),
1589 [], [UL_DEFAULT_ENABLE([ul], [check])]
1592 UL_REQUIRES_HAVE([ul], [ncurses, tinfo], [ncurses or tinfo libraries])
1593 AM_CONDITIONAL([BUILD_UL], [test "x$build_ul" = xyes])
1596 AC_ARG_ENABLE([more],
1597 AS_HELP_STRING([--disable-more], [do not build more]),
1598 [], [UL_DEFAULT_ENABLE([more], [check])]
1600 UL_BUILD_INIT([more])
1601 UL_REQUIRES_HAVE([more], [ncurses, tinfo, termcap], [ncurses, tinfo or termcap libraries])
1602 AM_CONDITIONAL([BUILD_MORE], [test "x$build_more" = xyes])
1606 AS_HELP_STRING([--disable-pg], [do not build pg]),
1607 [], [UL_DEFAULT_ENABLE([pg], [check])]
1610 UL_REQUIRES_HAVE([pg], [ncurses], [ncurses or ncursesw library])
1611 AM_CONDITIONAL([BUILD_PG], [test "x$build_pg" = xyes])
1614 AC_ARG_ENABLE([setterm],
1615 AS_HELP_STRING([--disable-setterm], [do not build setterm]),
1616 [], [UL_DEFAULT_ENABLE([setterm], [check])]
1618 UL_BUILD_INIT([setterm])
1619 UL_REQUIRES_LINUX([setterm])
1620 UL_REQUIRES_HAVE([setterm], [ncurses], [ncurses library])
1621 AM_CONDITIONAL([BUILD_SETTERM], [test "x$build_setterm" = xyes])
1623 # build_schedutils= is just configure-only variable to control
1624 # ionice, taskset and chrt
1625 AC_ARG_ENABLE([schedutils],
1626 AS_HELP_STRING([--disable-schedutils], [do not build chrt, ionice, taskset]),
1627 [], [UL_DEFAULT_ENABLE([schedutils], [yes])]
1629 UL_BUILD_INIT([schedutils])
1631 UL_BUILD_INIT([ionice], [check])
1632 UL_REQUIRES_BUILD([ionice], [schedutils])
1633 UL_REQUIRES_SYSCALL_CHECK([ionice],
1634 [UL_CHECK_SYSCALL([ioprio_set],
1645 UL_REQUIRES_SYSCALL_CHECK([ionice],
1646 [UL_CHECK_SYSCALL([ioprio_get],
1657 AM_CONDITIONAL([BUILD_IONICE], [test "x$build_ionice" = xyes])
1659 UL_BUILD_INIT([taskset], [check])
1660 UL_REQUIRES_BUILD([taskset], [schedutils])
1661 UL_REQUIRES_HAVE([taskset], [cpu_set_t], [cpu_set_t type])
1662 UL_REQUIRES_SYSCALL_CHECK([taskset],
1663 [UL_CHECK_SYSCALL([sched_getaffinity])],
1664 [sched_getaffinity])
1665 AM_CONDITIONAL([BUILD_TASKSET], [test "x$build_taskset" = xyes])
1667 UL_BUILD_INIT([chrt], [check])
1668 UL_REQUIRES_BUILD([chrt], [schedutils])
1669 AM_CONDITIONAL([BUILD_CHRT], [test "x$build_chrt" = xyes])
1672 AC_ARG_ENABLE([wall],
1673 AS_HELP_STRING([--disable-wall], [do not build wall]),
1674 [], [UL_DEFAULT_ENABLE([wall], [yes])]
1676 UL_BUILD_INIT([wall])
1677 AM_CONDITIONAL([BUILD_WALL], [test "x$build_wall" = xyes])
1680 AC_ARG_ENABLE([write],
1681 AS_HELP_STRING([--enable-write], [build write]),
1682 [], [UL_DEFAULT_ENABLE([write], [no])]
1684 UL_BUILD_INIT([write])
1685 AM_CONDITIONAL([BUILD_WRITE], [test "x$build_write" = xyes])
1688 AC_ARG_WITH([systemd],
1689 AS_HELP_STRING([--with-systemd], [build with support for systemd]),
1690 [], [with_systemd=check]
1694 AS_IF([test "x$with_systemd" != xno], [
1695 # new version -- all libsystemd-* libs merged into libsystemd
1696 PKG_CHECK_MODULES([SYSTEMD], [libsystemd], [have_systemd=yes], [have_systemd=no])
1698 AS_IF([test "x$have_systemd" != "xyes"], [
1699 PKG_CHECK_MODULES([SYSTEMD_DAEMON], [libsystemd-daemon],
1700 [have_systemd_daemon=yes], [have_systemd_daemon=no])
1701 PKG_CHECK_MODULES([SYSTEMD_JOURNAL], [libsystemd-journal],
1702 [have_systemd_journal=yes], [have_systemd_journal=no])
1703 AS_IF([test "x$have_systemd_daemon" = "xyes" -a "x$have_systemd_journal" = "xyes" ],[
1706 AS_CASE([$with_systemd:$have_systemd],
1708 [AC_MSG_ERROR([systemd expected but libsystemd not found])],
1710 AC_DEFINE([HAVE_LIBSYSTEMD], [1], [Define if libsystemd is available])
1713 AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$have_systemd" = xyes])
1716 AC_ARG_WITH([systemdsystemunitdir],
1717 AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [directory for systemd service files]),
1718 [], [with_systemdsystemunitdir=`$PKG_CONFIG --variable=systemdsystemunitdir systemd`])
1720 AS_IF([test "x$with_systemdsystemunitdir" != "xno"], [
1721 AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
1725 AC_ARG_WITH([smack],
1726 AS_HELP_STRING([--with-smack], [build with SMACK support]),
1729 AS_IF([test "x$with_smack" = xyes], [
1730 AC_DEFINE([HAVE_SMACK], [1], [Add SMACK support])
1734 AC_ARG_WITH([bashcompletiondir],
1735 AS_HELP_STRING([--with-bashcompletiondir=DIR], [Bash completions directory]),
1737 [AS_IF([`$PKG_CONFIG --exists bash-completion`], [
1738 with_bashcompletiondir=`$PKG_CONFIG --variable=completionsdir bash-completion`
1740 with_bashcompletiondir=${datadir}/bash-completion/completions
1743 AC_SUBST([bashcompletiondir], [$with_bashcompletiondir])
1745 AC_ARG_ENABLE([bash-completion],
1746 AS_HELP_STRING([--disable-bash-completion], [do not install bash completion files]),
1747 [], [enable_bash_completion=yes]
1750 AM_CONDITIONAL([BUILD_BASH_COMPLETION], [test "x$enable_bash_completion" = xyes])
1753 AC_ARG_WITH([python],
1754 AS_HELP_STRING([--without-python], [do not build python bindings, use --with-python={2,3} to force version]),
1755 [], [with_python=check withval=check]
1759 AS_IF([test "x$with_python" != xno], [
1760 # We follow distributions default and look for PKG module name "python"
1761 # (minimal version is 2) but if major version is explicitly specified by
1762 # --with-python=2 or --with-python=3 then we look for PKG module "python2" or
1764 AS_IF([test "x$withval" != xno -a "x$withval" != xyes -a "x$withval" != xcheck],
1765 [pymajor="$withval"; PYTHON=python${pymajor}], [pymajor="2"])
1766 AM_PATH_PYTHON([$pymajor], [have_python=yes], [have_python=no])
1767 AS_CASE([$with_python:$have_python],
1769 [AC_MSG_ERROR([python selected but libpython not found])],
1771 [AC_MSG_WARN([libpython not found, do not build python bindings])],
1773 [PKG_CHECK_MODULES([PYTHON], [python-$PYTHON_VERSION])]
1778 AC_ARG_ENABLE([pylibmount],
1779 AS_HELP_STRING([--disable-pylibmount], [do not build pylibmount]),
1780 [], [UL_DEFAULT_ENABLE([pylibmount], [check])]
1782 UL_BUILD_INIT([pylibmount])
1783 UL_REQUIRES_HAVE([pylibmount], [python], [libpython])
1784 UL_REQUIRES_BUILD([pylibmount], [libmount])
1785 AM_CONDITIONAL([BUILD_PYLIBMOUNT], [test "x$build_pylibmount" = "xyes"])
1788 AC_ARG_ENABLE([pg-bell],
1789 AS_HELP_STRING([--disable-pg-bell], [let pg not ring the bell on invalid keys]),
1790 [], [enable_pg_bell=yes]
1793 AS_IF([test "x$enable_pg_bell" = xyes], [
1794 AC_DEFINE([PG_BELL], [1], [Should pg ring the bell on invalid keys?])
1798 AC_DEFUN([FS_PATHS_DEFAULT], [/sbin:/sbin/fs.d:/sbin/fs])
1799 AC_ARG_ENABLE([fs-paths-default],
1800 AS_HELP_STRING([--enable-fs-paths-default=paths], [default search path for fs helpers @<:@FS_PATHS_DEFAULT@:>@]),
1801 [AS_CASE([$enableval],
1802 [yes], [fs_paths_defaults="FS_PATHS_DEFAULT"],
1803 [no], [fs_paths_defaults=""],
1804 [fs_paths_defaults="$enableval"]
1806 [fs_paths_defaults="FS_PATHS_DEFAULT"]
1808 AC_ARG_ENABLE([fs-paths-extra],
1809 AS_HELP_STRING([--enable-fs-paths-extra=paths], [additional search paths for fs helpers]),
1810 [AS_CASE([$enableval],
1811 [yes|no], [fs_paths_extra=""],
1812 [fs_paths_extra="$enableval"]
1816 fs_paths="$fs_paths_defaults"
1817 AS_IF([test "x$fs_paths_extra" != "x"], [
1818 AS_IF([test "x$fs_paths" != "x"], [
1819 fs_paths="${fs_paths}:"
1821 fs_paths="${fs_paths}${fs_paths_extra}"
1823 AC_DEFINE_UNQUOTED([FS_SEARCH_PATH], "$fs_paths", [search path for fs helpers])
1826 AC_ARG_ENABLE([use-tty-group],
1827 AS_HELP_STRING([--disable-use-tty-group], [do not install wall and write setgid tty]),
1828 [], [enable_use_tty_group=yes]
1830 AM_CONDITIONAL([USE_TTY_GROUP], [test "x$enable_use_tty_group" = xyes])
1832 AS_IF([test "x$enable_use_tty_group" = xyes], [
1833 AC_DEFINE([USE_TTY_GROUP], [1], [Should wall and write be installed setgid tty?])
1837 AC_ARG_ENABLE([sulogin-emergency-mount],
1838 AS_HELP_STRING([--enable-sulogin-emergency-mount],
1839 [use emergency mount of /dev and /proc for sulogin]),
1840 [], [enable_sulogin_emergency_mount=no]
1843 AS_IF([test "x$enable_sulogin_emergency_mount" = xyes], [
1844 AC_DEFINE([USE_SULOGIN_EMERGENCY_MOUNT], [1],
1845 [Should sulogin use a emergency mount of /dev and /proc?])
1849 AC_ARG_ENABLE([usrdir-path],
1850 AS_HELP_STRING([--enable-usrdir-path], [use only /usr paths in PATH env. variable (recommended on systems with /bin -> /usr/bin symlinks)]),
1851 [], [enable_usrdir_path=no]
1854 AS_IF([test "x$enable_usrdir_path" == xyes], [
1855 AC_DEFINE([USE_USRDIR_PATHS_ONLY], [1], [Define to 1 to remove /bin and /sbin from PATH env.variable])
1859 AC_ARG_ENABLE([makeinstall-chown],
1860 AS_HELP_STRING([--disable-makeinstall-chown], [do not do chown-like operations during "make install"]),
1861 [], [enable_makeinstall_chown=yes]
1863 AM_CONDITIONAL([MAKEINSTALL_DO_CHOWN], [test "x$enable_makeinstall_chown" = xyes])
1866 AC_ARG_ENABLE([makeinstall-setuid],
1867 AS_HELP_STRING([--disable-makeinstall-setuid], [do not do setuid chmod operations during "make install"]),
1868 [], [enable_makeinstall_setuid=yes]
1870 AM_CONDITIONAL([MAKEINSTALL_DO_SETUID], [test "x$enable_makeinstall_setuid" = xyes])
1873 AC_ARG_ENABLE([colors-default],
1874 AS_HELP_STRING([--disable-colors-default], [do not colorize output from utils by default]),
1875 [], [enable_colors_default=yes]
1877 AS_IF([test "x$enable_colors_default" = xyes], [
1878 AC_DEFINE([USE_COLORS_BY_DEFAULT], [1], [Enables colorized output from utils by default])
1882 AC_ARG_VAR([SUID_CFLAGS],
1883 [CFLAGS used for binaries which are usually with the suid bit])
1884 AC_ARG_VAR([SUID_LDFLAGS],
1885 [LDFLAGS used for binaries which are usually with the suid bit])
1887 AC_ARG_VAR([DAEMON_CFLAGS],
1888 [CFLAGS used for binaries which are usually executed as daemons])
1889 AC_ARG_VAR([DAEMON_LDFLAGS],
1890 [LDFLAGS used for binaries which are usually executed as daemons])
1892 AC_ARG_VAR([SOLIB_CFLAGS],
1893 [CFLAGS used for shared libraries])
1894 AC_ARG_VAR([SOLIB_LDFLAGS],
1895 [LDFLAGS used for shared libraries])
1897 AC_ARG_VAR([ADJTIME_PATH],
1898 [Path to hwclock adjtime file, default /etc/adjtime])
1899 AS_IF([test "x$ADJTIME_PATH" = x], [ADJTIME_PATH="/etc/adjtime"])
1900 AC_DEFINE_UNQUOTED([CONFIG_ADJTIME_PATH], "$ADJTIME_PATH", [Path to hwclock adjtime file])
1906 AC_CONFIG_HEADERS([config.h])
1909 # Don't use configure.ac to replace install paths! See Makefile PATHFILES for
1914 libblkid/docs/Makefile
1915 libblkid/docs/version.xml
1916 libblkid/src/blkid.h
1917 libfdisk/docs/Makefile
1918 libfdisk/docs/version.xml
1919 libfdisk/src/libfdisk.h
1920 libmount/docs/Makefile
1921 libmount/docs/version.xml
1922 libmount/src/libmount.h
1923 libsmartcols/docs/Makefile
1924 libsmartcols/docs/version.xml
1925 libsmartcols/src/libsmartcols.h
1932 ${PACKAGE} ${VERSION}
1935 exec prefix: ${exec_prefix}
1937 localstatedir: ${localstatedir}
1941 includedir: ${includedir}
1942 usrbin_execdir: ${usrbin_execdir}
1943 usrsbin_execdir: ${usrsbin_execdir}
1944 usrlib_execdir: ${usrlib_execdir}
1948 suid cflags: ${SUID_CFLAGS}
1950 suid ldflags: ${SUID_LDFLAGS}
1953 Python version: ${PYTHON_VERSION}
1954 Python libs: ${pyexecdir}
1956 Bash completions: ${with_bashcompletiondir}
1957 Systemd support: ${have_systemd}
1963 Type 'make' or 'make <utilname>' to compile.