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="24-Aug-2015"
33 LIBBLKID_VERSION_INFO=`expr $LIBBLKID_LT_MAJOR + $LIBBLKID_LT_MINOR`:$LIBBLKID_LT_MICRO:$LIBBLKID_LT_MINOR
36 LIBUUID_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
40 LIBUUID_VERSION_INFO=`expr $LIBUUID_LT_MAJOR + $LIBUUID_LT_MINOR`:$LIBUUID_LT_MICRO:$LIBUUID_LT_MINOR
43 LIBMOUNT_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
47 LIBMOUNT_VERSION_INFO=`expr $LIBMOUNT_LT_MAJOR + $LIBMOUNT_LT_MINOR`:$LIBMOUNT_LT_MICRO:$LIBMOUNT_LT_MINOR
49 dnl libsmartcols version
50 LIBSMARTCOLS_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
51 LIBSMARTCOLS_LT_MAJOR=1
52 LIBSMARTCOLS_LT_MINOR=1
53 LIBSMARTCOLS_LT_MICRO=0
54 LIBSMARTCOLS_VERSION_INFO=`expr $LIBSMARTCOLS_LT_MAJOR + $LIBSMARTCOLS_LT_MINOR`:$LIBSMARTCOLS_LT_MICRO:$LIBSMARTCOLS_LT_MINOR
57 LIBFDISK_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
61 LIBFDISK_VERSION_INFO=`expr $LIBFDISK_LT_MAJOR + $LIBFDISK_LT_MINOR`:$LIBFDISK_LT_MICRO:$LIBFDISK_LT_MINOR
63 # Check whether exec_prefix=/usr:
64 AS_CASE([$exec_prefix:$prefix],
65 [NONE:NONE | NONE:/usr | /usr:*],
66 [AC_MSG_NOTICE([Default --exec-prefix detected.])
67 AS_CASE([$bindir], ['${exec_prefix}/bin'], [bindir=/bin; AC_MSG_NOTICE([ --bindir defaults to /bin]) ])
68 AS_CASE([$sbindir], ['${exec_prefix}/sbin'], [sbindir=/sbin; AC_MSG_NOTICE([ --sbindir defaults to /sbin])])
69 AS_CASE([$libdir], ['${exec_prefix}/lib'], [libdir=/lib; AC_MSG_NOTICE([ --libdir defaults to /lib]) ])
73 AS_CASE([$prefix:$localstatedir],
74 [NONE:'${prefix}/var' | /usr:'${prefix}/var'],
76 AC_MSG_NOTICE([ --localstatedir defaults to /run])
79 AC_SUBST([localstatedir])
82 # The original default values of {bin,sbin,lib}dir
83 usrbin_execdir='${exec_prefix}/bin'
84 AC_SUBST([usrbin_execdir])
86 usrsbin_execdir='${exec_prefix}/sbin'
87 AC_SUBST([usrsbin_execdir])
90 ['${exec_prefix}/'* | '${prefix}/'* | /usr/* | "${prefix}"/* ],
91 [usrlib_execdir=$libdir],
92 [usrlib_execdir='${exec_prefix}'$libdir]
94 AC_SUBST([usrlib_execdir])
104 dnl Compiler warnings
105 UL_WARN_ADD([-fno-common])
107 UL_WARN_ADD([-Werror=sequence-point])
108 UL_WARN_ADD([-Wextra])
109 UL_WARN_ADD([-Wextra-semi])
110 UL_WARN_ADD([-Wembedded-directive])
111 UL_WARN_ADD([-Wmissing-declarations])
112 UL_WARN_ADD([-Wmissing-parameter-type])
113 UL_WARN_ADD([-Wmissing-prototypes])
114 UL_WARN_ADD([-Wno-missing-field-initializers])
115 UL_WARN_ADD([-Wredundant-decls])
116 UL_WARN_ADD([-Wsign-compare])
117 UL_WARN_ADD([-Wtype-limits])
118 UL_WARN_ADD([-Wuninitialized])
119 UL_WARN_ADD([-Wunused-but-set-parameter])
120 UL_WARN_ADD([-Wunused-but-set-variable])
121 UL_WARN_ADD([-Wunused-parameter])
122 UL_WARN_ADD([-Wunused-result])
123 UL_WARN_ADD([-Wunused-variable])
124 UL_WARN_ADD([-Wnested-externs])
125 UL_WARN_ADD([-Wpointer-arith])
126 UL_WARN_ADD([-Wstrict-prototypes])
127 UL_WARN_ADD([-Wformat-security])
128 UL_WARN_ADD([-Wimplicit-function-declaration])
129 AC_SUBST([WARN_CFLAGS])
131 UL_WARN_ADD([-Wno-clobbered], [BSD_WARN_CFLAGS])
132 AC_SUBST([BSD_WARN_CFLAGS])
137 m4_ifndef([PKG_PROG_PKG_CONFIG],
138 [m4_fatal([Could not locate the pkg-config autoconf
139 macros. These are usually located in /usr/share/aclocal/pkg.m4.
140 If your macros are in a different location, try setting the
141 environment variable AL_OPTS="-I/other/macro/dir" before running
142 ./autogen.sh or autoreconf again.])])
145 GTK_DOC_CHECK([1.10])
146 AC_PATH_PROG([XSLTPROC], [xsltproc])
151 AS_CASE([${host_os}],
156 AM_CONDITIONAL([LINUX], [test "x$linux_os" = xyes])
157 AM_CONDITIONAL([BSD], [test "x$bsd_os" = xyes])
160 dnl define ARCH_<NAME> conditionals
161 UL_SET_ARCH([I86], [i?86-*])
162 UL_SET_ARCH([86_64], [x86_64*])
163 UL_SET_ARCH([IA64], [ia64*])
164 UL_SET_ARCH([S390], [s390*])
165 UL_SET_ARCH([SPARC], [sparc*])
166 UL_SET_ARCH([PPC], [ppc*|powerpc*])
167 UL_SET_ARCH([M68K], [m68*])
168 UL_SET_ARCH([MIPS], [mips*])
169 UL_SET_ARCH([HPPA], [hppa*])
174 dnl Don't forget to maintain alternatively allowed versions in autogen.sh!
175 AM_GNU_GETTEXT_VERSION([0.18.3])
176 AM_GNU_GETTEXT([external])
178 AS_IF([test -d "$srcdir/po"], [
179 ALL_LINGUAS=`cd $srcdir/po > /dev/null && echo *.po | sed 's/\.po//g'`
181 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"
184 AC_CHECK_HEADERS([linux/compiler.h linux/blkpg.h linux/major.h], [], [], [
185 #ifdef HAVE_LINUX_COMPILER_H
186 #include <linux/compiler.h>
212 security/pam_appl.h \
243 AC_CHECK_HEADERS([security/pam_misc.h],
244 [AM_CONDITIONAL([HAVE_LINUXPAM], [true])],
245 [AM_CONDITIONAL([HAVE_LINUXPAM], [false])], [
246 #ifdef HAVE_SECURITY_PAM_APPL_H
247 #include <security/pam_appl.h>
251 AC_CHECK_HEADERS([security/openpam.h], [], [], [
252 #ifdef HAVE_SECURITY_PAM_APPL_H
253 #include <security/pam_appl.h>
257 AC_CHECK_HEADERS([langinfo.h],
258 [AM_CONDITIONAL([HAVE_LANGINFO], [true])],
259 [AM_CONDITIONAL([HAVE_LANGINFO], [false])])
261 dnl Convert some ac_cv_header_* variables to have_*
263 have_linux_raw_h=$ac_cv_header_linux_raw_h
264 have_linux_securebits_h=$ac_cv_header_linux_securebits_h
265 have_linux_watchdog_h=$ac_cv_header_linux_watchdog_h
266 have_security_pam_appl_h=$ac_cv_header_security_pam_appl_h
267 have_security_pam_misc_h=$ac_cv_header_security_pam_misc_h
268 have_security_openpam_h=$ac_cv_header_security_openpam_h
270 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
275 struct tm *tm = localtime(0);
276 if (a == -1) /* false */
277 sleep(tm->tm_gmtoff);
279 [AC_DEFINE([HAVE_TM_GMTOFF], [1], [Does struct tm have a field tm_gmtoff?])
282 AC_CHECK_MEMBERS([struct termios.c_line],,,
283 [[#include <termios.h>]])
285 AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec],,,
286 [#include <sys/stat.h>])
288 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
290 #ifdef HAVE_SYS_SWAP_H
291 # include <sys/swap.h>
295 [[swapon("/dev/null", 0);]])],
296 [AC_DEFINE([SWAPON_HAS_TWO_ARGS], [1], [Is swapon() declared with two parameters?])
298 [AC_MSG_NOTICE([Your libc thinks that swapon has 1 arg only.])
302 AC_CHECK_DECLS([_NL_TIME_WEEK_1STDAY],[],[],[[#include <langinfo.h>]])
304 AC_CHECK_DECL([llseek],
305 [AC_DEFINE([HAVE_LLSEEK_PROTOTYPE], [1],
306 [Define to 1 if have llseek prototype])],
308 [#include <unistd.h>])
310 AC_CHECK_DECL([lseek64],
311 [AC_DEFINE([HAVE_LSEEK64_PROTOTYPE], [1],
312 [Define to 1 if have lseek64 prototype])],
314 [#define _LARGEFILE_SOURCE
315 #define _LARGEFILE64_SOURCE
316 #include <unistd.h>])
318 AC_CHECK_DECL([environ],
319 [AC_DEFINE([HAVE_ENVIRON_DECL], [1],
320 [Define to 1 if have **environ prototype])],
323 AC_CHECK_DECL([strsignal],
324 [AC_DEFINE([HAVE_STRSIGNAL_DECL], [1],
325 [Define to 1 if have strsignal function prototype])],
372 AC_CHECK_FUNCS([openat fstatat unlinkat], [have_openat=yes], [have_openat=no])
373 AC_CHECK_FUNCS([ioperm iopl], [have_io=yes])
374 AC_CHECK_FUNCS([futimens], [have_futimens=yes])
375 AC_CHECK_FUNCS([inotify_init1], [have_inotify_init1=yes])
376 AC_CHECK_FUNCS([open_memstream], [have_open_memstream=yes],[have_open_memstream=no])
378 dnl lib/mononotic.c may require -lrt
379 AC_CHECK_FUNCS([clock_gettime], [],
380 [AC_CHECK_LIB([rt], [clock_gettime], [REALTIME_LIBS="-lrt"])]
382 AC_SUBST([REALTIME_LIBS])
385 AC_CHECK_FUNCS([timer_createx],
387 [AC_CHECK_LIB([rt], [timer_create], [
394 AC_CHECK_MEMBER([struct sockaddr.sa_len],
395 AC_DEFINE_UNQUOTED([HAVE_SA_LEN], [1], [Define if struct sockaddr contains sa_len]), [],
396 [#include <sys/types.h>
397 #include <sys/socket.h>])
400 AC_SEARCH_LIBS([socket], [socket],
401 [AS_IF([test x"$ac_cv_search_socket" != x"none required"],
402 [SOCKET_LIBS="$SOCKET_LIBS -lsocket"])
404 AC_SUBST([SOCKET_LIBS])
408 AC_CHECK_FUNCS([dirfd], [have_dirfd=yes], [have_dirfd=no])
409 AS_IF([test x"$have_dirfd" = xno], [
410 AC_CHECK_DECLS([dirfd],
411 [have_dirfd=yes], [have_dirfd=no],
412 [#include <sys/types.h>
413 #include <dirent.h>])
417 AS_IF([test x"$have_dirfd" = xno], [
418 AC_CHECK_MEMBERS([DIR.dd_fd],
419 [have_ddfd=yes], [have_ddfd=no],
420 [#include <sys/types.h>
421 #include <dirent.h>])
424 AS_CASE([$have_dirfd:$have_ddfd],
426 [AC_MSG_ERROR([cannot find a method to get filedescriptor of directory])]
430 AC_MSG_CHECKING([whether program_invocation_short_name is defined])
431 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
434 program_invocation_short_name = "test";
437 AC_DEFINE([HAVE_PROGRAM_INVOCATION_SHORT_NAME], [1],
438 [Define if program_invocation_short_name is defined])
444 AC_MSG_CHECKING([whether __progname is defined])
445 AC_LINK_IFELSE([AC_LANG_PROGRAM([extern char *__progname;],
446 [if (*__progname == 0) return;])],
447 AC_DEFINE([HAVE___PROGNAME], [1], [Define if __progname is defined])
448 AC_MSG_RESULT([yes]),
451 dnl Static compilation
452 m4_define([UL_STATIC_PROGRAMS], [losetup, mount, umount, fdisk, sfdisk, blkid, nsenter, unshare])
454 AC_ARG_ENABLE([static-programs],
455 [AS_HELP_STRING([--enable-static-programs=LIST],
456 [link static the programs in LIST (comma-separated,
457 supported for ]m4_defn([UL_STATIC_PROGRAMS])[)])])
459 AS_CASE([$enable_static_programs],
461 [enable_static_programs=m4_quote(UL_STATIC_PROGRAMS)],
463 [enable_static_programs=]
466 dnl Set all the individual AM_CONDITIONALs
467 m4_foreach([UL_PRG], m4_defn([UL_STATIC_PROGRAMS]), [
468 AS_CASE([,$enable_static_programs,],
469 [*,UL_PRG,*], [static_[]UL_PRG=yes]
471 AS_IF([test "x$static_[]UL_PRG" = xyes], [AC_MSG_NOTICE([enable static build: UL_PRG.])])
472 AM_CONDITIONAL([HAVE_STATIC_]m4_toupper(UL_PRG),
473 [test "x$static_[]UL_PRG" = xyes])
477 AC_ARG_ENABLE([all-programs],
478 AS_HELP_STRING([--disable-all-programs], [disable everything, might be overridden by --enable-<name>]),
479 [], [enable_all_programs=undefined]
482 AS_CASE([$enable_all_programs],
483 [yes], [AC_MSG_WARN([force to build all programs by default])
484 ul_default_estate=check],
485 [no], [AC_MSG_WARN([disable all programs by default])
486 ul_default_estate=no]
492 AC_DEFUN([UL_SCANF_TYPE_MODIFIER], [dnl
499 i = sscanf("x", $1, &s);
506 ul_save_CPPFLAGS="$CPPFLAGS"
507 CPPFLAGS="-Werror ${CPPFLAGS}"
508 AC_CACHE_VAL([scanf_cv_alloc_modifier],
509 AC_RUN_IFELSE([AC_LANG_SOURCE([UL_SCANF_TYPE_MODIFIER(["%ms"])])],
510 [scanf_cv_alloc_modifier=ms],
511 AC_RUN_IFELSE([AC_LANG_SOURCE([UL_SCANF_TYPE_MODIFIER(["%as"])])],
512 [scanf_cv_alloc_modifier=as],
513 [scanf_cv_alloc_modifier=no]
517 [AC_COMPILE_IFELSE([AC_LANG_SOURCE([
523 #if !(__GLIBC_PREREQ(2, 7))
524 #error %m is not available
527 #elif defined(_POSIX_VERSION)
529 #if _POSIX_VERSION < 200809L
530 #error %m is not available
534 #error Your C-library is not supported.
537 [scanf_cv_alloc_modifier=ms],
538 [scanf_cv_alloc_modifier=no])]
541 CPPFLAGS="$ul_save_CPPFLAGS"
543 AC_MSG_CHECKING([scanf string alloc modifiers])
544 AS_CASE([$scanf_cv_alloc_modifier],
546 [AC_MSG_RESULT([(%ms) yes])
547 AC_DEFINE([HAVE_SCANF_MS_MODIFIER], [1], [scanf %ms modifier])
548 have_scanf_alloc_modifier=yes],
550 [AC_MSG_RESULT([(%as) yes])
551 have_scanf_alloc_modifier=yes
552 AC_DEFINE([HAVE_SCANF_AS_MODIFIER], [1], [scanf %as modifier])],
554 have_scanf_alloc_modifier=no]
558 AC_ARG_WITH([util], AS_HELP_STRING([--without-util], [compile without libutil]),
561 AS_IF([test "x$with_util" = xno], [
562 AM_CONDITIONAL([HAVE_UTIL], [false])
565 UL_CHECK_LIB([util], [openpty])
569 AC_ARG_WITH([termcap], AS_HELP_STRING([--without-termcap], [compile without libtermcap]),
570 [], [with_termcap=auto]
572 AS_IF([test "x$with_termcap" = xno], [
573 AM_CONDITIONAL([HAVE_TERMCAP], [false])
576 UL_CHECK_LIB([termcap], [tgetnum])
580 AC_CHECK_TYPES([union semun], [], [], [[
583 AC_CHECK_TYPES([loff_t])
585 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
593 if (w == WEOF) exit(1);
597 [AC_DEFINE([HAVE_WIDECHAR], [1], [Do we have wide character support?])
600 AC_CHECK_TYPES([cpu_set_t], [have_cpu_set_t=yes], [], [[
604 AM_CONDITIONAL([HAVE_CPU_SET_T], [test "x$have_cpu_set_t" = xyes])
606 AC_CHECK_TYPES([sighandler_t], [], [], [[
610 AC_CHECK_DECLS([CPU_ALLOC], [], [], [[
614 # on Solaris, you can't mix and match standards, since we use c99
615 # aparently at this stage, XOPEN_SOURCE will conflict. As workaround,
616 # check for crypt.h and use that without XOPEN_SOURCE.
617 AC_CHECK_HEADERS([crypt.h])
618 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
622 #define _XOPEN_SOURCE
626 char *c = crypt("abc","pw");
629 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
633 #define _XOPEN_SOURCE
637 char *c = crypt("abc","pw");
639 AC_DEFINE([HAVE_LIBCRYPT], [1], [Do we need -lcrypt?])
642 AC_MSG_ERROR([crypt() is not available])
645 AM_CONDITIONAL([HAVE_LIBCRYPT], [test "x$have_libcrypt" = xyes])
648 AC_ARG_WITH([selinux],
649 AS_HELP_STRING([--with-selinux], [compile with SELinux support]),
650 [], [with_selinux=no]
653 AS_IF([test "x$with_selinux" = xno], [
654 AM_CONDITIONAL([HAVE_SELINUX], [false])
656 PKG_CHECK_MODULES([SELINUX], [libselinux >= 2.0],
657 [AC_DEFINE([HAVE_LIBSELINUX], [1], [Define if SELinux is available])
658 UL_PKG_STATIC([SELINUX_LIBS_STATIC], [libselinux])
659 AM_CONDITIONAL([HAVE_SELINUX], [true])
663 AS_CASE([$with_selinux:$have_selinux],
664 [yes:no], [AC_MSG_ERROR([SELinux selected but libselinux not found or too old])]
667 AS_IF([test "x$have_selinux" = xyes], [
668 UL_SET_FLAGS([], [], [$SELINUX_LIBS])
669 # This function is missing in old libselinux 1.xx versions
670 AC_CHECK_FUNCS([security_get_initial_context])
674 AC_SUBST([SELINUX_LIBS])
675 AC_SUBST([SELINUX_LIBS_STATIC])
679 AS_HELP_STRING([--with-audit], [compile with audit support]),
683 AS_IF([test "x$with_audit" = xno], [
684 AM_CONDITIONAL([HAVE_AUDIT], [false])
686 UL_CHECK_LIB([audit], [audit_log_user_message])
687 AS_CASE([$with_audit:$have_audit],
689 [AC_MSG_ERROR([Audit selected but libaudit not found (or does not support audit_log_user_message())])]
693 AC_ARG_WITH([udev], AS_HELP_STRING([--without-udev], [compile without udev support]),
697 AS_IF([test "x$with_udev" = xno], [
698 AM_CONDITIONAL([HAVE_UDEV], [false])
700 UL_CHECK_LIB([udev], [udev_new])
701 AS_CASE([$with_udev:$have_udev],
703 [AC_MSG_ERROR([udev selected but libudev not found])]
707 AC_ARG_WITH([ncurses],
708 AS_HELP_STRING([--with-ncurses], [build with non-wide ncurses, default is wide version
709 (--without-ncurses disables all ncurses(w) support)]),
710 [], [with_ncurses=auto]
712 AM_CONDITIONAL([HAVE_NCURSES], [false])
713 AS_IF([test "x$with_ncurses" != xno], [
716 dnl First try to find the pkg-config module.
717 PKG_CHECK_MODULES(NCURSESW, [ncursesw], [
719 NCURSES_LIBS=${NCURSESW_LIBS}
720 NCURSES_CFLAGS=${NCURSESW_CFLAGS}
721 AC_DEFINE([HAVE_LIBNCURSESW])
722 CURSES_LIB_NAME="ncursesw"
724 PKG_CHECK_MODULES(NCURSES, [ncurses], [
726 AC_DEFINE([HAVE_LIBNCURSES])
727 CURSES_LIB_NAME="ncursesw"
731 AS_IF([test "x$have_ncurses" = xyes], [
732 dnl If that worked, setup the defines that the code expects.
733 save_CPPFLAGS="$CPPFLAGS"
734 CPPFLAGS="$CPPFLAGS $NCURSES_CFLAGS"
735 AC_CHECK_HEADERS([ncurses.h])
736 CPPFLAGS="$save_CPPFLAGS"
738 dnl If that failed, fall back to classic searching.
739 AC_CHECK_HEADERS([ncurses.h ncurses/ncurses.h], [
740 AS_IF([test "x$with_ncurses" = xauto], [
741 UL_CHECK_LIB([ncursesw], [initscr], [ncurses])
742 AS_IF([test "x$have_ncurses" = xyes], [
743 AC_CHECK_HEADERS([ncursesw/ncurses.h])
744 NCURSES_LIBS="-lncursesw"
745 CURSES_LIB_NAME="ncursesw"
748 AS_IF([test "x$have_ncurses" = xno], [
749 UL_CHECK_LIB(ncurses, initscr)
750 AS_IF([test "x$have_ncurses" = xyes], [
751 NCURSES_LIBS="-lncurses"
752 CURSES_LIB_NAME="ncurses"
758 AS_CASE([$with_ncurses:$have_ncurses],
759 [yes:no], [AC_MSG_ERROR([ncurses or ncursesw selected, but library not found])]
763 AC_SUBST([NCURSES_CFLAGS])
764 AC_SUBST([NCURSES_LIBS])
768 AS_HELP_STRING([--with-slang], [compile cfdisk with slang]),
772 AS_IF([test "x$with_slang" = xyes], [
773 AC_CHECK_HEADERS([slang.h slang/slang.h])
774 AC_CHECK_HEADERS([slcurses.h slang/slcurses.h],
775 [have_slang=yes], [], [
778 #elif defined(HAVE_SLANG_SLANG_H)
779 #include <slang/slang.h>
782 AS_IF([test "x$have_slang" = xno], [
783 AC_MSG_ERROR([slang selected but slcurses.h not found])],
784 [CURSES_LIB_NAME=slang
787 AM_CONDITIONAL([HAVE_SLANG], [test "x$have_slang" = xyes])
790 AS_IF([test "x$have_slang" = xyes -o "x$have_ncurses" = xyes], [
791 AC_CHECK_LIB([$CURSES_LIB_NAME], use_default_colors, [
792 AC_DEFINE(HAVE_USE_DEFAULT_COLORS, 1,
793 [Define if curses library has the use_default_colors().])
795 AC_CHECK_LIB([$CURSES_LIB_NAME], resizeterm, [
796 AC_DEFINE(HAVE_RESIZETERM, 1,
797 [Define if curses library has the resizeterm().])
802 AC_ARG_WITH([tinfo], AS_HELP_STRING([--without-tinfo], [compile without libtinfo]),
803 [], [with_tinfo=auto]
806 AS_IF([test "x$with_tinfo" != xno], [
807 dnl Try pkg-config for libtinfo
808 PKG_CHECK_MODULES(TINFO, [tinfo], [
809 dnl pkg-config success
811 UL_PKG_STATIC([TINFO_LIBS_STATIC], [tinfo])], [
813 dnl If pkg-config failed, fall back to classic searching.
814 AC_CHECK_LIB([tinfo], [tgetent], [
817 TINFO_LIBS_STATIC="-ltinfo"
821 AC_SUBST([TINFO_LIBS])
822 AC_SUBST([TINFO_LIBS_STATIC])
823 AC_SUBST([TINFO_CFLAGS])
824 AM_CONDITIONAL([HAVE_TINFO], [test "x$have_tinfo" = xyes])
825 AS_IF([test "x$have_tinfo" = xyes], [
826 AC_DEFINE(HAVE_LIBTINFO, 1, [Define if libtinfo available.])
830 AC_ARG_WITH([readline],
831 AS_HELP_STRING([--with-readline], [compile with GNU Readline support]),
832 [], [with_readline=auto]
835 AS_IF([test "x$with_readline" = xno], [
836 AM_CONDITIONAL([HAVE_READLINE], [false])
838 UL_CHECK_LIB([readline], [readline])
839 AS_CASE([$with_readline:$have_readline],
841 [AC_MSG_ERROR([readline selected but libreadline not found ])],
843 [READLINE_LIBS="-lreadline"
844 READLINE_LIBS_STATIC="-lreadline $TINFO_LIBS_STATIC"]
847 AC_SUBST([READLINE_LIBS])
848 AC_SUBST([READLINE_LIBS_STATIC])
851 AC_ARG_WITH([utempter],
852 AS_HELP_STRING([--with-utempter], [compile script(1) with libutempter]),
853 [], [with_utempter=no]
856 AS_IF([test "x$with_utempter" = xyes], [
857 UL_CHECK_LIB([utempter], [utempter_add_record])
858 AS_IF([test "x$have_utempter" = xno], [
859 AC_MSG_ERROR([utempter selected but libutempter not found])
862 AM_CONDITIONAL([HAVE_UTEMPTER], [false])
869 AC_ARG_ENABLE([libuuid],
870 AS_HELP_STRING([--disable-libuuid], [do not build libuuid and uuid utilities]),
871 [], [UL_DEFAULT_ENABLE([libuuid], [yes])]
873 UL_BUILD_INIT([libuuid])
874 AC_SUBST([LIBUUID_VERSION])
875 AC_SUBST([LIBUUID_VERSION_INFO])
876 AM_CONDITIONAL(BUILD_LIBUUID, test "x$build_libuuid" = xyes)
878 AS_IF([test "x$build_libuuid" = xyes], [
879 AC_DEFINE(HAVE_LIBUUID, 1, [Define to 1 if you have the -luuid.])
885 AC_ARG_ENABLE([libblkid],
886 AS_HELP_STRING([--disable-libblkid], [do not build libblkid and many related utilities]),
887 [], [UL_DEFAULT_ENABLE([libblkid], [yes])]
889 UL_BUILD_INIT([libblkid])
890 AC_SUBST([LIBBLKID_DATE])
891 AC_SUBST([LIBBLKID_VERSION])
892 AC_SUBST([LIBBLKID_VERSION_INFO])
893 AC_DEFINE_UNQUOTED([LIBBLKID_VERSION], ["$LIBBLKID_VERSION"], [libblkid version string])
894 AC_DEFINE_UNQUOTED([LIBBLKID_DATE], ["$LIBBLKID_DATE"], [libblkid date string])
895 AS_IF([test "x$build_libblkid" = xyes], [
896 AC_DEFINE([HAVE_LIBBLKID], [1], [Define to 1 if you have the -lblkid.])
898 AM_CONDITIONAL([BUILD_LIBBLKID], [test "x$build_libblkid" = xyes])
899 AM_CONDITIONAL([BUILD_LIBBLKID_TESTS], [test "x$build_libblkid" = xyes -a "x$enable_static" = xyes])
904 AC_ARG_ENABLE([libmount],
905 AS_HELP_STRING([--disable-libmount], [do not build libmount]),
906 [], [UL_DEFAULT_ENABLE([libmount], [check])]
908 UL_BUILD_INIT([libmount])
909 UL_REQUIRES_BUILD([libmount], [libblkid])
910 UL_REQUIRES_HAVE([libmount], [scanf_alloc_modifier], [scanf string alloc modifier])
911 AM_CONDITIONAL([BUILD_LIBMOUNT], [test "x$build_libmount" = xyes])
912 AM_CONDITIONAL([BUILD_LIBMOUNT_TESTS], [test "x$build_libmount" = xyes -a "x$enable_static" = xyes])
913 AS_IF([test "x$build_libmount" = xyes], [
914 AC_DEFINE(HAVE_LIBMOUNT, 1, [Define if libmount available.])
917 AC_SUBST([LIBMOUNT_VERSION])
918 AC_SUBST([LIBMOUNT_MAJOR_VERSION], $PACKAGE_VERSION_MAJOR)
919 AC_SUBST([LIBMOUNT_MINOR_VERSION], $PACKAGE_VERSION_MINOR)
920 AC_SUBST([LIBMOUNT_PATCH_VERSION], $PACKAGE_VERSION_RELEASE)
921 AC_SUBST([LIBMOUNT_VERSION_INFO])
922 AC_DEFINE_UNQUOTED([LIBMOUNT_VERSION], ["$LIBMOUNT_VERSION"], [libmount version string])
924 AC_ARG_ENABLE([libmount-force-mountinfo],
925 AS_HELP_STRING([--enable-libmount-force-mountinfo], [ignore /etc/mtab in all situations (recommended for systemd)]),
926 [], [enable_libmount_force_mountinfo=no]
929 AS_IF([test "x$enable_libmount_force_mountinfo" == xyes], [
930 AC_DEFINE([USE_LIBMOUNT_FORCE_MOUNTINFO], [1], [Define to 1 if want to ignore mtab in all situations.])
937 AC_ARG_ENABLE([libsmartcols],
938 AS_HELP_STRING([--disable-libsmartcols], [do not build libsmartcols]),
939 [], [UL_DEFAULT_ENABLE([libsmartcols], [yes])]
941 UL_BUILD_INIT([libsmartcols])
942 AM_CONDITIONAL([BUILD_LIBSMARTCOLS], [test "x$build_libsmartcols" = xyes])
943 AM_CONDITIONAL([BUILD_LIBSMARTCOLS_TESTS], [test "x$build_libsmartcols" = xyes -a "x$enable_static" = xyes])
945 AC_SUBST([LIBSMARTCOLS_VERSION])
946 AC_SUBST([LIBSMARTCOLS_VERSION_INFO])
947 AC_DEFINE_UNQUOTED([LIBSMARTCOLS_VERSION], ["$LIBSMARTCOLS_VERSION"], [libsmartcols version string])
953 AC_ARG_ENABLE([libfdisk],
954 AS_HELP_STRING([--disable-libfdisk], [do not build libfdisk]),
955 [], [UL_DEFAULT_ENABLE([libfdisk], [check])]
957 UL_BUILD_INIT([libfdisk])
958 UL_REQUIRES_BUILD([libfdisk], [libuuid])
959 AM_CONDITIONAL([BUILD_LIBFDISK], [test "x$build_libfdisk" = xyes])
960 AM_CONDITIONAL([BUILD_LIBFDISK_TESTS], [test "x$build_libfdisk" = xyes -a "x$enable_static" = xyes])
962 AS_IF([test "x$build_libblkid" = xyes],
963 [LIBFDISK_PC_REQUIRES="uuid blkid"],[LIBFDISK_PC_REQUIRES="uuid"])
964 AC_SUBST([LIBFDISK_PC_REQUIRES])
966 AC_SUBST([LIBFDISK_VERSION])
967 AC_SUBST([LIBFDISK_MAJOR_VERSION], $PACKAGE_VERSION_MAJOR)
968 AC_SUBST([LIBFDISK_MINOR_VERSION], $PACKAGE_VERSION_MINOR)
969 AC_SUBST([LIBFDISK_PATCH_VERSION], $PACKAGE_VERSION_RELEASE)
970 AC_SUBST([LIBFDISK_VERSION_INFO])
971 AC_DEFINE_UNQUOTED([LIBFDISK_VERSION], ["$LIBFDISK_VERSION"], [libfdisk version string])
974 UL_BUILD_INIT([fdisk], [check])
975 UL_REQUIRES_BUILD([fdisk], [libfdisk])
976 UL_REQUIRES_BUILD([fdisk], [libsmartcols])
977 AM_CONDITIONAL([BUILD_FDISK], [test "x$build_fdisk" = xyes])
980 UL_BUILD_INIT([sfdisk], [check])
981 UL_REQUIRES_BUILD([sfdisk], [libfdisk])
982 UL_REQUIRES_BUILD([sfdisk], [libsmartcols])
983 AM_CONDITIONAL([BUILD_SFDISK], [test "x$build_sfdisk" = xyes])
986 UL_BUILD_INIT([cfdisk], [check])
987 UL_REQUIRES_BUILD([cfdisk], [libfdisk])
988 UL_REQUIRES_BUILD([cfdisk], [libsmartcols])
989 UL_REQUIRES_HAVE([cfdisk], [open_memstream])
990 UL_REQUIRES_HAVE([cfdisk], [ncurses,slang], [ncurses or slang library])
991 AM_CONDITIONAL([BUILD_CFDISK], [test "x$build_cfdisk" = xyes])
994 AC_ARG_ENABLE([mount],
995 AS_HELP_STRING([--disable-mount], [do not build mount(8) and umount(8)]),
996 [], [UL_DEFAULT_ENABLE([mount], [check])]
998 UL_BUILD_INIT([mount])
999 UL_REQUIRES_LINUX([mount])
1000 UL_REQUIRES_BUILD([mount], [libmount])
1001 AM_CONDITIONAL([BUILD_MOUNT], [test "x$build_mount" = xyes])
1004 AC_ARG_ENABLE([losetup],
1005 AS_HELP_STRING([--disable-losetup], [do not build losetup]),
1006 [], [UL_DEFAULT_ENABLE([losetup], [check])]
1008 UL_BUILD_INIT([losetup])
1009 UL_REQUIRES_LINUX([losetup])
1010 UL_REQUIRES_BUILD([losetup], [libsmartcols])
1011 AM_CONDITIONAL([BUILD_LOSETUP], [test "x$build_losetup" = xyes])
1013 AC_ARG_ENABLE([zramctl],
1014 AS_HELP_STRING([--disable-zramctl], [do not build zramctl]),
1015 [], [UL_DEFAULT_ENABLE([zramctl], [check])]
1017 UL_BUILD_INIT([zramctl])
1018 UL_REQUIRES_LINUX([zramctl])
1019 UL_REQUIRES_BUILD([zramctl], [libsmartcols])
1020 AM_CONDITIONAL([BUILD_ZRAMCTL], [test "x$build_zramctl" = xyes])
1022 AC_ARG_ENABLE([fsck],
1023 AS_HELP_STRING([--disable-fsck], [do not build fsck]),
1024 [], [UL_DEFAULT_ENABLE([fsck], [check])]
1026 UL_BUILD_INIT([fsck])
1027 UL_REQUIRES_BUILD([fsck], [libmount])
1028 AM_CONDITIONAL([BUILD_FSCK], [test "x$build_fsck" = xyes])
1031 AC_ARG_ENABLE([partx],
1032 AS_HELP_STRING([--disable-partx], [do not build addpart, delpart, partx]),
1033 [], [UL_DEFAULT_ENABLE([partx], [check])]
1035 UL_BUILD_INIT([partx])
1036 UL_REQUIRES_LINUX([partx])
1037 UL_REQUIRES_BUILD([partx], [libblkid])
1038 UL_REQUIRES_BUILD([partx], [libsmartcols])
1039 AM_CONDITIONAL([BUILD_PARTX], [test "x$build_partx" = xyes])
1042 AC_ARG_ENABLE([uuidd],
1043 AS_HELP_STRING([--disable-uuidd], [do not build the uuid daemon]),
1044 [], [UL_DEFAULT_ENABLE([uuidd], [check])]
1046 UL_BUILD_INIT([uuidd])
1047 UL_REQUIRES_BUILD([uuidd], [libuuid])
1048 AS_IF([test "x$build_uuidd" = xyes], [
1049 AC_DEFINE([HAVE_UUIDD], [1], [Define to 1 if you want to use uuid daemon.])
1051 AM_CONDITIONAL([BUILD_UUIDD], [test "x$build_uuidd" = xyes])
1054 UL_BUILD_INIT([uuidgen], [check])
1055 UL_REQUIRES_BUILD([uuidgen], [libuuid])
1056 AM_CONDITIONAL([BUILD_UUIDGEN], [test "x$build_uuidgen" = xyes])
1058 UL_BUILD_INIT([blkid], [check])
1059 UL_REQUIRES_BUILD([blkid], [libblkid])
1060 AM_CONDITIONAL([BUILD_BLKID], [test "x$build_blkid" = xyes])
1062 UL_BUILD_INIT([findfs], [check])
1063 UL_REQUIRES_BUILD([findfs], [libblkid])
1064 AM_CONDITIONAL([BUILD_FINDFS], [test "x$build_findfs" = xyes])
1066 UL_BUILD_INIT([wipefs], [check])
1067 UL_REQUIRES_BUILD([wipefs], [libblkid])
1068 AM_CONDITIONAL([BUILD_WIPEFS], [test "x$build_wipefs" = xyes])
1070 UL_BUILD_INIT([findmnt], [check])
1071 UL_REQUIRES_BUILD([findmnt], [libmount])
1072 UL_REQUIRES_BUILD([findmnt], [libsmartcols])
1073 AM_CONDITIONAL([BUILD_FINDMNT], [test "x$build_findmnt" = xyes])
1076 AC_ARG_ENABLE([mountpoint],
1077 AS_HELP_STRING([--disable-mountpoint], [do not build mountpoint]),
1078 [], [UL_DEFAULT_ENABLE([mountpoint], [check])]
1080 UL_BUILD_INIT([mountpoint])
1081 UL_REQUIRES_BUILD([mountpoint], [libmount])
1082 AM_CONDITIONAL([BUILD_MOUNTPOINT], [test "x$build_mountpoint" = xyes])
1085 AC_ARG_ENABLE([fallocate],
1086 AS_HELP_STRING([--disable-fallocate], [do not build fallocate]),
1087 [], [UL_DEFAULT_ENABLE([fallocate], [check])]
1089 UL_BUILD_INIT([fallocate])
1090 UL_REQUIRES_LINUX([fallocate])
1091 UL_REQUIRES_SYSCALL_CHECK([fallocate], [UL_CHECK_SYSCALL([fallocate])])
1092 AM_CONDITIONAL([BUILD_FALLOCATE], [test "x$build_fallocate" = xyes])
1094 AS_IF([test "x$build_fallocate" = xyes], [
1095 dnl check for valid fallocate() function
1096 dnl with 32 bits glibc 2.10, fallocate() exists but not fallocate64()
1097 dnl when _FILE_OFFSET_BITS==64, fallocate() is redirect to fallocate64()
1098 dnl and program can't be linked.
1099 dnl AC_CHECK_FUNC can't catch such errors since it's redefining
1100 dnl function prototype.
1101 AC_MSG_CHECKING([for valid fallocate() function])
1102 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1103 #ifdef HAVE_UNISTD_H
1104 # include <unistd.h>
1106 #ifdef HAVE_SYS_TYPES_H
1107 # include <sys/types.h>
1109 #ifdef HAVE_LINUX_FALLOC_H
1110 # include <linux/falloc.h>
1117 ret = fallocate(0, FALLOC_FL_KEEP_SIZE, 0xfffffffful, 0xfffffffful);
1122 AC_MSG_RESULT([yes])
1123 AC_DEFINE([HAVE_FALLOCATE], [1], [Have valid fallocate() function])],[
1124 AC_MSG_RESULT([no])])
1128 AC_ARG_ENABLE([unshare],
1129 AS_HELP_STRING([--disable-unshare], [do not build unshare]),
1130 [], [UL_DEFAULT_ENABLE([unshare], [check])]
1132 UL_BUILD_INIT([unshare])
1133 UL_REQUIRES_LINUX([unshare])
1134 UL_REQUIRES_SYSCALL_CHECK([unshare], [UL_CHECK_SYSCALL([unshare])])
1135 AM_CONDITIONAL([BUILD_UNSHARE], [test "x$build_unshare" = xyes])
1136 AC_CHECK_FUNCS([unshare])
1138 AC_ARG_ENABLE([nsenter],
1139 AS_HELP_STRING([--disable-nsenter], [do not build nsenter]),
1140 [], [UL_DEFAULT_ENABLE([nsenter], [check])]
1142 UL_BUILD_INIT([nsenter])
1143 UL_REQUIRES_LINUX([nsenter])
1144 UL_REQUIRES_SYSCALL_CHECK([nsenter], [UL_CHECK_SYSCALL([setns])], [setns])
1145 AM_CONDITIONAL([BUILD_NSENTER], [test "x$build_nsenter" = xyes])
1146 AC_CHECK_FUNCS([setns])
1149 AC_ARG_WITH([cap_ng],
1150 AS_HELP_STRING([--without-capng], [compile without libcap-ng]),
1151 [], [with_cap_ng=auto]
1153 AS_IF([test "x$with_cap_ng" = xno], [have_cap_ng=no],[
1154 UL_CHECK_LIB([cap-ng], [capng_apply], [cap_ng])
1158 AC_ARG_ENABLE([setpriv],
1159 AS_HELP_STRING([--disable-setpriv], [do not build setpriv]),
1160 [], [UL_DEFAULT_ENABLE([setpriv], [check])]
1162 UL_BUILD_INIT([setpriv])
1163 UL_REQUIRES_LINUX([setpriv])
1164 UL_REQUIRES_HAVE([setpriv], [linux_securebits_h], [securebits.h header file])
1165 UL_REQUIRES_HAVE([setpriv], [cap_ng], [libcap-ng library])
1166 AM_CONDITIONAL([BUILD_SETPRIV], [test "x$build_setpriv" = xyes])
1169 AC_ARG_ENABLE([eject],
1170 AS_HELP_STRING([--disable-eject], [do not build eject]),
1171 [], [UL_DEFAULT_ENABLE([eject], [check])]
1173 UL_BUILD_INIT([eject])
1174 UL_REQUIRES_LINUX([eject])
1175 UL_REQUIRES_BUILD([eject], [libmount])
1176 AM_CONDITIONAL([BUILD_EJECT], [test "x$build_eject" = xyes])
1179 AC_ARG_ENABLE([agetty],
1180 AS_HELP_STRING([--disable-agetty], [do not build agetty]),
1181 [], [UL_DEFAULT_ENABLE([agetty], [yes])]
1183 UL_BUILD_INIT([agetty])
1184 AM_CONDITIONAL([BUILD_AGETTY], [test "x$build_agetty" = xyes])
1185 AS_IF([test "x$have_futimens" = xyes -a "x$have_inotify_init1" = xyes ], [
1186 AC_DEFINE([AGETTY_RELOAD], [1], [Enable agetty --reload feature])
1188 AC_MSG_WARN([futimens or inotify_init1 not found; agetty(8) will not provide ---reload functionality])
1193 AS_HELP_STRING([--without-libz], [compile without libz]),
1194 [], [with_libz=auto]
1196 AS_IF([test "x$with_libz" = xno], [have_z=no], [
1197 AC_CHECK_LIB([z], [crc32], [have_z=yes], [have_z=no])
1201 AC_ARG_ENABLE([cramfs],
1202 AS_HELP_STRING([--disable-cramfs], [do not build fsck.cramfs, mkfs.cramfs]),
1203 [], [UL_DEFAULT_ENABLE([cramfs], [check])]
1205 UL_BUILD_INIT([cramfs])
1206 UL_REQUIRES_HAVE([cramfs], [z], [z library])
1207 AM_CONDITIONAL([BUILD_CRAMFS], [test "x$build_cramfs" = xyes])
1210 AC_ARG_ENABLE([bfs],
1211 AS_HELP_STRING([--disable-bfs], [do not build mkfs.bfs]),
1212 [], [UL_DEFAULT_ENABLE([bfs], [yes])]
1214 UL_BUILD_INIT([bfs])
1215 AM_CONDITIONAL([BUILD_BFS], [test "x$build_bfs" = xyes])
1218 AC_ARG_ENABLE([minix],
1219 AS_HELP_STRING([--disable-minix], [do not build fsck.minix, mkfs.minix]),
1220 [], [UL_DEFAULT_ENABLE([minix], [yes])]
1222 UL_BUILD_INIT([minix])
1223 AM_CONDITIONAL([BUILD_MINIX], [test "x$build_minix" = xyes])
1226 AC_ARG_ENABLE([fdformat],
1227 AS_HELP_STRING([--disable-fdformat], [do not build fdformat]),
1228 [], [UL_DEFAULT_ENABLE([fdformat], [check])]
1230 UL_BUILD_INIT([fdformat])
1231 UL_REQUIRES_LINUX([fdformat])
1232 AM_CONDITIONAL([BUILD_FDFORMAT], [test "x$build_fdformat" = xyes])
1235 AC_ARG_ENABLE([hwclock],
1236 AS_HELP_STRING([--disable-hwclock], [do not build hwclock]),
1237 [], [UL_DEFAULT_ENABLE([hwclock], [check])]
1239 have_linuxdummy=$linux_os
1241 UL_BUILD_INIT([hwclock])
1242 UL_REQUIRES_HAVE([hwclock], [io, linuxdummy], [ioperm iopl function or Linux])
1243 AM_CONDITIONAL([BUILD_HWCLOCK], [test "x$build_hwclock" = xyes])
1246 UL_BUILD_INIT([mkfs], [yes])
1247 AM_CONDITIONAL([BUILD_MKFS], [test "x$build_mkfs" = xyes])
1249 UL_BUILD_INIT([isosize], [yes])
1250 AM_CONDITIONAL([BUILD_ISOSIZE], [test "x$build_isosize" = xyes])
1253 UL_BUILD_INIT([fstrim], [check])
1254 UL_REQUIRES_LINUX([fstrim])
1255 UL_REQUIRES_BUILD([fstrim], [libmount])
1256 AM_CONDITIONAL([BUILD_FSTRIM], [test "x$build_fstrim" = xyes])
1259 UL_BUILD_INIT([swapon], [check])
1260 UL_REQUIRES_LINUX([swapon])
1261 UL_REQUIRES_BUILD([swapon], [libblkid])
1262 UL_REQUIRES_BUILD([swapon], [libmount])
1263 UL_REQUIRES_BUILD([swapon], [libsmartcols])
1264 AM_CONDITIONAL([BUILD_SWAPON], [test "x$build_swapon" = xyes])
1267 UL_BUILD_INIT([lsblk], [check])
1268 UL_REQUIRES_LINUX([lsblk])
1269 UL_REQUIRES_BUILD([lsblk], [libblkid])
1270 UL_REQUIRES_BUILD([lsblk], [libmount])
1271 UL_REQUIRES_BUILD([lsblk], [libsmartcols])
1272 AM_CONDITIONAL([BUILD_LSBLK], [test "x$build_lsblk" = xyes])
1275 UL_BUILD_INIT([lscpu], [check])
1276 UL_REQUIRES_LINUX([lscpu])
1277 UL_REQUIRES_BUILD([lscpu], [libsmartcols])
1278 UL_REQUIRES_HAVE([lscpu], [cpu_set_t], [cpu_set_t type])
1279 AM_CONDITIONAL([BUILD_LSCPU], [test "x$build_lscpu" = xyes])
1282 UL_BUILD_INIT([lslogins], [check])
1283 UL_REQUIRES_BUILD([lslogins], [libsmartcols])
1284 AM_CONDITIONAL([BUILD_LSLOGINS], [test "x$build_lslogins" = xyes])
1287 UL_BUILD_INIT([chcpu], [check])
1288 UL_REQUIRES_LINUX([chcpu])
1289 UL_REQUIRES_HAVE([chcpu], [cpu_set_t], [cpu_set_t type])
1290 AM_CONDITIONAL([BUILD_CHCPU], [test "x$build_chcpu" = xyes])
1293 AC_ARG_ENABLE([wdctl],
1294 AS_HELP_STRING([--disable-wdctl], [do not build wdctl]),
1295 [], [UL_DEFAULT_ENABLE([wdctl], [check])]
1297 UL_BUILD_INIT([wdctl])
1298 UL_REQUIRES_LINUX([wdctl])
1299 UL_REQUIRES_BUILD([wdctl], [libsmartcols])
1300 UL_REQUIRES_HAVE([wdctl], [linux_watchdog_h], [linux/watchdog.h header file])
1301 AM_CONDITIONAL([BUILD_WDCTL], [test "x$build_wdctl" = xyes])
1304 UL_BUILD_INIT([swaplabel], [check])
1305 UL_REQUIRES_BUILD([swaplabel], [libblkid])
1306 AM_CONDITIONAL([BUILD_SWAPLABEL], [test "x$build_swaplabel" = xyes])
1309 UL_BUILD_INIT([mkswap], [yes])
1310 AM_CONDITIONAL([BUILD_MKSWAP], [test "x$build_mkswap" = xyes])
1311 AS_IF([test "x$build_mkswap" = xyes -a "x$build_libuuid" != xyes], [
1312 AC_MSG_WARN([uuid library is not found; mkswap(8) will not generate UUIDs])
1316 AC_ARG_ENABLE([cal],
1317 AS_HELP_STRING([--disable-cal], [do not build cal]),
1318 [], [UL_DEFAULT_ENABLE([cal], [check])]
1320 UL_BUILD_INIT([cal])
1321 AM_CONDITIONAL([BUILD_CAL], [test "x$build_cal" = xyes])
1324 UL_BUILD_INIT([logger], [yes])
1325 AM_CONDITIONAL([BUILD_LOGGER], [test "x$build_logger" = xyes])
1327 UL_BUILD_INIT([look], [yes])
1328 AM_CONDITIONAL([BUILD_LOOK], [test "x$build_look" = xyes])
1330 UL_BUILD_INIT([mcookie], [yes])
1331 AM_CONDITIONAL([BUILD_MCOOKIE], [test "x$build_mcookie" = xyes])
1333 UL_BUILD_INIT([namei], [yes])
1334 AM_CONDITIONAL([BUILD_NAMEI], [test "x$build_namei" = xyes])
1336 UL_BUILD_INIT([whereis], [yes])
1337 AM_CONDITIONAL([BUILD_WHEREIS], [test "x$build_whereis" = xyes])
1339 UL_BUILD_INIT([getopt], [yes])
1340 AM_CONDITIONAL([BUILD_GETOPT], [test "x$build_getopt" = xyes])
1343 UL_BUILD_INIT([blockdev], [check])
1344 UL_REQUIRES_LINUX([blockdev])
1345 AM_CONDITIONAL([BUILD_BLOCKDEV], [test "x$build_blockdev" = xyes])
1348 UL_BUILD_INIT([prlimit], [check])
1349 UL_REQUIRES_LINUX([prlimit])
1350 UL_REQUIRES_BUILD([prlimit], [libsmartcols])
1351 UL_REQUIRES_SYSCALL_CHECK([prlimit], [UL_CHECK_SYSCALL([prlimit64])], [prlimit64])
1352 AM_CONDITIONAL([BUILD_PRLIMIT], [test "x$build_prlimit" = xyes])
1353 AS_IF([test "x$build_prlimit" = xyes], [
1354 AC_CHECK_FUNCS([prlimit])
1358 UL_BUILD_INIT([lslocks], [check])
1359 UL_REQUIRES_LINUX([lslocks])
1360 UL_REQUIRES_BUILD([lslocks], [libmount])
1361 UL_REQUIRES_BUILD([lslocks], [libsmartcols])
1362 AM_CONDITIONAL([BUILD_LSLOCKS], [test "x$build_lslocks" = xyes])
1365 AC_ARG_ENABLE([switch_root],
1366 AS_HELP_STRING([--disable-switch_root], [do not build switch_root]),
1367 [], [UL_DEFAULT_ENABLE([switch_root], [check])]
1369 UL_BUILD_INIT([switch_root])
1370 UL_REQUIRES_LINUX([switch_root])
1371 UL_REQUIRES_HAVE([switch_root], [openat], [openat function])
1372 AM_CONDITIONAL([BUILD_SWITCH_ROOT], [test "x$build_switch_root" = xyes])
1375 AC_ARG_ENABLE([pivot_root],
1376 AS_HELP_STRING([--disable-pivot_root], [do not build pivot_root]),
1377 [], [UL_DEFAULT_ENABLE([pivot_root], [check])]
1379 UL_BUILD_INIT([pivot_root])
1380 UL_REQUIRES_LINUX([pivot_root])
1381 UL_REQUIRES_SYSCALL_CHECK([pivot_root], [UL_CHECK_SYSCALL([pivot_root])])
1382 AM_CONDITIONAL([BUILD_PIVOT_ROOT], [test "x$build_pivot_root" = xyes])
1385 UL_BUILD_INIT([flock], [yes])
1386 UL_REQUIRES_HAVE([flock], [timer], [timer_create function])
1387 AM_CONDITIONAL([BUILD_FLOCK], [test "x$build_flock" = xyes])
1389 UL_BUILD_INIT([ipcmk], [yes])
1390 AM_CONDITIONAL([BUILD_IPCMK], [test "x$build_ipcmk" = xyes])
1392 UL_BUILD_INIT([ipcrm], [yes])
1393 AM_CONDITIONAL([BUILD_IPCRM], [test "x$build_ipcrm" = xyes])
1395 UL_BUILD_INIT([ipcs], [yes])
1396 AM_CONDITIONAL([BUILD_IPCS], [test "x$build_ipcs" = xyes])
1398 UL_BUILD_INIT([lsipc], [check])
1399 UL_REQUIRES_LINUX([lsipc])
1400 UL_REQUIRES_BUILD([lsipc], [libsmartcols])
1401 AM_CONDITIONAL([BUILD_LSIPC], [test "x$build_lsipc" = xyes])
1403 UL_BUILD_INIT([renice], [yes])
1404 AM_CONDITIONAL([BUILD_RENICE], [test "x$build_renice" = xyes])
1406 UL_BUILD_INIT([setsid], [yes])
1407 AM_CONDITIONAL([BUILD_SETSID], [test "x$build_setsid" = xyes])
1409 UL_BUILD_INIT([readprofile], [check])
1410 UL_REQUIRES_LINUX([readprofile])
1411 AM_CONDITIONAL([BUILD_READPROFILE], [test "x$build_readprofile" = xyes])
1413 UL_BUILD_INIT([dmesg], [check])
1414 UL_REQUIRES_LINUX([dmesg])
1415 AM_CONDITIONAL([BUILD_DMESG], [test "x$build_dmesg" = xyes])
1417 UL_BUILD_INIT([ctrlaltdel], [check])
1418 UL_REQUIRES_LINUX([ctrlaltdel])
1419 AM_CONDITIONAL([BUILD_CTRLALTDEL], [test "x$build_ctrlaltdel" = xyes])
1421 UL_BUILD_INIT([fsfreeze], [check])
1422 UL_REQUIRES_LINUX([fsfreeze])
1423 AM_CONDITIONAL([BUILD_FSFREEZE], [test "x$build_fsfreeze" = xyes])
1425 UL_BUILD_INIT([blkdiscard], [check])
1426 UL_REQUIRES_LINUX([blkdiscard])
1427 AM_CONDITIONAL([BUILD_BLKDISCARD], [test "x$build_blkdiscard" = xyes])
1429 UL_BUILD_INIT([ldattach], [check])
1430 UL_REQUIRES_LINUX([ldattach])
1431 AM_CONDITIONAL([BUILD_LDATTACH], [test "x$build_ldattach" = xyes])
1433 UL_BUILD_INIT([rtcwake], [check])
1434 UL_REQUIRES_LINUX([rtcwake])
1435 AM_CONDITIONAL([BUILD_RTCWAKE], [test "x$build_rtcwake" = xyes])
1437 UL_BUILD_INIT([setarch], [check])
1438 UL_REQUIRES_LINUX([setarch])
1439 AM_CONDITIONAL([BUILD_SETARCH], [test "x$build_setarch" = xyes])
1441 UL_BUILD_INIT([script], [check])
1442 UL_REQUIRES_LINUX([script])
1443 AM_CONDITIONAL([BUILD_SCRIPT], [test "x$build_script" = xyes])
1445 UL_BUILD_INIT([scriptreplay], [yes])
1446 AM_CONDITIONAL([BUILD_SCRIPTREPLAY], [test "x$build_scriptreplay" = xyes])
1448 UL_BUILD_INIT([col], [yes])
1449 AM_CONDITIONAL([BUILD_COL], [test "x$build_col" = xyes])
1451 UL_BUILD_INIT([colcrt], [yes])
1452 AM_CONDITIONAL([BUILD_COLCRT], [test "x$build_colcrt" = xyes])
1454 UL_BUILD_INIT([colrm], [yes])
1455 AM_CONDITIONAL([BUILD_COLRM], [test "x$build_colrm" = xyes])
1457 UL_BUILD_INIT([column], [yes])
1458 AM_CONDITIONAL([BUILD_COLUMN], [test "x$build_column" = xyes])
1460 UL_BUILD_INIT([hexdump], [yes])
1461 AM_CONDITIONAL([BUILD_HEXDUMP], [test "x$build_hexdump" = xyes])
1463 UL_BUILD_INIT([rev], [yes])
1464 AM_CONDITIONAL([BUILD_REV], [test "x$build_rev" = xyes])
1466 UL_BUILD_INIT([tailf], [yes])
1467 AM_CONDITIONAL([BUILD_TAILF], [test "x$build_tailf" = xyes])
1470 AC_ARG_ENABLE([tunelp],
1471 AS_HELP_STRING([--enable-tunelp], [build tunelp]),
1472 [], [UL_DEFAULT_ENABLE([tunelp], [no])]
1474 UL_BUILD_INIT([tunelp])
1475 UL_REQUIRES_LINUX([tunelp])
1476 AM_CONDITIONAL([BUILD_TUNELP], [test "x$build_tunelp" = xyes])
1479 AC_ARG_ENABLE([kill],
1480 AS_HELP_STRING([--disable-kill], [do not build kill]),
1481 [], [UL_DEFAULT_ENABLE([kill], [check])]
1483 UL_BUILD_INIT([kill])
1484 UL_REQUIRES_LINUX([kill])
1485 AM_CONDITIONAL([BUILD_KILL], [test "x$build_kill" = xyes])
1488 AC_ARG_ENABLE([last],
1489 AS_HELP_STRING([--disable-last], [do not build last]),
1490 [], [UL_DEFAULT_ENABLE([last], [check])]
1492 UL_BUILD_INIT([last])
1493 AM_CONDITIONAL([BUILD_LAST], [test "x$build_last" = xyes])
1496 AC_ARG_ENABLE([utmpdump],
1497 AS_HELP_STRING([--disable-utmpdump], [do not build utmpdump]),
1498 [], [UL_DEFAULT_ENABLE([utmpdump], [yes])]
1500 UL_BUILD_INIT([utmpdump])
1501 AM_CONDITIONAL([BUILD_UTMPDUMP], [test "x$build_utmpdump" = xyes])
1504 AC_ARG_ENABLE([line],
1505 AS_HELP_STRING([--enable-line], [build line]),
1506 [], [UL_DEFAULT_ENABLE([line], [no])]
1508 UL_BUILD_INIT([line])
1509 AM_CONDITIONAL([BUILD_LINE], [test "x$build_line" = xyes])
1512 AC_ARG_ENABLE([mesg],
1513 AS_HELP_STRING([--disable-mesg], [do not build mesg]),
1514 [], [UL_DEFAULT_ENABLE([mesg], [yes])]
1516 UL_BUILD_INIT([mesg])
1517 AM_CONDITIONAL([BUILD_MESG], [test "x$build_mesg" = xyes])
1520 AC_ARG_ENABLE([raw],
1521 AS_HELP_STRING([--disable-raw], [do not build raw]),
1522 [], [UL_DEFAULT_ENABLE([raw], [check])]
1524 UL_BUILD_INIT([raw])
1525 UL_REQUIRES_LINUX([raw])
1526 UL_REQUIRES_HAVE([raw], [linux_raw_h], [raw.h header file])
1527 AM_CONDITIONAL([BUILD_RAW], [test "x$build_raw" = xyes])
1530 AC_ARG_ENABLE([rename],
1531 AS_HELP_STRING([--disable-rename], [do not build rename]),
1532 [], [UL_DEFAULT_ENABLE([rename], [yes])]
1534 UL_BUILD_INIT([rename])
1535 AM_CONDITIONAL([BUILD_RENAME], [test "x$build_rename" = xyes])
1538 AC_ARG_ENABLE([reset],
1539 AS_HELP_STRING([--enable-reset], [build reset]),
1540 [], [UL_DEFAULT_ENABLE([reset], [no])]
1542 UL_BUILD_INIT([reset])
1543 AM_CONDITIONAL([BUILD_RESET], [test "x$build_reset" = xyes])
1546 AC_ARG_ENABLE([vipw],
1547 AS_HELP_STRING([--enable-vipw], [build vipw]),
1548 [], [UL_DEFAULT_ENABLE([vipw], [no])]
1550 UL_BUILD_INIT([vipw])
1551 AM_CONDITIONAL([BUILD_VIPW], [test "x$build_vipw" = xyes])
1554 AC_ARG_ENABLE([newgrp],
1555 AS_HELP_STRING([--enable-newgrp], [build newgrp]),
1556 [], [UL_DEFAULT_ENABLE([newgrp], [no])]
1558 UL_BUILD_INIT([newgrp])
1559 AM_CONDITIONAL([BUILD_NEWGRP], [test "x$build_newgrp" = xyes])
1562 AC_ARG_WITH([user], AS_HELP_STRING([--without-user], [compile without libuser (remote chsh)]),
1563 [], [with_user=check]
1566 AS_IF([test "x$with_user" != xno], [
1567 PKG_CHECK_MODULES(LIBUSER,[libuser >= 0.58], [have_user=yes], [have_user=no])
1568 AS_CASE([$with_user:$have_user],
1570 [AC_MSG_ERROR([user selected but libuser not found])],
1572 [AC_DEFINE([HAVE_LIBUSER], [1], [Define if libuser is available])]
1574 # temporary solution, libuser has stupid .pc where are exported all
1575 # private dependencies to Requires: instead of Requires.private:
1576 AS_IF([test "x$have_user" = xyes], [
1580 AM_CONDITIONAL([HAVE_USER], [test "x$have_user" = xyes])
1582 AC_ARG_ENABLE([chfn-chsh-password],
1583 AS_HELP_STRING([--disable-chfn-chsh-password], [do not require the user to enter the password in chfn and chsh]),
1584 [], [enable_chfn_chsh_password=yes]
1587 AC_ARG_ENABLE([chfn-chsh],
1588 AS_HELP_STRING([--enable-chfn-chsh], [build chfn and chsh]),
1589 [], [UL_DEFAULT_ENABLE([chfn_chsh], [check])]
1591 UL_BUILD_INIT([chfn_chsh])
1593 AS_IF([test "x$enable_chfn_chsh_password" = xyes -o "x$have_user" = xyes], [
1594 UL_REQUIRES_HAVE([chfn_chsh], [security_pam_appl_h], [PAM header file])
1595 AC_DEFINE([CHFN_CHSH_PASSWORD], [1], [Should chfn and chsh require the user to enter the password?])
1597 AM_CONDITIONAL([BUILD_CHFN_CHSH], [test "x$build_chfn_chsh" = xyes])
1598 AM_CONDITIONAL([CHFN_CHSH_PASSWORD], [test "x$enable_chfn_chsh_password" = xyes])
1600 AC_ARG_ENABLE([chsh-only-listed],
1601 AS_HELP_STRING([--disable-chsh-only-listed], [chsh: allow shells not in /etc/shells]),
1602 [], enable_chsh_only_listed=yes
1605 AS_IF([test "x$enable_chsh_only_listed" = xyes], [
1606 AC_DEFINE([ONLY_LISTED_SHELLS], [1], [Should chsh allow only shells in /etc/shells?])
1610 AC_ARG_ENABLE([login],
1611 AS_HELP_STRING([--disable-login], [do not build login]),
1612 [], [UL_DEFAULT_ENABLE([login], [check])]
1614 UL_BUILD_INIT([login])
1615 UL_REQUIRES_HAVE([login], [security_pam_appl_h], [PAM header file])
1616 UL_REQUIRES_HAVE([login], [security_pam_misc_h, security_openpam_h], [PAM conversation functions])
1617 AM_CONDITIONAL([BUILD_LOGIN], [test "x$build_login" = xyes])
1619 AC_ARG_ENABLE([login-chown-vcs],
1620 AS_HELP_STRING([--enable-login-chown-vcs], [let login chown /dev/vcsN]),
1621 [], [enable_login_chown_vcs=no]
1624 AS_IF([test "x$enable_login_chown_vcs" = xyes], [
1625 AC_DEFINE([LOGIN_CHOWN_VCS], [1], [Should login chown /dev/vcsN?])
1628 AC_ARG_ENABLE([login-stat-mail],
1629 AS_HELP_STRING([--enable-login-stat-mail], [let login stat() the mailbox]),
1630 [], [enable_login_stat_mail=no]
1633 AS_IF([test "x$enable_login_stat_mail" = xyes], [
1634 AC_DEFINE([LOGIN_STAT_MAIL], [1], [Should login stat() the mailbox?])
1638 AC_ARG_ENABLE([nologin],
1639 AS_HELP_STRING([--disable-nologin], [do not build nologin]),
1640 [], [UL_DEFAULT_ENABLE([nologin], [yes])]
1642 UL_BUILD_INIT([nologin])
1643 AM_CONDITIONAL([BUILD_NOLOGIN], [test "x$build_nologin" = xyes])
1646 AC_ARG_ENABLE([sulogin],
1647 AS_HELP_STRING([--disable-sulogin], [do not build sulogin]),
1648 [], [UL_DEFAULT_ENABLE([sulogin], [yes])]
1650 UL_BUILD_INIT([sulogin])
1651 AM_CONDITIONAL([BUILD_SULOGIN], [test "x$build_sulogin" = xyes])
1655 AS_HELP_STRING([--disable-su], [do not build su]),
1656 [], [UL_DEFAULT_ENABLE([su], [check])]
1659 UL_REQUIRES_HAVE([su], [security_pam_appl_h], [PAM header file])
1660 AM_CONDITIONAL([BUILD_SU], [test "x$build_su" = xyes])
1663 AC_ARG_ENABLE([runuser],
1664 AS_HELP_STRING([--disable-runuser], [do not build runuser]),
1665 [], [UL_DEFAULT_ENABLE([runuser], [check])]
1667 UL_BUILD_INIT([runuser])
1668 UL_REQUIRES_HAVE([runuser], [security_pam_appl_h], [PAM header file])
1669 AM_CONDITIONAL([BUILD_RUNUSER], [test "x$build_runuser" = xyes])
1673 AS_HELP_STRING([--disable-ul], [do not build ul]),
1674 [], [UL_DEFAULT_ENABLE([ul], [check])]
1677 UL_REQUIRES_HAVE([ul], [ncurses, tinfo], [ncurses or tinfo libraries])
1678 AM_CONDITIONAL([BUILD_UL], [test "x$build_ul" = xyes])
1681 AC_ARG_ENABLE([more],
1682 AS_HELP_STRING([--disable-more], [do not build more]),
1683 [], [UL_DEFAULT_ENABLE([more], [check])]
1685 UL_BUILD_INIT([more])
1686 UL_REQUIRES_HAVE([more], [ncurses, tinfo, termcap], [ncurses, tinfo or termcap libraries])
1687 AM_CONDITIONAL([BUILD_MORE], [test "x$build_more" = xyes])
1691 AS_HELP_STRING([--disable-pg], [do not build pg]),
1692 [], [UL_DEFAULT_ENABLE([pg], [check])]
1695 UL_REQUIRES_HAVE([pg], [ncurses], [ncurses or ncursesw library])
1696 AM_CONDITIONAL([BUILD_PG], [test "x$build_pg" = xyes])
1699 AC_ARG_ENABLE([setterm],
1700 AS_HELP_STRING([--disable-setterm], [do not build setterm]),
1701 [], [UL_DEFAULT_ENABLE([setterm], [check])]
1703 UL_BUILD_INIT([setterm])
1704 UL_REQUIRES_LINUX([setterm])
1705 UL_REQUIRES_HAVE([setterm], [ncurses], [ncurses library])
1706 AM_CONDITIONAL([BUILD_SETTERM], [test "x$build_setterm" = xyes])
1708 # build_schedutils= is just configure-only variable to control
1709 # ionice, taskset and chrt
1710 AC_ARG_ENABLE([schedutils],
1711 AS_HELP_STRING([--disable-schedutils], [do not build chrt, ionice, taskset]),
1712 [], [UL_DEFAULT_ENABLE([schedutils], [yes])]
1714 UL_BUILD_INIT([schedutils])
1716 UL_BUILD_INIT([ionice], [check])
1717 UL_REQUIRES_BUILD([ionice], [schedutils])
1718 UL_REQUIRES_SYSCALL_CHECK([ionice],
1719 [UL_CHECK_SYSCALL([ioprio_set],
1730 UL_REQUIRES_SYSCALL_CHECK([ionice],
1731 [UL_CHECK_SYSCALL([ioprio_get],
1742 AM_CONDITIONAL([BUILD_IONICE], [test "x$build_ionice" = xyes])
1744 UL_BUILD_INIT([taskset], [check])
1745 UL_REQUIRES_BUILD([taskset], [schedutils])
1746 UL_REQUIRES_HAVE([taskset], [cpu_set_t], [cpu_set_t type])
1747 UL_REQUIRES_SYSCALL_CHECK([taskset],
1748 [UL_CHECK_SYSCALL([sched_getaffinity])],
1749 [sched_getaffinity])
1750 AM_CONDITIONAL([BUILD_TASKSET], [test "x$build_taskset" = xyes])
1752 UL_BUILD_INIT([chrt], [check])
1753 UL_REQUIRES_BUILD([chrt], [schedutils])
1754 AM_CONDITIONAL([BUILD_CHRT], [test "x$build_chrt" = xyes])
1757 AC_ARG_ENABLE([wall],
1758 AS_HELP_STRING([--disable-wall], [do not build wall]),
1759 [], [UL_DEFAULT_ENABLE([wall], [yes])]
1761 UL_BUILD_INIT([wall])
1762 AM_CONDITIONAL([BUILD_WALL], [test "x$build_wall" = xyes])
1765 AC_ARG_ENABLE([write],
1766 AS_HELP_STRING([--enable-write], [build write]),
1767 [], [UL_DEFAULT_ENABLE([write], [no])]
1769 UL_BUILD_INIT([write])
1770 AM_CONDITIONAL([BUILD_WRITE], [test "x$build_write" = xyes])
1773 AC_ARG_WITH([systemd],
1774 AS_HELP_STRING([--with-systemd], [build with support for systemd]),
1775 [], [with_systemd=check]
1779 AS_IF([test "x$with_systemd" != xno], [
1780 # new version -- all libsystemd-* libs merged into libsystemd
1781 PKG_CHECK_MODULES([SYSTEMD], [libsystemd], [have_systemd=yes], [have_systemd=no])
1783 AS_IF([test "x$have_systemd" != "xyes"], [
1784 PKG_CHECK_MODULES([SYSTEMD_DAEMON], [libsystemd-daemon],
1785 [have_systemd_daemon=yes], [have_systemd_daemon=no])
1786 PKG_CHECK_MODULES([SYSTEMD_JOURNAL], [libsystemd-journal],
1787 [have_systemd_journal=yes], [have_systemd_journal=no])
1788 AS_IF([test "x$have_systemd_daemon" = "xyes" -a "x$have_systemd_journal" = "xyes" ],[
1791 AS_CASE([$with_systemd:$have_systemd],
1793 [AC_MSG_ERROR([systemd expected but libsystemd not found])],
1795 AC_DEFINE([HAVE_LIBSYSTEMD], [1], [Define if libsystemd is available])
1798 AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$have_systemd" = xyes])
1801 AC_ARG_WITH([systemdsystemunitdir],
1802 AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [directory for systemd service files]),
1803 [], [with_systemdsystemunitdir=`$PKG_CONFIG --variable=systemdsystemunitdir systemd`])
1805 AS_IF([test "x$with_systemdsystemunitdir" != "xno"], [
1806 AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
1810 AC_ARG_WITH([smack],
1811 AS_HELP_STRING([--with-smack], [build with SMACK support]),
1814 AS_IF([test "x$with_smack" = xyes], [
1815 AC_DEFINE([HAVE_SMACK], [1], [Add SMACK support])
1819 AC_ARG_WITH([bashcompletiondir],
1820 AS_HELP_STRING([--with-bashcompletiondir=DIR], [Bash completions directory]),
1822 [AS_IF([`$PKG_CONFIG --exists bash-completion`], [
1823 with_bashcompletiondir=`$PKG_CONFIG --variable=completionsdir bash-completion`
1825 with_bashcompletiondir=${datadir}/bash-completion/completions
1828 AC_SUBST([bashcompletiondir], [$with_bashcompletiondir])
1830 AC_ARG_ENABLE([bash-completion],
1831 AS_HELP_STRING([--disable-bash-completion], [do not install bash completion files]),
1832 [], [enable_bash_completion=yes]
1835 AM_CONDITIONAL([BUILD_BASH_COMPLETION], [test "x$enable_bash_completion" = xyes])
1838 AC_ARG_WITH([python],
1839 AS_HELP_STRING([--without-python], [do not build python bindings, use --with-python={2,3} to force version]),
1840 [], [with_python=check withval=check]
1845 AS_IF([test "x$with_python" != xno], [
1846 # We follow distributions default and look for PKG module name "python"
1847 # (minimal version is 2) but if major version is explicitly specified by
1848 # --with-python=2 or --with-python=3 then we look for PKG module "python2" or
1850 AS_IF([test "x$withval" != xno -a "x$withval" != xyes -a "x$withval" != xcheck],
1851 [pymajor="$withval"; PYTHON=python${pymajor}], [pymajor="2"])
1853 # check for python interpreter
1854 AM_PATH_PYTHON([$pymajor], [have_python=yes], [have_python=no])
1855 AS_CASE([$with_python:$have_python],
1857 [AC_MSG_ERROR([python selected but python interpreter not found])],
1859 [AC_MSG_WARN([python interpreter not found, do not build python bindings])],
1861 # check for python development stuff
1862 [PKG_CHECK_MODULES([PYTHON], [python-$PYTHON_VERSION],
1863 [have_libpython=yes], [have_libpython=no])]
1868 AC_ARG_ENABLE([pylibmount],
1869 AS_HELP_STRING([--disable-pylibmount], [do not build pylibmount]),
1870 [], [UL_DEFAULT_ENABLE([pylibmount], [check])]
1872 UL_BUILD_INIT([pylibmount])
1873 UL_REQUIRES_HAVE([pylibmount], [libpython], [libpython])
1874 UL_REQUIRES_BUILD([pylibmount], [libmount])
1875 AM_CONDITIONAL([BUILD_PYLIBMOUNT], [test "x$build_pylibmount" = "xyes"])
1878 AC_ARG_ENABLE([pg-bell],
1879 AS_HELP_STRING([--disable-pg-bell], [let pg not ring the bell on invalid keys]),
1880 [], [enable_pg_bell=yes]
1883 AS_IF([test "x$enable_pg_bell" = xyes], [
1884 AC_DEFINE([PG_BELL], [1], [Should pg ring the bell on invalid keys?])
1888 AC_DEFUN([FS_PATHS_DEFAULT], [/sbin:/sbin/fs.d:/sbin/fs])
1889 AC_ARG_ENABLE([fs-paths-default],
1890 AS_HELP_STRING([--enable-fs-paths-default=paths], [default search path for fs helpers @<:@FS_PATHS_DEFAULT@:>@]),
1891 [AS_CASE([$enableval],
1892 [yes], [fs_paths_defaults="FS_PATHS_DEFAULT"],
1893 [no], [fs_paths_defaults=""],
1894 [fs_paths_defaults="$enableval"]
1896 [fs_paths_defaults="FS_PATHS_DEFAULT"]
1898 AC_ARG_ENABLE([fs-paths-extra],
1899 AS_HELP_STRING([--enable-fs-paths-extra=paths], [additional search paths for fs helpers]),
1900 [AS_CASE([$enableval],
1901 [yes|no], [fs_paths_extra=""],
1902 [fs_paths_extra="$enableval"]
1906 fs_paths="$fs_paths_defaults"
1907 AS_IF([test "x$fs_paths_extra" != "x"], [
1908 AS_IF([test "x$fs_paths" != "x"], [
1909 fs_paths="${fs_paths}:"
1911 fs_paths="${fs_paths}${fs_paths_extra}"
1913 AC_DEFINE_UNQUOTED([FS_SEARCH_PATH], "$fs_paths", [search path for fs helpers])
1916 AC_ARG_ENABLE([use-tty-group],
1917 AS_HELP_STRING([--disable-use-tty-group], [do not install wall and write setgid tty]),
1918 [], [enable_use_tty_group=yes]
1920 AM_CONDITIONAL([USE_TTY_GROUP], [test "x$enable_use_tty_group" = xyes])
1922 AS_IF([test "x$enable_use_tty_group" = xyes], [
1923 AC_DEFINE([USE_TTY_GROUP], [1], [Should wall and write be installed setgid tty?])
1927 AC_ARG_ENABLE([sulogin-emergency-mount],
1928 AS_HELP_STRING([--enable-sulogin-emergency-mount],
1929 [use emergency mount of /dev and /proc for sulogin]),
1930 [], [enable_sulogin_emergency_mount=no]
1933 AS_IF([test "x$enable_sulogin_emergency_mount" = xyes], [
1934 AC_DEFINE([USE_SULOGIN_EMERGENCY_MOUNT], [1],
1935 [Should sulogin use a emergency mount of /dev and /proc?])
1939 AC_ARG_ENABLE([usrdir-path],
1940 AS_HELP_STRING([--enable-usrdir-path], [use only /usr paths in PATH env. variable (recommended on systems with /bin -> /usr/bin symlinks)]),
1941 [], [enable_usrdir_path=no]
1944 AS_IF([test "x$enable_usrdir_path" == xyes], [
1945 AC_DEFINE([USE_USRDIR_PATHS_ONLY], [1], [Define to 1 to remove /bin and /sbin from PATH env.variable])
1949 AC_ARG_ENABLE([makeinstall-chown],
1950 AS_HELP_STRING([--disable-makeinstall-chown], [do not do chown-like operations during "make install"]),
1951 [], [enable_makeinstall_chown=yes]
1953 AM_CONDITIONAL([MAKEINSTALL_DO_CHOWN], [test "x$enable_makeinstall_chown" = xyes])
1956 AC_ARG_ENABLE([makeinstall-setuid],
1957 AS_HELP_STRING([--disable-makeinstall-setuid], [do not do setuid chmod operations during "make install"]),
1958 [], [enable_makeinstall_setuid=yes]
1960 AM_CONDITIONAL([MAKEINSTALL_DO_SETUID], [test "x$enable_makeinstall_setuid" = xyes])
1963 AC_ARG_ENABLE([colors-default],
1964 AS_HELP_STRING([--disable-colors-default], [do not colorize output from utils by default]),
1965 [], [enable_colors_default=yes]
1967 AS_IF([test "x$enable_colors_default" = xyes], [
1968 AC_DEFINE([USE_COLORS_BY_DEFAULT], [1], [Enables colorized output from utils by default])
1972 AC_ARG_VAR([SUID_CFLAGS],
1973 [CFLAGS used for binaries which are usually with the suid bit])
1974 AC_ARG_VAR([SUID_LDFLAGS],
1975 [LDFLAGS used for binaries which are usually with the suid bit])
1977 AC_ARG_VAR([DAEMON_CFLAGS],
1978 [CFLAGS used for binaries which are usually executed as daemons])
1979 AC_ARG_VAR([DAEMON_LDFLAGS],
1980 [LDFLAGS used for binaries which are usually executed as daemons])
1982 AC_ARG_VAR([SOLIB_CFLAGS],
1983 [CFLAGS used for shared libraries])
1984 AC_ARG_VAR([SOLIB_LDFLAGS],
1985 [LDFLAGS used for shared libraries])
1987 AC_ARG_VAR([ADJTIME_PATH],
1988 [Path to hwclock adjtime file, default /etc/adjtime])
1989 AS_IF([test "x$ADJTIME_PATH" = x], [ADJTIME_PATH="/etc/adjtime"])
1990 AC_DEFINE_UNQUOTED([CONFIG_ADJTIME_PATH], "$ADJTIME_PATH", [Path to hwclock adjtime file])
1996 AC_CONFIG_HEADERS([config.h])
1999 # Don't use configure.ac to replace install paths! See Makefile PATHFILES for
2004 libblkid/docs/Makefile
2005 libblkid/docs/version.xml
2006 libblkid/src/blkid.h
2007 libfdisk/docs/Makefile
2008 libfdisk/docs/version.xml
2009 libfdisk/src/libfdisk.h
2010 libmount/docs/Makefile
2011 libmount/docs/version.xml
2012 libmount/src/libmount.h
2013 libsmartcols/docs/Makefile
2014 libsmartcols/docs/version.xml
2015 libsmartcols/src/libsmartcols.h
2022 ${PACKAGE} ${VERSION}
2025 exec prefix: ${exec_prefix}
2027 localstatedir: ${localstatedir}
2031 includedir: ${includedir}
2032 usrbin_execdir: ${usrbin_execdir}
2033 usrsbin_execdir: ${usrsbin_execdir}
2034 usrlib_execdir: ${usrlib_execdir}
2038 suid cflags: ${SUID_CFLAGS}
2040 suid ldflags: ${SUID_LDFLAGS}
2043 Python version: ${PYTHON_VERSION}
2044 Python libs: ${pyexecdir}
2046 Bash completions: ${with_bashcompletiondir}
2047 Systemd support: ${have_systemd}
2053 Type 'make' or 'make <utilname>' to compile.