2 m4_esyscmd([tools/git-version-gen .tarball-version]),
4 [http://www.kernel.org/pub/linux/utils/util-linux/])
9 AC_CONFIG_AUX_DIR([config])
10 AC_CONFIG_MACRO_DIR([m4])
11 dnl AC_USE_SYSTEM_EXTENSIONS must be called before any macros that run
12 dnl the compiler (like AC_PROG_LIBTOOL) to avoid autoconf errors.
13 AC_USE_SYSTEM_EXTENSIONS
14 AM_INIT_AUTOMAKE([-Wall foreign 1.10 tar-pax dist-bzip2 no-dist-gzip dist-xz -Wno-portability subdir-objects])
16 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
17 [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
19 AC_CONFIG_SRCDIR([sys-utils/mount.c])
20 AC_PREFIX_DEFAULT([/usr])
22 dnl version details from <major>.<minor>[-<suffix>]
23 PACKAGE_VERSION_MAJOR=$(echo $PACKAGE_VERSION | awk -F. '{print $1}')
24 PACKAGE_VERSION_MINOR=$(echo $PACKAGE_VERSION | awk -F. '{print $2}' \
25 | awk -F- '{print $1}')
27 PACKAGE_VERSION_RELEASE=$(echo $PACKAGE_VERSION | awk -F. '{print $3}' \
28 | sed 's/.*@<:@^@<:@:digit:@:>@@:>@.*/0/')
32 LIBBLKID_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
33 LIBBLKID_DATE="07-Sep-2015"
37 LIBBLKID_VERSION_INFO=`expr $LIBBLKID_LT_MAJOR + $LIBBLKID_LT_MINOR`:$LIBBLKID_LT_MICRO:$LIBBLKID_LT_MINOR
40 LIBUUID_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
44 LIBUUID_VERSION_INFO=`expr $LIBUUID_LT_MAJOR + $LIBUUID_LT_MINOR`:$LIBUUID_LT_MICRO:$LIBUUID_LT_MINOR
47 LIBMOUNT_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
51 LIBMOUNT_VERSION_INFO=`expr $LIBMOUNT_LT_MAJOR + $LIBMOUNT_LT_MINOR`:$LIBMOUNT_LT_MICRO:$LIBMOUNT_LT_MINOR
53 dnl libsmartcols version
54 LIBSMARTCOLS_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
55 LIBSMARTCOLS_LT_MAJOR=1
56 LIBSMARTCOLS_LT_MINOR=1
57 LIBSMARTCOLS_LT_MICRO=0
58 LIBSMARTCOLS_VERSION_INFO=`expr $LIBSMARTCOLS_LT_MAJOR + $LIBSMARTCOLS_LT_MINOR`:$LIBSMARTCOLS_LT_MICRO:$LIBSMARTCOLS_LT_MINOR
61 LIBFDISK_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
65 LIBFDISK_VERSION_INFO=`expr $LIBFDISK_LT_MAJOR + $LIBFDISK_LT_MINOR`:$LIBFDISK_LT_MICRO:$LIBFDISK_LT_MINOR
67 # Check whether exec_prefix=/usr:
68 AS_CASE([$exec_prefix:$prefix],
69 [NONE:NONE | NONE:/usr | /usr:*],
70 [AC_MSG_NOTICE([Default --exec-prefix detected.])
71 AS_CASE([$bindir], ['${exec_prefix}/bin'], [bindir=/bin; AC_MSG_NOTICE([ --bindir defaults to /bin]) ])
72 AS_CASE([$sbindir], ['${exec_prefix}/sbin'], [sbindir=/sbin; AC_MSG_NOTICE([ --sbindir defaults to /sbin])])
73 AS_CASE([$libdir], ['${exec_prefix}/lib'], [libdir=/lib; AC_MSG_NOTICE([ --libdir defaults to /lib]) ])
77 AS_CASE([$prefix:$localstatedir],
78 [NONE:'${prefix}/var' | /usr:'${prefix}/var'],
80 AC_MSG_NOTICE([ --localstatedir defaults to /run])
83 AC_SUBST([localstatedir])
86 # The original default values of {bin,sbin,lib}dir
87 usrbin_execdir='${exec_prefix}/bin'
88 AC_SUBST([usrbin_execdir])
90 usrsbin_execdir='${exec_prefix}/sbin'
91 AC_SUBST([usrsbin_execdir])
94 ['${exec_prefix}/'* | '${prefix}/'* | /usr/* | "${prefix}"/* ],
95 [usrlib_execdir=$libdir],
96 [usrlib_execdir='${exec_prefix}'$libdir]
98 AC_SUBST([usrlib_execdir])
108 dnl Compiler warnings
109 UL_WARN_ADD([-fno-common])
111 UL_WARN_ADD([-Werror=sequence-point])
112 UL_WARN_ADD([-Wextra])
113 UL_WARN_ADD([-Wextra-semi])
114 UL_WARN_ADD([-Wembedded-directive])
115 UL_WARN_ADD([-Wmissing-declarations])
116 UL_WARN_ADD([-Wmissing-parameter-type])
117 UL_WARN_ADD([-Wmissing-prototypes])
118 UL_WARN_ADD([-Wno-missing-field-initializers])
119 UL_WARN_ADD([-Wredundant-decls])
120 UL_WARN_ADD([-Wsign-compare])
121 UL_WARN_ADD([-Wtype-limits])
122 UL_WARN_ADD([-Wuninitialized])
123 UL_WARN_ADD([-Wunused-but-set-parameter])
124 UL_WARN_ADD([-Wunused-but-set-variable])
125 UL_WARN_ADD([-Wunused-parameter])
126 UL_WARN_ADD([-Wunused-result])
127 UL_WARN_ADD([-Wunused-variable])
128 UL_WARN_ADD([-Wnested-externs])
129 UL_WARN_ADD([-Wpointer-arith])
130 UL_WARN_ADD([-Wstrict-prototypes])
131 UL_WARN_ADD([-Wformat-security])
132 UL_WARN_ADD([-Wimplicit-function-declaration])
133 AC_SUBST([WARN_CFLAGS])
135 UL_WARN_ADD([-Wno-clobbered], [BSD_WARN_CFLAGS])
136 AC_SUBST([BSD_WARN_CFLAGS])
141 m4_ifndef([PKG_PROG_PKG_CONFIG],
142 [m4_fatal([Could not locate the pkg-config autoconf
143 macros. These are usually located in /usr/share/aclocal/pkg.m4.
144 If your macros are in a different location, try setting the
145 environment variable AL_OPTS="-I/other/macro/dir" before running
146 ./autogen.sh or autoreconf again.])])
149 GTK_DOC_CHECK([1.10])
150 AC_PATH_PROG([XSLTPROC], [xsltproc])
155 AS_CASE([${host_os}],
160 AM_CONDITIONAL([LINUX], [test "x$linux_os" = xyes])
161 AM_CONDITIONAL([BSD], [test "x$bsd_os" = xyes])
164 dnl define ARCH_<NAME> conditionals
165 UL_SET_ARCH([I86], [i?86-*])
166 UL_SET_ARCH([86_64], [x86_64*])
167 UL_SET_ARCH([IA64], [ia64*])
168 UL_SET_ARCH([S390], [s390*])
169 UL_SET_ARCH([SPARC], [sparc*])
170 UL_SET_ARCH([PPC], [ppc*|powerpc*])
171 UL_SET_ARCH([M68K], [m68*])
172 UL_SET_ARCH([MIPS], [mips*])
173 UL_SET_ARCH([HPPA], [hppa*])
178 dnl Don't forget to maintain alternatively allowed versions in autogen.sh!
179 AM_GNU_GETTEXT_VERSION([0.18.3])
180 AM_GNU_GETTEXT([external])
182 AS_IF([test -d "$srcdir/po"], [
183 ALL_LINGUAS=`cd $srcdir/po > /dev/null && echo *.po | sed 's/\.po//g'`
185 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"
188 AC_CHECK_HEADERS([linux/compiler.h linux/blkpg.h linux/major.h], [], [], [
189 #ifdef HAVE_LINUX_COMPILER_H
190 #include <linux/compiler.h>
216 security/pam_appl.h \
247 AC_CHECK_HEADERS([security/pam_misc.h],
248 [AM_CONDITIONAL([HAVE_LINUXPAM], [true])],
249 [AM_CONDITIONAL([HAVE_LINUXPAM], [false])], [
250 #ifdef HAVE_SECURITY_PAM_APPL_H
251 #include <security/pam_appl.h>
255 AC_CHECK_HEADERS([security/openpam.h], [], [], [
256 #ifdef HAVE_SECURITY_PAM_APPL_H
257 #include <security/pam_appl.h>
261 AC_CHECK_HEADERS([langinfo.h],
262 [AM_CONDITIONAL([HAVE_LANGINFO], [true])],
263 [AM_CONDITIONAL([HAVE_LANGINFO], [false])])
265 dnl Convert some ac_cv_header_* variables to have_*
267 have_linux_raw_h=$ac_cv_header_linux_raw_h
268 have_linux_securebits_h=$ac_cv_header_linux_securebits_h
269 have_linux_watchdog_h=$ac_cv_header_linux_watchdog_h
270 have_security_pam_appl_h=$ac_cv_header_security_pam_appl_h
271 have_security_pam_misc_h=$ac_cv_header_security_pam_misc_h
272 have_security_openpam_h=$ac_cv_header_security_openpam_h
274 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
279 struct tm *tm = localtime(0);
280 if (a == -1) /* false */
281 sleep(tm->tm_gmtoff);
283 [AC_DEFINE([HAVE_TM_GMTOFF], [1], [Does struct tm have a field tm_gmtoff?])
286 AC_CHECK_MEMBERS([struct termios.c_line],,,
287 [[#include <termios.h>]])
289 AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec],,,
290 [#include <sys/stat.h>])
292 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
294 #ifdef HAVE_SYS_SWAP_H
295 # include <sys/swap.h>
299 [[swapon("/dev/null", 0);]])],
300 [AC_DEFINE([SWAPON_HAS_TWO_ARGS], [1], [Is swapon() declared with two parameters?])
302 [AC_MSG_NOTICE([Your libc thinks that swapon has 1 arg only.])
306 AC_CHECK_DECLS([_NL_TIME_WEEK_1STDAY],[],[],[[#include <langinfo.h>]])
308 AC_CHECK_DECL([llseek],
309 [AC_DEFINE([HAVE_LLSEEK_PROTOTYPE], [1],
310 [Define to 1 if have llseek prototype])],
312 [#include <unistd.h>])
314 AC_CHECK_DECL([lseek64],
315 [AC_DEFINE([HAVE_LSEEK64_PROTOTYPE], [1],
316 [Define to 1 if have lseek64 prototype])],
318 [#define _LARGEFILE_SOURCE
319 #define _LARGEFILE64_SOURCE
320 #include <unistd.h>])
322 AC_CHECK_DECL([environ],
323 [AC_DEFINE([HAVE_ENVIRON_DECL], [1],
324 [Define to 1 if have **environ prototype])],
327 AC_CHECK_DECL([strsignal],
328 [AC_DEFINE([HAVE_STRSIGNAL_DECL], [1],
329 [Define to 1 if have strsignal function prototype])],
376 AC_CHECK_FUNCS([openat fstatat unlinkat], [have_openat=yes], [have_openat=no])
377 AC_CHECK_FUNCS([ioperm iopl], [have_io=yes])
378 AC_CHECK_FUNCS([futimens], [have_futimens=yes])
379 AC_CHECK_FUNCS([inotify_init1], [have_inotify_init1=yes])
380 AC_CHECK_FUNCS([open_memstream], [have_open_memstream=yes],[have_open_memstream=no])
381 AC_CHECK_FUNCS([reboot], [have_reboot=yes],[have_reboot=no])
383 dnl lib/mononotic.c may require -lrt
384 AC_CHECK_FUNCS([clock_gettime], [],
385 [AC_CHECK_LIB([rt], [clock_gettime], [REALTIME_LIBS="-lrt"])]
387 AC_SUBST([REALTIME_LIBS])
390 AC_CHECK_FUNCS([timer_createx],
392 [AC_CHECK_LIB([rt], [timer_create], [
399 AC_CHECK_MEMBER([struct sockaddr.sa_len],
400 AC_DEFINE_UNQUOTED([HAVE_SA_LEN], [1], [Define if struct sockaddr contains sa_len]), [],
401 [#include <sys/types.h>
402 #include <sys/socket.h>])
405 AC_SEARCH_LIBS([socket], [socket],
406 [AS_IF([test x"$ac_cv_search_socket" != x"none required"],
407 [SOCKET_LIBS="$SOCKET_LIBS -lsocket"])
409 AC_SUBST([SOCKET_LIBS])
413 AC_CHECK_FUNCS([dirfd], [have_dirfd=yes], [have_dirfd=no])
414 AS_IF([test x"$have_dirfd" = xno], [
415 AC_CHECK_DECLS([dirfd],
416 [have_dirfd=yes], [have_dirfd=no],
417 [#include <sys/types.h>
418 #include <dirent.h>])
422 AS_IF([test x"$have_dirfd" = xno], [
423 AC_CHECK_MEMBERS([DIR.dd_fd],
424 [have_ddfd=yes], [have_ddfd=no],
425 [#include <sys/types.h>
426 #include <dirent.h>])
429 AS_CASE([$have_dirfd:$have_ddfd],
431 [AC_MSG_ERROR([cannot find a method to get filedescriptor of directory])]
435 AC_MSG_CHECKING([whether program_invocation_short_name is defined])
436 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
439 program_invocation_short_name = "test";
442 AC_DEFINE([HAVE_PROGRAM_INVOCATION_SHORT_NAME], [1],
443 [Define if program_invocation_short_name is defined])
449 AC_MSG_CHECKING([whether __progname is defined])
450 AC_LINK_IFELSE([AC_LANG_PROGRAM([extern char *__progname;],
451 [if (*__progname == 0) return;])],
452 AC_DEFINE([HAVE___PROGNAME], [1], [Define if __progname is defined])
453 AC_MSG_RESULT([yes]),
456 dnl Static compilation
457 m4_define([UL_STATIC_PROGRAMS], [losetup, mount, umount, fdisk, sfdisk, blkid, nsenter, unshare])
459 AC_ARG_ENABLE([static-programs],
460 [AS_HELP_STRING([--enable-static-programs=LIST],
461 [link static the programs in LIST (comma-separated,
462 supported for ]m4_defn([UL_STATIC_PROGRAMS])[)])])
464 AS_CASE([$enable_static_programs],
466 [enable_static_programs=m4_quote(UL_STATIC_PROGRAMS)],
468 [enable_static_programs=]
471 dnl Set all the individual AM_CONDITIONALs
472 m4_foreach([UL_PRG], m4_defn([UL_STATIC_PROGRAMS]), [
473 AS_CASE([,$enable_static_programs,],
474 [*,UL_PRG,*], [static_[]UL_PRG=yes]
476 AS_IF([test "x$static_[]UL_PRG" = xyes], [AC_MSG_NOTICE([enable static build: UL_PRG.])])
477 AM_CONDITIONAL([HAVE_STATIC_]m4_toupper(UL_PRG),
478 [test "x$static_[]UL_PRG" = xyes])
482 AC_ARG_ENABLE([all-programs],
483 AS_HELP_STRING([--disable-all-programs], [disable everything, might be overridden by --enable-<name>]),
484 [], [enable_all_programs=undefined]
487 AS_CASE([$enable_all_programs],
488 [yes], [AC_MSG_WARN([force to build all programs by default])
489 ul_default_estate=check],
490 [no], [AC_MSG_WARN([disable all programs by default])
491 ul_default_estate=no]
497 AC_DEFUN([UL_SCANF_TYPE_MODIFIER], [dnl
504 i = sscanf("x", $1, &s);
511 ul_save_CPPFLAGS="$CPPFLAGS"
512 CPPFLAGS="-Werror ${CPPFLAGS}"
513 AC_CACHE_VAL([scanf_cv_alloc_modifier],
514 AC_RUN_IFELSE([AC_LANG_SOURCE([UL_SCANF_TYPE_MODIFIER(["%ms"])])],
515 [scanf_cv_alloc_modifier=ms],
516 AC_RUN_IFELSE([AC_LANG_SOURCE([UL_SCANF_TYPE_MODIFIER(["%as"])])],
517 [scanf_cv_alloc_modifier=as],
518 [scanf_cv_alloc_modifier=no]
522 [AC_COMPILE_IFELSE([AC_LANG_SOURCE([
528 #if !(__GLIBC_PREREQ(2, 7))
529 #error %m is not available
532 #elif defined(_POSIX_VERSION)
534 #if _POSIX_VERSION < 200809L
535 #error %m is not available
539 #error Your C-library is not supported.
542 [scanf_cv_alloc_modifier=ms],
543 [scanf_cv_alloc_modifier=no])]
546 CPPFLAGS="$ul_save_CPPFLAGS"
548 AC_MSG_CHECKING([scanf string alloc modifiers])
549 AS_CASE([$scanf_cv_alloc_modifier],
551 [AC_MSG_RESULT([(%ms) yes])
552 AC_DEFINE([HAVE_SCANF_MS_MODIFIER], [1], [scanf %ms modifier])
553 have_scanf_alloc_modifier=yes],
555 [AC_MSG_RESULT([(%as) yes])
556 have_scanf_alloc_modifier=yes
557 AC_DEFINE([HAVE_SCANF_AS_MODIFIER], [1], [scanf %as modifier])],
559 have_scanf_alloc_modifier=no]
563 AC_ARG_WITH([util], AS_HELP_STRING([--without-util], [compile without libutil]),
566 AS_IF([test "x$with_util" = xno], [
567 AM_CONDITIONAL([HAVE_UTIL], [false])
570 UL_CHECK_LIB([util], [openpty])
574 AC_ARG_WITH([termcap], AS_HELP_STRING([--without-termcap], [compile without libtermcap]),
575 [], [with_termcap=auto]
577 AS_IF([test "x$with_termcap" = xno], [
578 AM_CONDITIONAL([HAVE_TERMCAP], [false])
581 UL_CHECK_LIB([termcap], [tgetnum])
585 AC_CHECK_TYPES([union semun], [], [], [[
588 AC_CHECK_TYPES([loff_t])
590 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
598 if (w == WEOF) exit(1);
602 [AC_DEFINE([HAVE_WIDECHAR], [1], [Do we have wide character support?])
605 AC_CHECK_TYPES([cpu_set_t], [have_cpu_set_t=yes], [], [[
609 AM_CONDITIONAL([HAVE_CPU_SET_T], [test "x$have_cpu_set_t" = xyes])
611 AC_CHECK_TYPES([sighandler_t], [], [], [[
615 AC_CHECK_DECLS([CPU_ALLOC], [], [], [[
619 # on Solaris, you can't mix and match standards, since we use c99
620 # aparently at this stage, XOPEN_SOURCE will conflict. As workaround,
621 # check for crypt.h and use that without XOPEN_SOURCE.
622 AC_CHECK_HEADERS([crypt.h])
623 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
627 #define _XOPEN_SOURCE
631 char *c = crypt("abc","pw");
634 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
638 #define _XOPEN_SOURCE
642 char *c = crypt("abc","pw");
644 AC_DEFINE([HAVE_LIBCRYPT], [1], [Do we need -lcrypt?])
647 AC_MSG_ERROR([crypt() is not available])
650 AM_CONDITIONAL([HAVE_LIBCRYPT], [test "x$have_libcrypt" = xyes])
653 AC_ARG_WITH([selinux],
654 AS_HELP_STRING([--with-selinux], [compile with SELinux support]),
655 [], [with_selinux=no]
658 AS_IF([test "x$with_selinux" = xno], [
659 AM_CONDITIONAL([HAVE_SELINUX], [false])
661 PKG_CHECK_MODULES([SELINUX], [libselinux >= 2.0],
662 [AC_DEFINE([HAVE_LIBSELINUX], [1], [Define if SELinux is available])
663 UL_PKG_STATIC([SELINUX_LIBS_STATIC], [libselinux])
664 AM_CONDITIONAL([HAVE_SELINUX], [true])
668 AS_CASE([$with_selinux:$have_selinux],
669 [yes:no], [AC_MSG_ERROR([SELinux selected but libselinux not found or too old])]
672 AS_IF([test "x$have_selinux" = xyes], [
673 UL_SET_FLAGS([], [], [$SELINUX_LIBS])
674 # This function is missing in old libselinux 1.xx versions
675 AC_CHECK_FUNCS([security_get_initial_context])
679 AC_SUBST([SELINUX_LIBS])
680 AC_SUBST([SELINUX_LIBS_STATIC])
684 AS_HELP_STRING([--with-audit], [compile with audit support]),
688 AS_IF([test "x$with_audit" = xno], [
689 AM_CONDITIONAL([HAVE_AUDIT], [false])
691 UL_CHECK_LIB([audit], [audit_log_user_message])
692 AS_CASE([$with_audit:$have_audit],
694 [AC_MSG_ERROR([Audit selected but libaudit not found (or does not support audit_log_user_message())])]
698 AC_ARG_WITH([udev], AS_HELP_STRING([--without-udev], [compile without udev support]),
702 AS_IF([test "x$with_udev" = xno], [
703 AM_CONDITIONAL([HAVE_UDEV], [false])
705 UL_CHECK_LIB([udev], [udev_new])
706 AS_CASE([$with_udev:$have_udev],
708 [AC_MSG_ERROR([udev selected but libudev not found])]
712 AC_ARG_WITH([ncurses],
713 AS_HELP_STRING([--with-ncurses], [build with non-wide ncurses, default is wide version
714 (--without-ncurses disables all ncurses(w) support)]),
715 [], [with_ncurses=auto]
717 AM_CONDITIONAL([HAVE_NCURSES], [false])
718 AS_IF([test "x$with_ncurses" != xno], [
721 dnl First try to find the pkg-config module.
722 PKG_CHECK_MODULES(NCURSESW, [ncursesw], [
724 NCURSES_LIBS=${NCURSESW_LIBS}
725 NCURSES_CFLAGS=${NCURSESW_CFLAGS}
726 AC_DEFINE([HAVE_LIBNCURSESW])
727 CURSES_LIB_NAME="ncursesw"
729 PKG_CHECK_MODULES(NCURSES, [ncurses], [
731 AC_DEFINE([HAVE_LIBNCURSES])
732 CURSES_LIB_NAME="ncursesw"
736 AS_IF([test "x$have_ncurses" = xyes], [
737 dnl If that worked, setup the defines that the code expects.
738 save_CPPFLAGS="$CPPFLAGS"
739 CPPFLAGS="$CPPFLAGS $NCURSES_CFLAGS"
740 AC_CHECK_HEADERS([ncurses.h])
741 CPPFLAGS="$save_CPPFLAGS"
743 dnl If that failed, fall back to classic searching.
744 AC_CHECK_HEADERS([ncurses.h ncurses/ncurses.h], [
745 AS_IF([test "x$with_ncurses" = xauto], [
746 UL_CHECK_LIB([ncursesw], [initscr], [ncurses])
747 AS_IF([test "x$have_ncurses" = xyes], [
748 AC_CHECK_HEADERS([ncursesw/ncurses.h])
749 NCURSES_LIBS="-lncursesw"
750 CURSES_LIB_NAME="ncursesw"
753 AS_IF([test "x$have_ncurses" = xno], [
754 UL_CHECK_LIB(ncurses, initscr)
755 AS_IF([test "x$have_ncurses" = xyes], [
756 NCURSES_LIBS="-lncurses"
757 CURSES_LIB_NAME="ncurses"
763 AS_CASE([$with_ncurses:$have_ncurses],
764 [yes:no], [AC_MSG_ERROR([ncurses or ncursesw selected, but library not found])]
768 AC_SUBST([NCURSES_CFLAGS])
769 AC_SUBST([NCURSES_LIBS])
773 AS_HELP_STRING([--with-slang], [compile cfdisk with slang]),
777 AS_IF([test "x$with_slang" = xyes], [
778 AC_CHECK_HEADERS([slang.h slang/slang.h])
779 AC_CHECK_HEADERS([slcurses.h slang/slcurses.h],
780 [have_slang=yes], [], [
783 #elif defined(HAVE_SLANG_SLANG_H)
784 #include <slang/slang.h>
787 AS_IF([test "x$have_slang" = xno], [
788 AC_MSG_ERROR([slang selected but slcurses.h not found])],
789 [CURSES_LIB_NAME=slang
792 AM_CONDITIONAL([HAVE_SLANG], [test "x$have_slang" = xyes])
795 AS_IF([test "x$have_slang" = xyes -o "x$have_ncurses" = xyes], [
796 AC_CHECK_LIB([$CURSES_LIB_NAME], use_default_colors, [
797 AC_DEFINE(HAVE_USE_DEFAULT_COLORS, 1,
798 [Define if curses library has the use_default_colors().])
800 AC_CHECK_LIB([$CURSES_LIB_NAME], resizeterm, [
801 AC_DEFINE(HAVE_RESIZETERM, 1,
802 [Define if curses library has the resizeterm().])
807 AC_ARG_WITH([tinfo], AS_HELP_STRING([--without-tinfo], [compile without libtinfo]),
808 [], [with_tinfo=auto]
811 AS_IF([test "x$with_tinfo" != xno], [
812 dnl Try pkg-config for libtinfo
813 PKG_CHECK_MODULES(TINFO, [tinfo], [
814 dnl pkg-config success
816 UL_PKG_STATIC([TINFO_LIBS_STATIC], [tinfo])], [
818 dnl If pkg-config failed, fall back to classic searching.
819 AC_CHECK_LIB([tinfo], [tgetent], [
822 TINFO_LIBS_STATIC="-ltinfo"
826 AC_SUBST([TINFO_LIBS])
827 AC_SUBST([TINFO_LIBS_STATIC])
828 AC_SUBST([TINFO_CFLAGS])
829 AM_CONDITIONAL([HAVE_TINFO], [test "x$have_tinfo" = xyes])
830 AS_IF([test "x$have_tinfo" = xyes], [
831 AC_DEFINE(HAVE_LIBTINFO, 1, [Define if libtinfo available.])
835 AC_ARG_WITH([readline],
836 AS_HELP_STRING([--with-readline], [compile with GNU Readline support]),
837 [], [with_readline=auto]
840 AS_IF([test "x$with_readline" = xno], [
841 AM_CONDITIONAL([HAVE_READLINE], [false])
843 UL_CHECK_LIB([readline], [readline])
844 AS_CASE([$with_readline:$have_readline],
846 [AC_MSG_ERROR([readline selected but libreadline not found ])],
848 [READLINE_LIBS="-lreadline"
849 READLINE_LIBS_STATIC="-lreadline $TINFO_LIBS_STATIC"]
852 AC_SUBST([READLINE_LIBS])
853 AC_SUBST([READLINE_LIBS_STATIC])
856 AC_ARG_WITH([utempter],
857 AS_HELP_STRING([--with-utempter], [compile script(1) with libutempter]),
858 [], [with_utempter=no]
861 AS_IF([test "x$with_utempter" = xyes], [
862 UL_CHECK_LIB([utempter], [utempter_add_record])
863 AS_IF([test "x$have_utempter" = xno], [
864 AC_MSG_ERROR([utempter selected but libutempter not found])
867 AM_CONDITIONAL([HAVE_UTEMPTER], [false])
874 AC_ARG_ENABLE([libuuid],
875 AS_HELP_STRING([--disable-libuuid], [do not build libuuid and uuid utilities]),
876 [], [UL_DEFAULT_ENABLE([libuuid], [yes])]
878 UL_BUILD_INIT([libuuid])
879 AC_SUBST([LIBUUID_VERSION])
880 AC_SUBST([LIBUUID_VERSION_INFO])
881 AM_CONDITIONAL(BUILD_LIBUUID, test "x$build_libuuid" = xyes)
883 AS_IF([test "x$build_libuuid" = xyes], [
884 AC_DEFINE(HAVE_LIBUUID, 1, [Define to 1 if you have the -luuid.])
890 AC_ARG_ENABLE([libblkid],
891 AS_HELP_STRING([--disable-libblkid], [do not build libblkid and many related utilities]),
892 [], [UL_DEFAULT_ENABLE([libblkid], [yes])]
894 UL_BUILD_INIT([libblkid])
895 AC_SUBST([LIBBLKID_DATE])
896 AC_SUBST([LIBBLKID_VERSION])
897 AC_SUBST([LIBBLKID_VERSION_INFO])
898 AC_DEFINE_UNQUOTED([LIBBLKID_VERSION], ["$LIBBLKID_VERSION"], [libblkid version string])
899 AC_DEFINE_UNQUOTED([LIBBLKID_DATE], ["$LIBBLKID_DATE"], [libblkid date string])
900 AS_IF([test "x$build_libblkid" = xyes], [
901 AC_DEFINE([HAVE_LIBBLKID], [1], [Define to 1 if you have the -lblkid.])
903 AM_CONDITIONAL([BUILD_LIBBLKID], [test "x$build_libblkid" = xyes])
904 AM_CONDITIONAL([BUILD_LIBBLKID_TESTS], [test "x$build_libblkid" = xyes -a "x$enable_static" = xyes])
909 AC_ARG_ENABLE([libmount],
910 AS_HELP_STRING([--disable-libmount], [do not build libmount]),
911 [], [UL_DEFAULT_ENABLE([libmount], [check])]
913 UL_BUILD_INIT([libmount])
914 UL_REQUIRES_BUILD([libmount], [libblkid])
915 UL_REQUIRES_HAVE([libmount], [scanf_alloc_modifier], [scanf string alloc modifier])
916 AM_CONDITIONAL([BUILD_LIBMOUNT], [test "x$build_libmount" = xyes])
917 AM_CONDITIONAL([BUILD_LIBMOUNT_TESTS], [test "x$build_libmount" = xyes -a "x$enable_static" = xyes])
918 AS_IF([test "x$build_libmount" = xyes], [
919 AC_DEFINE(HAVE_LIBMOUNT, 1, [Define if libmount available.])
922 AC_SUBST([LIBMOUNT_VERSION])
923 AC_SUBST([LIBMOUNT_MAJOR_VERSION], $PACKAGE_VERSION_MAJOR)
924 AC_SUBST([LIBMOUNT_MINOR_VERSION], $PACKAGE_VERSION_MINOR)
925 AC_SUBST([LIBMOUNT_PATCH_VERSION], $PACKAGE_VERSION_RELEASE)
926 AC_SUBST([LIBMOUNT_VERSION_INFO])
927 AC_DEFINE_UNQUOTED([LIBMOUNT_VERSION], ["$LIBMOUNT_VERSION"], [libmount version string])
929 AC_ARG_ENABLE([libmount-force-mountinfo],
930 AS_HELP_STRING([--enable-libmount-force-mountinfo], [ignore /etc/mtab in all situations (recommended for systemd)]),
931 [], [enable_libmount_force_mountinfo=no]
934 AS_IF([test "x$enable_libmount_force_mountinfo" == xyes], [
935 AC_DEFINE([USE_LIBMOUNT_FORCE_MOUNTINFO], [1], [Define to 1 if want to ignore mtab in all situations.])
942 AC_ARG_ENABLE([libsmartcols],
943 AS_HELP_STRING([--disable-libsmartcols], [do not build libsmartcols]),
944 [], [UL_DEFAULT_ENABLE([libsmartcols], [yes])]
946 UL_BUILD_INIT([libsmartcols])
947 AM_CONDITIONAL([BUILD_LIBSMARTCOLS], [test "x$build_libsmartcols" = xyes])
948 AM_CONDITIONAL([BUILD_LIBSMARTCOLS_TESTS], [test "x$build_libsmartcols" = xyes -a "x$enable_static" = xyes])
950 AC_SUBST([LIBSMARTCOLS_VERSION])
951 AC_SUBST([LIBSMARTCOLS_VERSION_INFO])
952 AC_DEFINE_UNQUOTED([LIBSMARTCOLS_VERSION], ["$LIBSMARTCOLS_VERSION"], [libsmartcols version string])
958 AC_ARG_ENABLE([libfdisk],
959 AS_HELP_STRING([--disable-libfdisk], [do not build libfdisk]),
960 [], [UL_DEFAULT_ENABLE([libfdisk], [check])]
962 UL_BUILD_INIT([libfdisk])
963 UL_REQUIRES_BUILD([libfdisk], [libuuid])
964 AM_CONDITIONAL([BUILD_LIBFDISK], [test "x$build_libfdisk" = xyes])
965 AM_CONDITIONAL([BUILD_LIBFDISK_TESTS], [test "x$build_libfdisk" = xyes -a "x$enable_static" = xyes])
967 AS_IF([test "x$build_libblkid" = xyes],
968 [LIBFDISK_PC_REQUIRES="uuid blkid"],[LIBFDISK_PC_REQUIRES="uuid"])
969 AC_SUBST([LIBFDISK_PC_REQUIRES])
971 AC_SUBST([LIBFDISK_VERSION])
972 AC_SUBST([LIBFDISK_MAJOR_VERSION], $PACKAGE_VERSION_MAJOR)
973 AC_SUBST([LIBFDISK_MINOR_VERSION], $PACKAGE_VERSION_MINOR)
974 AC_SUBST([LIBFDISK_PATCH_VERSION], $PACKAGE_VERSION_RELEASE)
975 AC_SUBST([LIBFDISK_VERSION_INFO])
976 AC_DEFINE_UNQUOTED([LIBFDISK_VERSION], ["$LIBFDISK_VERSION"], [libfdisk version string])
979 UL_BUILD_INIT([fdisk], [check])
980 UL_REQUIRES_BUILD([fdisk], [libfdisk])
981 UL_REQUIRES_BUILD([fdisk], [libsmartcols])
982 AM_CONDITIONAL([BUILD_FDISK], [test "x$build_fdisk" = xyes])
985 UL_BUILD_INIT([sfdisk], [check])
986 UL_REQUIRES_BUILD([sfdisk], [libfdisk])
987 UL_REQUIRES_BUILD([sfdisk], [libsmartcols])
988 AM_CONDITIONAL([BUILD_SFDISK], [test "x$build_sfdisk" = xyes])
991 UL_BUILD_INIT([cfdisk], [check])
992 UL_REQUIRES_BUILD([cfdisk], [libfdisk])
993 UL_REQUIRES_BUILD([cfdisk], [libsmartcols])
994 UL_REQUIRES_HAVE([cfdisk], [open_memstream])
995 UL_REQUIRES_HAVE([cfdisk], [ncurses,slang], [ncurses or slang library])
996 AM_CONDITIONAL([BUILD_CFDISK], [test "x$build_cfdisk" = xyes])
999 AC_ARG_ENABLE([mount],
1000 AS_HELP_STRING([--disable-mount], [do not build mount(8) and umount(8)]),
1001 [], [UL_DEFAULT_ENABLE([mount], [check])]
1003 UL_BUILD_INIT([mount])
1004 UL_REQUIRES_LINUX([mount])
1005 UL_REQUIRES_BUILD([mount], [libmount])
1006 AM_CONDITIONAL([BUILD_MOUNT], [test "x$build_mount" = xyes])
1009 AC_ARG_ENABLE([losetup],
1010 AS_HELP_STRING([--disable-losetup], [do not build losetup]),
1011 [], [UL_DEFAULT_ENABLE([losetup], [check])]
1013 UL_BUILD_INIT([losetup])
1014 UL_REQUIRES_LINUX([losetup])
1015 UL_REQUIRES_BUILD([losetup], [libsmartcols])
1016 AM_CONDITIONAL([BUILD_LOSETUP], [test "x$build_losetup" = xyes])
1018 AC_ARG_ENABLE([zramctl],
1019 AS_HELP_STRING([--disable-zramctl], [do not build zramctl]),
1020 [], [UL_DEFAULT_ENABLE([zramctl], [check])]
1022 UL_BUILD_INIT([zramctl])
1023 UL_REQUIRES_LINUX([zramctl])
1024 UL_REQUIRES_BUILD([zramctl], [libsmartcols])
1025 AM_CONDITIONAL([BUILD_ZRAMCTL], [test "x$build_zramctl" = xyes])
1027 AC_ARG_ENABLE([fsck],
1028 AS_HELP_STRING([--disable-fsck], [do not build fsck]),
1029 [], [UL_DEFAULT_ENABLE([fsck], [check])]
1031 UL_BUILD_INIT([fsck])
1032 UL_REQUIRES_BUILD([fsck], [libmount])
1033 AM_CONDITIONAL([BUILD_FSCK], [test "x$build_fsck" = xyes])
1036 AC_ARG_ENABLE([partx],
1037 AS_HELP_STRING([--disable-partx], [do not build addpart, delpart, partx]),
1038 [], [UL_DEFAULT_ENABLE([partx], [check])]
1040 UL_BUILD_INIT([partx])
1041 UL_REQUIRES_LINUX([partx])
1042 UL_REQUIRES_BUILD([partx], [libblkid])
1043 UL_REQUIRES_BUILD([partx], [libsmartcols])
1044 AM_CONDITIONAL([BUILD_PARTX], [test "x$build_partx" = xyes])
1047 AC_ARG_ENABLE([uuidd],
1048 AS_HELP_STRING([--disable-uuidd], [do not build the uuid daemon]),
1049 [], [UL_DEFAULT_ENABLE([uuidd], [check])]
1051 UL_BUILD_INIT([uuidd])
1052 UL_REQUIRES_BUILD([uuidd], [libuuid])
1053 AS_IF([test "x$build_uuidd" = xyes], [
1054 AC_DEFINE([HAVE_UUIDD], [1], [Define to 1 if you want to use uuid daemon.])
1056 AM_CONDITIONAL([BUILD_UUIDD], [test "x$build_uuidd" = xyes])
1059 UL_BUILD_INIT([uuidgen], [check])
1060 UL_REQUIRES_BUILD([uuidgen], [libuuid])
1061 AM_CONDITIONAL([BUILD_UUIDGEN], [test "x$build_uuidgen" = xyes])
1063 UL_BUILD_INIT([blkid], [check])
1064 UL_REQUIRES_BUILD([blkid], [libblkid])
1065 AM_CONDITIONAL([BUILD_BLKID], [test "x$build_blkid" = xyes])
1067 UL_BUILD_INIT([findfs], [check])
1068 UL_REQUIRES_BUILD([findfs], [libblkid])
1069 AM_CONDITIONAL([BUILD_FINDFS], [test "x$build_findfs" = xyes])
1071 UL_BUILD_INIT([wipefs], [check])
1072 UL_REQUIRES_BUILD([wipefs], [libblkid])
1073 AM_CONDITIONAL([BUILD_WIPEFS], [test "x$build_wipefs" = xyes])
1075 UL_BUILD_INIT([findmnt], [check])
1076 UL_REQUIRES_BUILD([findmnt], [libmount])
1077 UL_REQUIRES_BUILD([findmnt], [libsmartcols])
1078 AM_CONDITIONAL([BUILD_FINDMNT], [test "x$build_findmnt" = xyes])
1081 AC_ARG_ENABLE([mountpoint],
1082 AS_HELP_STRING([--disable-mountpoint], [do not build mountpoint]),
1083 [], [UL_DEFAULT_ENABLE([mountpoint], [check])]
1085 UL_BUILD_INIT([mountpoint])
1086 UL_REQUIRES_BUILD([mountpoint], [libmount])
1087 AM_CONDITIONAL([BUILD_MOUNTPOINT], [test "x$build_mountpoint" = xyes])
1090 AC_ARG_ENABLE([fallocate],
1091 AS_HELP_STRING([--disable-fallocate], [do not build fallocate]),
1092 [], [UL_DEFAULT_ENABLE([fallocate], [check])]
1094 UL_BUILD_INIT([fallocate])
1095 UL_REQUIRES_LINUX([fallocate])
1096 UL_REQUIRES_SYSCALL_CHECK([fallocate], [UL_CHECK_SYSCALL([fallocate])])
1097 AM_CONDITIONAL([BUILD_FALLOCATE], [test "x$build_fallocate" = xyes])
1099 AS_IF([test "x$build_fallocate" = xyes], [
1100 dnl check for valid fallocate() function
1101 dnl with 32 bits glibc 2.10, fallocate() exists but not fallocate64()
1102 dnl when _FILE_OFFSET_BITS==64, fallocate() is redirect to fallocate64()
1103 dnl and program can't be linked.
1104 dnl AC_CHECK_FUNC can't catch such errors since it's redefining
1105 dnl function prototype.
1106 AC_MSG_CHECKING([for valid fallocate() function])
1107 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1108 #ifdef HAVE_UNISTD_H
1109 # include <unistd.h>
1111 #ifdef HAVE_SYS_TYPES_H
1112 # include <sys/types.h>
1114 #ifdef HAVE_LINUX_FALLOC_H
1115 # include <linux/falloc.h>
1122 ret = fallocate(0, FALLOC_FL_KEEP_SIZE, 0xfffffffful, 0xfffffffful);
1127 AC_MSG_RESULT([yes])
1128 AC_DEFINE([HAVE_FALLOCATE], [1], [Have valid fallocate() function])],[
1129 AC_MSG_RESULT([no])])
1133 AC_ARG_ENABLE([unshare],
1134 AS_HELP_STRING([--disable-unshare], [do not build unshare]),
1135 [], [UL_DEFAULT_ENABLE([unshare], [check])]
1137 UL_BUILD_INIT([unshare])
1138 UL_REQUIRES_LINUX([unshare])
1139 UL_REQUIRES_SYSCALL_CHECK([unshare], [UL_CHECK_SYSCALL([unshare])])
1140 AM_CONDITIONAL([BUILD_UNSHARE], [test "x$build_unshare" = xyes])
1141 AC_CHECK_FUNCS([unshare])
1143 AC_ARG_ENABLE([nsenter],
1144 AS_HELP_STRING([--disable-nsenter], [do not build nsenter]),
1145 [], [UL_DEFAULT_ENABLE([nsenter], [check])]
1147 UL_BUILD_INIT([nsenter])
1148 UL_REQUIRES_LINUX([nsenter])
1149 UL_REQUIRES_SYSCALL_CHECK([nsenter], [UL_CHECK_SYSCALL([setns])], [setns])
1150 AM_CONDITIONAL([BUILD_NSENTER], [test "x$build_nsenter" = xyes])
1151 AC_CHECK_FUNCS([setns])
1154 AC_ARG_WITH([cap_ng],
1155 AS_HELP_STRING([--without-capng], [compile without libcap-ng]),
1156 [], [with_cap_ng=auto]
1158 AS_IF([test "x$with_cap_ng" = xno], [have_cap_ng=no],[
1159 UL_CHECK_LIB([cap-ng], [capng_apply], [cap_ng])
1163 AC_ARG_ENABLE([setpriv],
1164 AS_HELP_STRING([--disable-setpriv], [do not build setpriv]),
1165 [], [UL_DEFAULT_ENABLE([setpriv], [check])]
1167 UL_BUILD_INIT([setpriv])
1168 UL_REQUIRES_LINUX([setpriv])
1169 UL_REQUIRES_HAVE([setpriv], [linux_securebits_h], [securebits.h header file])
1170 UL_REQUIRES_HAVE([setpriv], [cap_ng], [libcap-ng library])
1171 AM_CONDITIONAL([BUILD_SETPRIV], [test "x$build_setpriv" = xyes])
1174 AC_ARG_ENABLE([eject],
1175 AS_HELP_STRING([--disable-eject], [do not build eject]),
1176 [], [UL_DEFAULT_ENABLE([eject], [check])]
1178 UL_BUILD_INIT([eject])
1179 UL_REQUIRES_LINUX([eject])
1180 UL_REQUIRES_BUILD([eject], [libmount])
1181 AM_CONDITIONAL([BUILD_EJECT], [test "x$build_eject" = xyes])
1184 AC_ARG_ENABLE([agetty],
1185 AS_HELP_STRING([--disable-agetty], [do not build agetty]),
1186 [], [UL_DEFAULT_ENABLE([agetty], [yes])]
1188 UL_BUILD_INIT([agetty])
1189 AM_CONDITIONAL([BUILD_AGETTY], [test "x$build_agetty" = xyes])
1190 AS_IF([test "x$have_futimens" = xyes -a "x$have_inotify_init1" = xyes ], [
1191 AC_DEFINE([AGETTY_RELOAD], [1], [Enable agetty --reload feature])
1193 AC_MSG_WARN([futimens or inotify_init1 not found; agetty(8) will not provide ---reload functionality])
1198 AS_HELP_STRING([--without-libz], [compile without libz]),
1199 [], [with_libz=auto]
1201 AS_IF([test "x$with_libz" = xno], [have_z=no], [
1202 AC_CHECK_LIB([z], [crc32], [have_z=yes], [have_z=no])
1206 AC_ARG_ENABLE([cramfs],
1207 AS_HELP_STRING([--disable-cramfs], [do not build fsck.cramfs, mkfs.cramfs]),
1208 [], [UL_DEFAULT_ENABLE([cramfs], [check])]
1210 UL_BUILD_INIT([cramfs])
1211 UL_REQUIRES_HAVE([cramfs], [z], [z library])
1212 AM_CONDITIONAL([BUILD_CRAMFS], [test "x$build_cramfs" = xyes])
1215 AC_ARG_ENABLE([bfs],
1216 AS_HELP_STRING([--disable-bfs], [do not build mkfs.bfs]),
1217 [], [UL_DEFAULT_ENABLE([bfs], [yes])]
1219 UL_BUILD_INIT([bfs])
1220 AM_CONDITIONAL([BUILD_BFS], [test "x$build_bfs" = xyes])
1223 AC_ARG_ENABLE([minix],
1224 AS_HELP_STRING([--disable-minix], [do not build fsck.minix, mkfs.minix]),
1225 [], [UL_DEFAULT_ENABLE([minix], [yes])]
1227 UL_BUILD_INIT([minix])
1228 AM_CONDITIONAL([BUILD_MINIX], [test "x$build_minix" = xyes])
1231 AC_ARG_ENABLE([fdformat],
1232 AS_HELP_STRING([--disable-fdformat], [do not build fdformat]),
1233 [], [UL_DEFAULT_ENABLE([fdformat], [check])]
1235 UL_BUILD_INIT([fdformat])
1236 UL_REQUIRES_LINUX([fdformat])
1237 AM_CONDITIONAL([BUILD_FDFORMAT], [test "x$build_fdformat" = xyes])
1240 AC_ARG_ENABLE([hwclock],
1241 AS_HELP_STRING([--disable-hwclock], [do not build hwclock]),
1242 [], [UL_DEFAULT_ENABLE([hwclock], [check])]
1244 have_linuxdummy=$linux_os
1246 UL_BUILD_INIT([hwclock])
1247 UL_REQUIRES_HAVE([hwclock], [io, linuxdummy], [ioperm iopl function or Linux])
1248 AM_CONDITIONAL([BUILD_HWCLOCK], [test "x$build_hwclock" = xyes])
1251 UL_BUILD_INIT([mkfs], [yes])
1252 AM_CONDITIONAL([BUILD_MKFS], [test "x$build_mkfs" = xyes])
1254 UL_BUILD_INIT([isosize], [yes])
1255 AM_CONDITIONAL([BUILD_ISOSIZE], [test "x$build_isosize" = xyes])
1258 UL_BUILD_INIT([fstrim], [check])
1259 UL_REQUIRES_LINUX([fstrim])
1260 UL_REQUIRES_BUILD([fstrim], [libmount])
1261 AM_CONDITIONAL([BUILD_FSTRIM], [test "x$build_fstrim" = xyes])
1264 UL_BUILD_INIT([swapon], [check])
1265 UL_REQUIRES_LINUX([swapon])
1266 UL_REQUIRES_BUILD([swapon], [libblkid])
1267 UL_REQUIRES_BUILD([swapon], [libmount])
1268 UL_REQUIRES_BUILD([swapon], [libsmartcols])
1269 AM_CONDITIONAL([BUILD_SWAPON], [test "x$build_swapon" = xyes])
1272 UL_BUILD_INIT([lsblk], [check])
1273 UL_REQUIRES_LINUX([lsblk])
1274 UL_REQUIRES_BUILD([lsblk], [libblkid])
1275 UL_REQUIRES_BUILD([lsblk], [libmount])
1276 UL_REQUIRES_BUILD([lsblk], [libsmartcols])
1277 AM_CONDITIONAL([BUILD_LSBLK], [test "x$build_lsblk" = xyes])
1280 UL_BUILD_INIT([lscpu], [check])
1281 UL_REQUIRES_LINUX([lscpu])
1282 UL_REQUIRES_BUILD([lscpu], [libsmartcols])
1283 UL_REQUIRES_HAVE([lscpu], [cpu_set_t], [cpu_set_t type])
1284 AM_CONDITIONAL([BUILD_LSCPU], [test "x$build_lscpu" = xyes])
1287 UL_BUILD_INIT([lslogins], [check])
1288 UL_REQUIRES_BUILD([lslogins], [libsmartcols])
1289 AM_CONDITIONAL([BUILD_LSLOGINS], [test "x$build_lslogins" = xyes])
1292 UL_BUILD_INIT([chcpu], [check])
1293 UL_REQUIRES_LINUX([chcpu])
1294 UL_REQUIRES_HAVE([chcpu], [cpu_set_t], [cpu_set_t type])
1295 AM_CONDITIONAL([BUILD_CHCPU], [test "x$build_chcpu" = xyes])
1298 AC_ARG_ENABLE([wdctl],
1299 AS_HELP_STRING([--disable-wdctl], [do not build wdctl]),
1300 [], [UL_DEFAULT_ENABLE([wdctl], [check])]
1302 UL_BUILD_INIT([wdctl])
1303 UL_REQUIRES_LINUX([wdctl])
1304 UL_REQUIRES_BUILD([wdctl], [libsmartcols])
1305 UL_REQUIRES_HAVE([wdctl], [linux_watchdog_h], [linux/watchdog.h header file])
1306 AM_CONDITIONAL([BUILD_WDCTL], [test "x$build_wdctl" = xyes])
1309 UL_BUILD_INIT([swaplabel], [check])
1310 UL_REQUIRES_BUILD([swaplabel], [libblkid])
1311 AM_CONDITIONAL([BUILD_SWAPLABEL], [test "x$build_swaplabel" = xyes])
1314 UL_BUILD_INIT([mkswap], [yes])
1315 AM_CONDITIONAL([BUILD_MKSWAP], [test "x$build_mkswap" = xyes])
1316 AS_IF([test "x$build_mkswap" = xyes -a "x$build_libuuid" != xyes], [
1317 AC_MSG_WARN([uuid library is not found; mkswap(8) will not generate UUIDs])
1321 AC_ARG_ENABLE([cal],
1322 AS_HELP_STRING([--disable-cal], [do not build cal]),
1323 [], [UL_DEFAULT_ENABLE([cal], [check])]
1325 UL_BUILD_INIT([cal])
1326 AM_CONDITIONAL([BUILD_CAL], [test "x$build_cal" = xyes])
1329 UL_BUILD_INIT([logger], [yes])
1330 AM_CONDITIONAL([BUILD_LOGGER], [test "x$build_logger" = xyes])
1332 UL_BUILD_INIT([look], [yes])
1333 AM_CONDITIONAL([BUILD_LOOK], [test "x$build_look" = xyes])
1335 UL_BUILD_INIT([mcookie], [yes])
1336 AM_CONDITIONAL([BUILD_MCOOKIE], [test "x$build_mcookie" = xyes])
1338 UL_BUILD_INIT([namei], [yes])
1339 AM_CONDITIONAL([BUILD_NAMEI], [test "x$build_namei" = xyes])
1341 UL_BUILD_INIT([whereis], [yes])
1342 AM_CONDITIONAL([BUILD_WHEREIS], [test "x$build_whereis" = xyes])
1344 UL_BUILD_INIT([getopt], [yes])
1345 AM_CONDITIONAL([BUILD_GETOPT], [test "x$build_getopt" = xyes])
1348 UL_BUILD_INIT([blockdev], [check])
1349 UL_REQUIRES_LINUX([blockdev])
1350 AM_CONDITIONAL([BUILD_BLOCKDEV], [test "x$build_blockdev" = xyes])
1353 UL_BUILD_INIT([prlimit], [check])
1354 UL_REQUIRES_LINUX([prlimit])
1355 UL_REQUIRES_BUILD([prlimit], [libsmartcols])
1356 UL_REQUIRES_SYSCALL_CHECK([prlimit], [UL_CHECK_SYSCALL([prlimit64])], [prlimit64])
1357 AM_CONDITIONAL([BUILD_PRLIMIT], [test "x$build_prlimit" = xyes])
1358 AS_IF([test "x$build_prlimit" = xyes], [
1359 AC_CHECK_FUNCS([prlimit])
1363 UL_BUILD_INIT([lslocks], [check])
1364 UL_REQUIRES_LINUX([lslocks])
1365 UL_REQUIRES_BUILD([lslocks], [libmount])
1366 UL_REQUIRES_BUILD([lslocks], [libsmartcols])
1367 AM_CONDITIONAL([BUILD_LSLOCKS], [test "x$build_lslocks" = xyes])
1370 AC_ARG_ENABLE([switch_root],
1371 AS_HELP_STRING([--disable-switch_root], [do not build switch_root]),
1372 [], [UL_DEFAULT_ENABLE([switch_root], [check])]
1374 UL_BUILD_INIT([switch_root])
1375 UL_REQUIRES_LINUX([switch_root])
1376 UL_REQUIRES_HAVE([switch_root], [openat], [openat function])
1377 AM_CONDITIONAL([BUILD_SWITCH_ROOT], [test "x$build_switch_root" = xyes])
1380 AC_ARG_ENABLE([pivot_root],
1381 AS_HELP_STRING([--disable-pivot_root], [do not build pivot_root]),
1382 [], [UL_DEFAULT_ENABLE([pivot_root], [check])]
1384 UL_BUILD_INIT([pivot_root])
1385 UL_REQUIRES_LINUX([pivot_root])
1386 UL_REQUIRES_SYSCALL_CHECK([pivot_root], [UL_CHECK_SYSCALL([pivot_root])])
1387 AM_CONDITIONAL([BUILD_PIVOT_ROOT], [test "x$build_pivot_root" = xyes])
1390 UL_BUILD_INIT([flock], [yes])
1391 UL_REQUIRES_HAVE([flock], [timer], [timer_create function])
1392 AM_CONDITIONAL([BUILD_FLOCK], [test "x$build_flock" = xyes])
1394 UL_BUILD_INIT([ipcmk], [yes])
1395 AM_CONDITIONAL([BUILD_IPCMK], [test "x$build_ipcmk" = xyes])
1397 UL_BUILD_INIT([ipcrm], [yes])
1398 AM_CONDITIONAL([BUILD_IPCRM], [test "x$build_ipcrm" = xyes])
1400 UL_BUILD_INIT([ipcs], [yes])
1401 AM_CONDITIONAL([BUILD_IPCS], [test "x$build_ipcs" = xyes])
1403 UL_BUILD_INIT([lsipc], [check])
1404 UL_REQUIRES_LINUX([lsipc])
1405 UL_REQUIRES_BUILD([lsipc], [libsmartcols])
1406 AM_CONDITIONAL([BUILD_LSIPC], [test "x$build_lsipc" = xyes])
1408 UL_BUILD_INIT([lsns], [check])
1409 UL_REQUIRES_LINUX([lsns])
1410 UL_REQUIRES_BUILD([lsns], [libsmartcols])
1411 AM_CONDITIONAL([BUILD_LSNS], [test "x$build_lsns" = xyes])
1413 UL_BUILD_INIT([renice], [yes])
1414 AM_CONDITIONAL([BUILD_RENICE], [test "x$build_renice" = xyes])
1416 UL_BUILD_INIT([setsid], [yes])
1417 AM_CONDITIONAL([BUILD_SETSID], [test "x$build_setsid" = xyes])
1419 UL_BUILD_INIT([readprofile], [check])
1420 UL_REQUIRES_LINUX([readprofile])
1421 AM_CONDITIONAL([BUILD_READPROFILE], [test "x$build_readprofile" = xyes])
1423 UL_BUILD_INIT([dmesg], [check])
1424 UL_REQUIRES_LINUX([dmesg])
1425 AM_CONDITIONAL([BUILD_DMESG], [test "x$build_dmesg" = xyes])
1427 UL_BUILD_INIT([ctrlaltdel], [check])
1428 UL_REQUIRES_LINUX([ctrlaltdel])
1429 dnl we assume reboot() to be the 1-argument variant, because even considering
1430 dnl widely used alternative C libraries like uclibc, dietlibc and musl,
1431 dnl reboot() with multiple arguments is yet only found in glibc versions
1432 dnl earlier than 2.x.
1433 UL_REQUIRES_HAVE([ctrlaltdel], [reboot])
1434 AM_CONDITIONAL([BUILD_CTRLALTDEL], [test "x$build_ctrlaltdel" = xyes])
1436 UL_BUILD_INIT([fsfreeze], [check])
1437 UL_REQUIRES_LINUX([fsfreeze])
1438 AM_CONDITIONAL([BUILD_FSFREEZE], [test "x$build_fsfreeze" = xyes])
1440 UL_BUILD_INIT([blkdiscard], [check])
1441 UL_REQUIRES_LINUX([blkdiscard])
1442 AM_CONDITIONAL([BUILD_BLKDISCARD], [test "x$build_blkdiscard" = xyes])
1444 UL_BUILD_INIT([ldattach], [check])
1445 UL_REQUIRES_LINUX([ldattach])
1446 AM_CONDITIONAL([BUILD_LDATTACH], [test "x$build_ldattach" = xyes])
1448 UL_BUILD_INIT([rtcwake], [check])
1449 UL_REQUIRES_LINUX([rtcwake])
1450 AM_CONDITIONAL([BUILD_RTCWAKE], [test "x$build_rtcwake" = xyes])
1452 UL_BUILD_INIT([setarch], [check])
1453 UL_REQUIRES_LINUX([setarch])
1454 AM_CONDITIONAL([BUILD_SETARCH], [test "x$build_setarch" = xyes])
1456 UL_BUILD_INIT([script], [check])
1457 UL_REQUIRES_LINUX([script])
1458 AM_CONDITIONAL([BUILD_SCRIPT], [test "x$build_script" = xyes])
1460 UL_BUILD_INIT([scriptreplay], [yes])
1461 AM_CONDITIONAL([BUILD_SCRIPTREPLAY], [test "x$build_scriptreplay" = xyes])
1463 UL_BUILD_INIT([col], [yes])
1464 AM_CONDITIONAL([BUILD_COL], [test "x$build_col" = xyes])
1466 UL_BUILD_INIT([colcrt], [yes])
1467 AM_CONDITIONAL([BUILD_COLCRT], [test "x$build_colcrt" = xyes])
1469 UL_BUILD_INIT([colrm], [yes])
1470 AM_CONDITIONAL([BUILD_COLRM], [test "x$build_colrm" = xyes])
1472 UL_BUILD_INIT([column], [yes])
1473 AM_CONDITIONAL([BUILD_COLUMN], [test "x$build_column" = xyes])
1475 UL_BUILD_INIT([hexdump], [yes])
1476 AM_CONDITIONAL([BUILD_HEXDUMP], [test "x$build_hexdump" = xyes])
1478 UL_BUILD_INIT([rev], [yes])
1479 AM_CONDITIONAL([BUILD_REV], [test "x$build_rev" = xyes])
1481 UL_BUILD_INIT([tailf], [yes])
1482 AM_CONDITIONAL([BUILD_TAILF], [test "x$build_tailf" = xyes])
1485 AC_ARG_ENABLE([tunelp],
1486 AS_HELP_STRING([--enable-tunelp], [build tunelp]),
1487 [], [UL_DEFAULT_ENABLE([tunelp], [no])]
1489 UL_BUILD_INIT([tunelp])
1490 UL_REQUIRES_LINUX([tunelp])
1491 AM_CONDITIONAL([BUILD_TUNELP], [test "x$build_tunelp" = xyes])
1494 AC_ARG_ENABLE([kill],
1495 AS_HELP_STRING([--disable-kill], [do not build kill]),
1496 [], [UL_DEFAULT_ENABLE([kill], [check])]
1498 UL_BUILD_INIT([kill])
1499 UL_REQUIRES_LINUX([kill])
1500 AM_CONDITIONAL([BUILD_KILL], [test "x$build_kill" = xyes])
1503 AC_ARG_ENABLE([last],
1504 AS_HELP_STRING([--disable-last], [do not build last]),
1505 [], [UL_DEFAULT_ENABLE([last], [check])]
1507 UL_BUILD_INIT([last])
1508 AM_CONDITIONAL([BUILD_LAST], [test "x$build_last" = xyes])
1511 AC_ARG_ENABLE([utmpdump],
1512 AS_HELP_STRING([--disable-utmpdump], [do not build utmpdump]),
1513 [], [UL_DEFAULT_ENABLE([utmpdump], [yes])]
1515 UL_BUILD_INIT([utmpdump])
1516 AM_CONDITIONAL([BUILD_UTMPDUMP], [test "x$build_utmpdump" = xyes])
1519 AC_ARG_ENABLE([line],
1520 AS_HELP_STRING([--enable-line], [build line]),
1521 [], [UL_DEFAULT_ENABLE([line], [no])]
1523 UL_BUILD_INIT([line])
1524 AM_CONDITIONAL([BUILD_LINE], [test "x$build_line" = xyes])
1527 AC_ARG_ENABLE([mesg],
1528 AS_HELP_STRING([--disable-mesg], [do not build mesg]),
1529 [], [UL_DEFAULT_ENABLE([mesg], [yes])]
1531 UL_BUILD_INIT([mesg])
1532 AM_CONDITIONAL([BUILD_MESG], [test "x$build_mesg" = xyes])
1535 AC_ARG_ENABLE([raw],
1536 AS_HELP_STRING([--disable-raw], [do not build raw]),
1537 [], [UL_DEFAULT_ENABLE([raw], [check])]
1539 UL_BUILD_INIT([raw])
1540 UL_REQUIRES_LINUX([raw])
1541 UL_REQUIRES_HAVE([raw], [linux_raw_h], [raw.h header file])
1542 AM_CONDITIONAL([BUILD_RAW], [test "x$build_raw" = xyes])
1545 AC_ARG_ENABLE([rename],
1546 AS_HELP_STRING([--disable-rename], [do not build rename]),
1547 [], [UL_DEFAULT_ENABLE([rename], [yes])]
1549 UL_BUILD_INIT([rename])
1550 AM_CONDITIONAL([BUILD_RENAME], [test "x$build_rename" = xyes])
1553 AC_ARG_ENABLE([reset],
1554 AS_HELP_STRING([--enable-reset], [build reset]),
1555 [], [UL_DEFAULT_ENABLE([reset], [no])]
1557 UL_BUILD_INIT([reset])
1558 AM_CONDITIONAL([BUILD_RESET], [test "x$build_reset" = xyes])
1561 AC_ARG_ENABLE([vipw],
1562 AS_HELP_STRING([--enable-vipw], [build vipw]),
1563 [], [UL_DEFAULT_ENABLE([vipw], [no])]
1565 UL_BUILD_INIT([vipw])
1566 AM_CONDITIONAL([BUILD_VIPW], [test "x$build_vipw" = xyes])
1569 AC_ARG_ENABLE([newgrp],
1570 AS_HELP_STRING([--enable-newgrp], [build newgrp]),
1571 [], [UL_DEFAULT_ENABLE([newgrp], [no])]
1573 UL_BUILD_INIT([newgrp])
1574 AM_CONDITIONAL([BUILD_NEWGRP], [test "x$build_newgrp" = xyes])
1577 AC_ARG_WITH([user], AS_HELP_STRING([--without-user], [compile without libuser (remote chsh)]),
1578 [], [with_user=check]
1581 AS_IF([test "x$with_user" != xno], [
1582 PKG_CHECK_MODULES(LIBUSER,[libuser >= 0.58], [have_user=yes], [have_user=no])
1583 AS_CASE([$with_user:$have_user],
1585 [AC_MSG_ERROR([user selected but libuser not found])],
1587 [AC_DEFINE([HAVE_LIBUSER], [1], [Define if libuser is available])]
1589 # temporary solution, libuser has stupid .pc where are exported all
1590 # private dependencies to Requires: instead of Requires.private:
1591 AS_IF([test "x$have_user" = xyes], [
1595 AM_CONDITIONAL([HAVE_USER], [test "x$have_user" = xyes])
1597 AC_ARG_ENABLE([chfn-chsh-password],
1598 AS_HELP_STRING([--disable-chfn-chsh-password], [do not require the user to enter the password in chfn and chsh]),
1599 [], [enable_chfn_chsh_password=yes]
1602 AC_ARG_ENABLE([chfn-chsh],
1603 AS_HELP_STRING([--enable-chfn-chsh], [build chfn and chsh]),
1604 [], [UL_DEFAULT_ENABLE([chfn_chsh], [check])]
1606 UL_BUILD_INIT([chfn_chsh])
1608 AS_IF([test "x$enable_chfn_chsh_password" = xyes -o "x$have_user" = xyes], [
1609 UL_REQUIRES_HAVE([chfn_chsh], [security_pam_appl_h], [PAM header file])
1610 AC_DEFINE([CHFN_CHSH_PASSWORD], [1], [Should chfn and chsh require the user to enter the password?])
1612 AM_CONDITIONAL([BUILD_CHFN_CHSH], [test "x$build_chfn_chsh" = xyes])
1613 AM_CONDITIONAL([CHFN_CHSH_PASSWORD], [test "x$enable_chfn_chsh_password" = xyes])
1615 AC_ARG_ENABLE([chsh-only-listed],
1616 AS_HELP_STRING([--disable-chsh-only-listed], [chsh: allow shells not in /etc/shells]),
1617 [], enable_chsh_only_listed=yes
1620 AS_IF([test "x$enable_chsh_only_listed" = xyes], [
1621 AC_DEFINE([ONLY_LISTED_SHELLS], [1], [Should chsh allow only shells in /etc/shells?])
1625 AC_ARG_ENABLE([login],
1626 AS_HELP_STRING([--disable-login], [do not build login]),
1627 [], [UL_DEFAULT_ENABLE([login], [check])]
1629 UL_BUILD_INIT([login])
1630 UL_REQUIRES_HAVE([login], [security_pam_appl_h], [PAM header file])
1631 UL_REQUIRES_HAVE([login], [security_pam_misc_h, security_openpam_h], [PAM conversation functions])
1632 AM_CONDITIONAL([BUILD_LOGIN], [test "x$build_login" = xyes])
1634 AC_ARG_ENABLE([login-chown-vcs],
1635 AS_HELP_STRING([--enable-login-chown-vcs], [let login chown /dev/vcsN]),
1636 [], [enable_login_chown_vcs=no]
1639 AS_IF([test "x$enable_login_chown_vcs" = xyes], [
1640 AC_DEFINE([LOGIN_CHOWN_VCS], [1], [Should login chown /dev/vcsN?])
1643 AC_ARG_ENABLE([login-stat-mail],
1644 AS_HELP_STRING([--enable-login-stat-mail], [let login stat() the mailbox]),
1645 [], [enable_login_stat_mail=no]
1648 AS_IF([test "x$enable_login_stat_mail" = xyes], [
1649 AC_DEFINE([LOGIN_STAT_MAIL], [1], [Should login stat() the mailbox?])
1653 AC_ARG_ENABLE([nologin],
1654 AS_HELP_STRING([--disable-nologin], [do not build nologin]),
1655 [], [UL_DEFAULT_ENABLE([nologin], [yes])]
1657 UL_BUILD_INIT([nologin])
1658 AM_CONDITIONAL([BUILD_NOLOGIN], [test "x$build_nologin" = xyes])
1661 AC_ARG_ENABLE([sulogin],
1662 AS_HELP_STRING([--disable-sulogin], [do not build sulogin]),
1663 [], [UL_DEFAULT_ENABLE([sulogin], [yes])]
1665 UL_BUILD_INIT([sulogin])
1666 AM_CONDITIONAL([BUILD_SULOGIN], [test "x$build_sulogin" = xyes])
1670 AS_HELP_STRING([--disable-su], [do not build su]),
1671 [], [UL_DEFAULT_ENABLE([su], [check])]
1674 UL_REQUIRES_HAVE([su], [security_pam_appl_h], [PAM header file])
1675 AM_CONDITIONAL([BUILD_SU], [test "x$build_su" = xyes])
1678 AC_ARG_ENABLE([runuser],
1679 AS_HELP_STRING([--disable-runuser], [do not build runuser]),
1680 [], [UL_DEFAULT_ENABLE([runuser], [check])]
1682 UL_BUILD_INIT([runuser])
1683 UL_REQUIRES_HAVE([runuser], [security_pam_appl_h], [PAM header file])
1684 AM_CONDITIONAL([BUILD_RUNUSER], [test "x$build_runuser" = xyes])
1688 AS_HELP_STRING([--disable-ul], [do not build ul]),
1689 [], [UL_DEFAULT_ENABLE([ul], [check])]
1692 UL_REQUIRES_HAVE([ul], [ncurses, tinfo], [ncurses or tinfo libraries])
1693 AM_CONDITIONAL([BUILD_UL], [test "x$build_ul" = xyes])
1696 AC_ARG_ENABLE([more],
1697 AS_HELP_STRING([--disable-more], [do not build more]),
1698 [], [UL_DEFAULT_ENABLE([more], [check])]
1700 UL_BUILD_INIT([more])
1701 UL_REQUIRES_HAVE([more], [ncurses, tinfo, termcap], [ncurses, tinfo or termcap libraries])
1702 AM_CONDITIONAL([BUILD_MORE], [test "x$build_more" = xyes])
1706 AS_HELP_STRING([--disable-pg], [do not build pg]),
1707 [], [UL_DEFAULT_ENABLE([pg], [check])]
1710 UL_REQUIRES_HAVE([pg], [ncurses], [ncurses or ncursesw library])
1711 AM_CONDITIONAL([BUILD_PG], [test "x$build_pg" = xyes])
1714 AC_ARG_ENABLE([setterm],
1715 AS_HELP_STRING([--disable-setterm], [do not build setterm]),
1716 [], [UL_DEFAULT_ENABLE([setterm], [check])]
1718 UL_BUILD_INIT([setterm])
1719 UL_REQUIRES_LINUX([setterm])
1720 UL_REQUIRES_HAVE([setterm], [ncurses], [ncurses library])
1721 AM_CONDITIONAL([BUILD_SETTERM], [test "x$build_setterm" = xyes])
1723 # build_schedutils= is just configure-only variable to control
1724 # ionice, taskset and chrt
1725 AC_ARG_ENABLE([schedutils],
1726 AS_HELP_STRING([--disable-schedutils], [do not build chrt, ionice, taskset]),
1727 [], [UL_DEFAULT_ENABLE([schedutils], [yes])]
1729 UL_BUILD_INIT([schedutils])
1731 UL_BUILD_INIT([ionice], [check])
1732 UL_REQUIRES_BUILD([ionice], [schedutils])
1733 UL_REQUIRES_SYSCALL_CHECK([ionice],
1734 [UL_CHECK_SYSCALL([ioprio_set],
1745 UL_REQUIRES_SYSCALL_CHECK([ionice],
1746 [UL_CHECK_SYSCALL([ioprio_get],
1757 AM_CONDITIONAL([BUILD_IONICE], [test "x$build_ionice" = xyes])
1759 UL_BUILD_INIT([taskset], [check])
1760 UL_REQUIRES_BUILD([taskset], [schedutils])
1761 UL_REQUIRES_HAVE([taskset], [cpu_set_t], [cpu_set_t type])
1762 UL_REQUIRES_SYSCALL_CHECK([taskset],
1763 [UL_CHECK_SYSCALL([sched_getaffinity])],
1764 [sched_getaffinity])
1765 AM_CONDITIONAL([BUILD_TASKSET], [test "x$build_taskset" = xyes])
1767 UL_BUILD_INIT([chrt], [check])
1768 UL_REQUIRES_BUILD([chrt], [schedutils])
1769 AM_CONDITIONAL([BUILD_CHRT], [test "x$build_chrt" = xyes])
1772 AC_ARG_ENABLE([wall],
1773 AS_HELP_STRING([--disable-wall], [do not build wall]),
1774 [], [UL_DEFAULT_ENABLE([wall], [yes])]
1776 UL_BUILD_INIT([wall])
1777 AM_CONDITIONAL([BUILD_WALL], [test "x$build_wall" = xyes])
1780 AC_ARG_ENABLE([write],
1781 AS_HELP_STRING([--enable-write], [build write]),
1782 [], [UL_DEFAULT_ENABLE([write], [no])]
1784 UL_BUILD_INIT([write])
1785 AM_CONDITIONAL([BUILD_WRITE], [test "x$build_write" = xyes])
1788 AC_ARG_WITH([systemd],
1789 AS_HELP_STRING([--with-systemd], [build with support for systemd]),
1790 [], [with_systemd=check]
1794 AS_IF([test "x$with_systemd" != xno], [
1795 # new version -- all libsystemd-* libs merged into libsystemd
1796 PKG_CHECK_MODULES([SYSTEMD], [libsystemd], [have_systemd=yes], [have_systemd=no])
1798 AS_IF([test "x$have_systemd" != "xyes"], [
1799 PKG_CHECK_MODULES([SYSTEMD_DAEMON], [libsystemd-daemon],
1800 [have_systemd_daemon=yes], [have_systemd_daemon=no])
1801 PKG_CHECK_MODULES([SYSTEMD_JOURNAL], [libsystemd-journal],
1802 [have_systemd_journal=yes], [have_systemd_journal=no])
1803 AS_IF([test "x$have_systemd_daemon" = "xyes" -a "x$have_systemd_journal" = "xyes" ],[
1806 AS_CASE([$with_systemd:$have_systemd],
1808 [AC_MSG_ERROR([systemd expected but libsystemd not found])],
1810 AC_DEFINE([HAVE_LIBSYSTEMD], [1], [Define if libsystemd is available])
1813 AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$have_systemd" = xyes])
1816 AC_ARG_WITH([systemdsystemunitdir],
1817 AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [directory for systemd service files]),
1818 [], [with_systemdsystemunitdir=`$PKG_CONFIG --variable=systemdsystemunitdir systemd`])
1820 AS_IF([test "x$with_systemdsystemunitdir" != "xno"], [
1821 AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
1825 AC_ARG_WITH([smack],
1826 AS_HELP_STRING([--with-smack], [build with SMACK support]),
1829 AS_IF([test "x$with_smack" = xyes], [
1830 AC_DEFINE([HAVE_SMACK], [1], [Add SMACK support])
1834 AC_ARG_WITH([bashcompletiondir],
1835 AS_HELP_STRING([--with-bashcompletiondir=DIR], [Bash completions directory]),
1837 [AS_IF([`$PKG_CONFIG --exists bash-completion`], [
1838 with_bashcompletiondir=`$PKG_CONFIG --variable=completionsdir bash-completion`
1840 with_bashcompletiondir=${datadir}/bash-completion/completions
1843 AC_SUBST([bashcompletiondir], [$with_bashcompletiondir])
1845 AC_ARG_ENABLE([bash-completion],
1846 AS_HELP_STRING([--disable-bash-completion], [do not install bash completion files]),
1847 [], [enable_bash_completion=yes]
1850 AM_CONDITIONAL([BUILD_BASH_COMPLETION], [test "x$enable_bash_completion" = xyes])
1853 AC_ARG_WITH([python],
1854 AS_HELP_STRING([--without-python], [do not build python bindings, use --with-python={2,3} to force version]),
1855 [], [with_python=check withval=check]
1860 AS_IF([test "x$with_python" != xno], [
1861 # We follow distributions default and look for PKG module name "python"
1862 # (minimal version is 2) but if major version is explicitly specified by
1863 # --with-python=2 or --with-python=3 then we look for PKG module "python2" or
1865 AS_IF([test "x$withval" != xno -a "x$withval" != xyes -a "x$withval" != xcheck],
1866 [pymajor="$withval"; PYTHON=python${pymajor}], [pymajor="2"])
1868 # check for python interpreter
1869 AM_PATH_PYTHON([$pymajor], [have_python=yes], [have_python=no])
1870 AS_CASE([$with_python:$have_python],
1872 [AC_MSG_ERROR([python selected but python interpreter not found])],
1874 [AC_MSG_WARN([python interpreter not found, do not build python bindings])],
1876 # check for python development stuff
1877 [PKG_CHECK_MODULES([PYTHON], [python-$PYTHON_VERSION],
1878 [have_libpython=yes], [have_libpython=no])]
1883 AC_ARG_ENABLE([pylibmount],
1884 AS_HELP_STRING([--disable-pylibmount], [do not build pylibmount]),
1885 [], [UL_DEFAULT_ENABLE([pylibmount], [check])]
1887 UL_BUILD_INIT([pylibmount])
1888 UL_REQUIRES_HAVE([pylibmount], [libpython], [libpython])
1889 UL_REQUIRES_BUILD([pylibmount], [libmount])
1890 AM_CONDITIONAL([BUILD_PYLIBMOUNT], [test "x$build_pylibmount" = "xyes"])
1893 AC_ARG_ENABLE([pg-bell],
1894 AS_HELP_STRING([--disable-pg-bell], [let pg not ring the bell on invalid keys]),
1895 [], [enable_pg_bell=yes]
1898 AS_IF([test "x$enable_pg_bell" = xyes], [
1899 AC_DEFINE([PG_BELL], [1], [Should pg ring the bell on invalid keys?])
1903 AC_DEFUN([FS_PATHS_DEFAULT], [/sbin:/sbin/fs.d:/sbin/fs])
1904 AC_ARG_ENABLE([fs-paths-default],
1905 AS_HELP_STRING([--enable-fs-paths-default=paths], [default search path for fs helpers @<:@FS_PATHS_DEFAULT@:>@]),
1906 [AS_CASE([$enableval],
1907 [yes], [fs_paths_defaults="FS_PATHS_DEFAULT"],
1908 [no], [fs_paths_defaults=""],
1909 [fs_paths_defaults="$enableval"]
1911 [fs_paths_defaults="FS_PATHS_DEFAULT"]
1913 AC_ARG_ENABLE([fs-paths-extra],
1914 AS_HELP_STRING([--enable-fs-paths-extra=paths], [additional search paths for fs helpers]),
1915 [AS_CASE([$enableval],
1916 [yes|no], [fs_paths_extra=""],
1917 [fs_paths_extra="$enableval"]
1921 fs_paths="$fs_paths_defaults"
1922 AS_IF([test "x$fs_paths_extra" != "x"], [
1923 AS_IF([test "x$fs_paths" != "x"], [
1924 fs_paths="${fs_paths}:"
1926 fs_paths="${fs_paths}${fs_paths_extra}"
1928 AC_DEFINE_UNQUOTED([FS_SEARCH_PATH], "$fs_paths", [search path for fs helpers])
1931 AC_ARG_ENABLE([use-tty-group],
1932 AS_HELP_STRING([--disable-use-tty-group], [do not install wall and write setgid tty]),
1933 [], [enable_use_tty_group=yes]
1935 AM_CONDITIONAL([USE_TTY_GROUP], [test "x$enable_use_tty_group" = xyes])
1937 AS_IF([test "x$enable_use_tty_group" = xyes], [
1938 AC_DEFINE([USE_TTY_GROUP], [1], [Should wall and write be installed setgid tty?])
1942 AC_ARG_ENABLE([sulogin-emergency-mount],
1943 AS_HELP_STRING([--enable-sulogin-emergency-mount],
1944 [use emergency mount of /dev and /proc for sulogin]),
1945 [], [enable_sulogin_emergency_mount=no]
1948 AS_IF([test "x$enable_sulogin_emergency_mount" = xyes], [
1949 AC_DEFINE([USE_SULOGIN_EMERGENCY_MOUNT], [1],
1950 [Should sulogin use a emergency mount of /dev and /proc?])
1954 AC_ARG_ENABLE([usrdir-path],
1955 AS_HELP_STRING([--enable-usrdir-path], [use only /usr paths in PATH env. variable (recommended on systems with /bin -> /usr/bin symlinks)]),
1956 [], [enable_usrdir_path=no]
1959 AS_IF([test "x$enable_usrdir_path" == xyes], [
1960 AC_DEFINE([USE_USRDIR_PATHS_ONLY], [1], [Define to 1 to remove /bin and /sbin from PATH env.variable])
1964 AC_ARG_ENABLE([makeinstall-chown],
1965 AS_HELP_STRING([--disable-makeinstall-chown], [do not do chown-like operations during "make install"]),
1966 [], [enable_makeinstall_chown=yes]
1968 AM_CONDITIONAL([MAKEINSTALL_DO_CHOWN], [test "x$enable_makeinstall_chown" = xyes])
1971 AC_ARG_ENABLE([makeinstall-setuid],
1972 AS_HELP_STRING([--disable-makeinstall-setuid], [do not do setuid chmod operations during "make install"]),
1973 [], [enable_makeinstall_setuid=yes]
1975 AM_CONDITIONAL([MAKEINSTALL_DO_SETUID], [test "x$enable_makeinstall_setuid" = xyes])
1978 AC_ARG_ENABLE([colors-default],
1979 AS_HELP_STRING([--disable-colors-default], [do not colorize output from utils by default]),
1980 [], [enable_colors_default=yes]
1982 AS_IF([test "x$enable_colors_default" = xyes], [
1983 AC_DEFINE([USE_COLORS_BY_DEFAULT], [1], [Enables colorized output from utils by default])
1987 AC_ARG_VAR([SUID_CFLAGS],
1988 [CFLAGS used for binaries which are usually with the suid bit])
1989 AC_ARG_VAR([SUID_LDFLAGS],
1990 [LDFLAGS used for binaries which are usually with the suid bit])
1992 AC_ARG_VAR([DAEMON_CFLAGS],
1993 [CFLAGS used for binaries which are usually executed as daemons])
1994 AC_ARG_VAR([DAEMON_LDFLAGS],
1995 [LDFLAGS used for binaries which are usually executed as daemons])
1997 AC_ARG_VAR([SOLIB_CFLAGS],
1998 [CFLAGS used for shared libraries])
1999 AC_ARG_VAR([SOLIB_LDFLAGS],
2000 [LDFLAGS used for shared libraries])
2002 AC_ARG_VAR([ADJTIME_PATH],
2003 [Path to hwclock adjtime file, default /etc/adjtime])
2004 AS_IF([test "x$ADJTIME_PATH" = x], [ADJTIME_PATH="/etc/adjtime"])
2005 AC_DEFINE_UNQUOTED([CONFIG_ADJTIME_PATH], "$ADJTIME_PATH", [Path to hwclock adjtime file])
2011 AC_CONFIG_HEADERS([config.h])
2014 # Don't use configure.ac to replace install paths! See Makefile PATHFILES for
2019 libblkid/docs/Makefile
2020 libblkid/docs/version.xml
2021 libblkid/src/blkid.h
2022 libfdisk/docs/Makefile
2023 libfdisk/docs/version.xml
2024 libfdisk/src/libfdisk.h
2025 libmount/docs/Makefile
2026 libmount/docs/version.xml
2027 libmount/src/libmount.h
2028 libsmartcols/docs/Makefile
2029 libsmartcols/docs/version.xml
2030 libsmartcols/src/libsmartcols.h
2037 ${PACKAGE} ${VERSION}
2040 exec prefix: ${exec_prefix}
2042 localstatedir: ${localstatedir}
2046 includedir: ${includedir}
2047 usrbin_execdir: ${usrbin_execdir}
2048 usrsbin_execdir: ${usrsbin_execdir}
2049 usrlib_execdir: ${usrlib_execdir}
2053 suid cflags: ${SUID_CFLAGS}
2055 suid ldflags: ${SUID_LDFLAGS}
2058 Python version: ${PYTHON_VERSION}
2059 Python libs: ${pyexecdir}
2061 Bash completions: ${with_bashcompletiondir}
2062 Systemd support: ${have_systemd}
2068 Type 'make' or 'make <utilname>' to compile.