dnl AC_USE_SYSTEM_EXTENSIONS must be called before any macros that run
dnl the compiler (like AC_PROG_LIBTOOL) to avoid autoconf errors.
AC_USE_SYSTEM_EXTENSIONS
-AM_INIT_AUTOMAKE([-Wall foreign 1.10 tar-pax dist-bzip2 no-dist-gzip dist-xz -Wno-portability subdir-objects])
+AM_INIT_AUTOMAKE([-Wall foreign 1.10 tar-pax no-dist-gzip dist-xz subdir-objects])
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
[AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
+m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
AC_CONFIG_SRCDIR([sys-utils/mount.c])
AC_PREFIX_DEFAULT([/usr])
dnl version details from <major>.<minor>[-<suffix>]
PACKAGE_VERSION_MAJOR=$(echo $PACKAGE_VERSION | awk -F. '{print $1}')
-PACKAGE_VERSION_MINOR=$(echo $PACKAGE_VERSION | awk -F. '{print $2}' \
- | awk -F- '{print $1}')
-
-PACKAGE_VERSION_RELEASE=$(echo $PACKAGE_VERSION | awk -F. '{print $3}' \
- | sed 's/.*@<:@^@<:@:digit:@:>@@:>@.*/0/')
-
+PACKAGE_VERSION_MINOR=$(echo $PACKAGE_VERSION | awk -F. '{
+ sub("-.*","",$2); print $2}')
+PACKAGE_VERSION_RELEASE=$(echo $PACKAGE_VERSION | awk -F. '{
+ sub("-.*","",$3); print $3 ~ /^@<:@0-9@:>@+$/ ? $3 : 0}')
dnl libblkid version
LIBBLKID_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
-LIBBLKID_DATE="19-Oct-2016"
+LIBBLKID_DATE="01-Mar-2018"
LIBBLKID_LT_MAJOR=1
LIBBLKID_LT_MINOR=1
LIBBLKID_LT_MICRO=0
]
)
-AS_CASE([$prefix:$localstatedir],
- [NONE:'${prefix}/var' | /usr:'${prefix}/var'],
- [localstatedir=/run
- AC_MSG_NOTICE([ --localstatedir defaults to /run])
- ]
+
+# default for old versions without $runstatedir
+AS_IF([test x"$runstatedir" = x], [runstatedir='${localstatedir}/run'])
+
+# our default if $localstatedir unchanged
+AS_CASE([$localstatedir:$runstatedir],
+ [NONE:'${localstatedir}/run' | /var:'${localstatedir}/run' | NONE:'/run' ],
+ [runstatedir=/run; AC_MSG_NOTICE([ --runstatedir defaults to /run])]
)
-AC_SUBST([localstatedir])
+
+AC_SUBST([runstatedir])
# The original default values of {bin,sbin,lib}dir
AM_PROG_CC_C_O
AC_PROG_MKDIR_P
AC_PROG_CC_STDC
+AC_PROG_YACC
AC_CANONICAL_HOST
AC_C_CONST
AC_C_VOLATILE
UL_WARN_ADD([-Wno-unused-parameter], [NO_UNUSED_WARN_CFLAGS])
AC_SUBST([NO_UNUSED_WARN_CFLAGS])
+
+AC_ARG_ENABLE([asan],
+ AS_HELP_STRING([--enable-asan], [compile with Address Sanitizer]),
+ [], [enable_asan=no]
+)
+AS_IF([test "x$enable_asan" = xyes], [
+ UL_WARN_ADD([-fsanitize=address])
+])
+
+
+
dnl libtool-2
LT_INIT
GTK_DOC_CHECK([1.10])
AC_PATH_PROG([XSLTPROC], [xsltproc])
-
linux_os=no
bsd_os=no
AS_CASE([${host_os}],
AC_SYS_LARGEFILE
AC_HEADER_ASSERT
+AC_STRUCT_TIMEZONE
dnl Don't forget to maintain alternatively allowed versions in autogen.sh!
AM_GNU_GETTEXT_VERSION([0.18.3])
fcntl.h \
getopt.h \
inttypes.h \
+ lastlog.h \
+ libutil.h \
linux/btrfs.h \
linux/cdrom.h \
linux/falloc.h \
linux/tiocl.h \
linux/version.h \
linux/securebits.h \
+ linux/net_namespace.h \
locale.h \
mntent.h \
net/if.h \
unistd.h \
shadow.h \
utmp.h \
+ utmpx.h \
])
AC_CHECK_HEADERS([linux/gsmmux.h ], [], [],
#endif
])
+AC_CHECK_HEADERS([linux/blkzoned.h])
+
AC_CHECK_HEADERS([security/openpam.h], [], [], [
#ifdef HAVE_SECURITY_PAM_APPL_H
#include <security/pam_appl.h>
[AM_CONDITIONAL([HAVE_LANGINFO], [true])],
[AM_CONDITIONAL([HAVE_LANGINFO], [false])])
+
+AC_MSG_CHECKING([whether langinfo.h defines ALTMON_x constants])
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ #include <langinfo.h>
+]], [[
+ char *str;
+ str = nl_langinfo (ALTMON_1);
+ str = nl_langinfo (ALTMON_2);
+ str = nl_langinfo (ALTMON_3);
+ str = nl_langinfo (ALTMON_4);
+ str = nl_langinfo (ALTMON_5);
+ str = nl_langinfo (ALTMON_6);
+ str = nl_langinfo (ALTMON_7);
+ str = nl_langinfo (ALTMON_8);
+ str = nl_langinfo (ALTMON_9);
+ str = nl_langinfo (ALTMON_10);
+ str = nl_langinfo (ALTMON_11);
+ str = nl_langinfo (ALTMON_12);
+]])], [
+ AC_MSG_RESULT([yes])
+ AC_DEFINE([HAVE_LANGINFO_ALTMON], [1],
+ [Define if langinfo.h defines ALTMON_x constants])
+], [
+ AC_MSG_RESULT([no])
+])
+
+
+AC_MSG_CHECKING([whether langinfo.h defines _NL_ABALTMON_x constants])
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ #include <langinfo.h>
+]], [[
+ char *str;
+ str = nl_langinfo (_NL_ABALTMON_1);
+ str = nl_langinfo (_NL_ABALTMON_2);
+ str = nl_langinfo (_NL_ABALTMON_3);
+ str = nl_langinfo (_NL_ABALTMON_4);
+ str = nl_langinfo (_NL_ABALTMON_5);
+ str = nl_langinfo (_NL_ABALTMON_6);
+ str = nl_langinfo (_NL_ABALTMON_7);
+ str = nl_langinfo (_NL_ABALTMON_8);
+ str = nl_langinfo (_NL_ABALTMON_9);
+ str = nl_langinfo (_NL_ABALTMON_10);
+ str = nl_langinfo (_NL_ABALTMON_11);
+ str = nl_langinfo (_NL_ABALTMON_12);
+]])], [
+ AC_MSG_RESULT([yes])
+ AC_DEFINE([HAVE_LANGINFO_NL_ABALTMON], [1],
+ [Define if langinfo.h defines _NL_ABALTMON_x constants])
+], [
+ AC_MSG_RESULT([no])
+])
+
+
dnl Convert some ac_cv_header_* variables to have_*
dnl
+have_linux_version_h=$ac_cv_header_linux_version_h
+have_linux_blkzoned_h=$ac_cv_header_linux_blkzoned_h
have_linux_btrfs_h=$ac_cv_header_linux_btrfs_h
have_linux_raw_h=$ac_cv_header_linux_raw_h
have_linux_securebits_h=$ac_cv_header_linux_securebits_h
have_security_openpam_h=$ac_cv_header_security_openpam_h
have_shadow_h=$ac_cv_header_shadow_h
have_sys_signalfd_h=$ac_cv_header_sys_signalfd_h
-have_utmp_h=$ac_cv_header_utmp_h
+have_utmpx_h=$ac_cv_header_utmpx_h
+
+AS_CASE([$linux_os:$have_linux_version_h],
+ [yes:no],
+ [AC_MSG_ERROR([kernel headers required on Linux])]
+)
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#include <time.h>
AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec],,,
[#include <sys/stat.h>])
-AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
-[[
-#ifdef HAVE_SYS_SWAP_H
-# include <sys/swap.h>
-#endif
-#include <unistd.h>
-]],
-[[swapon("/dev/null", 0);]])],
-[AC_DEFINE([SWAPON_HAS_TWO_ARGS], [1], [Is swapon() declared with two parameters?])
-],
-[AC_MSG_NOTICE([Your libc thinks that swapon has 1 arg only.])
-])
-
-
AC_CHECK_DECLS([_NL_TIME_WEEK_1STDAY],[],[],[[#include <langinfo.h>]])
AC_CHECK_DECL([llseek],
__fpending \
secure_getenv \
__secure_getenv \
+ eaccess \
err \
errx \
+ explicit_bzero \
fsync \
utimensat \
getdomainname \
getdtablesize \
getexecname \
getmntinfo \
+ getrandom \
getrlimit \
getsgnam \
inotify_init \
strnlen \
sysconf \
sysinfo \
- updwtmp \
+ timegm \
usleep \
+ vwarnx \
warn \
warnx \
])
AC_CHECK_FUNCS([inotify_init1], [have_inotify_init1=yes])
AC_CHECK_FUNCS([open_memstream], [have_open_memstream=yes],[have_open_memstream=no])
AC_CHECK_FUNCS([reboot], [have_reboot=yes],[have_reboot=no])
+AC_CHECK_FUNCS([updwtmpx updwtmpx], [have_gnu_utmpx=yes], [have_gnu_utmpx=no])
+AC_CHECK_FUNCS([getusershell], [have_getusershell=yes],[have_getusershell=no])
AM_CONDITIONAL([HAVE_OPENAT], [test "x$have_openat" = xyes])
+
+AC_CHECK_FUNCS([isnan], [],
+ [AC_CHECK_LIB([m], [isnan], [MATH_LIBS="-lm"])]
+ [AC_CHECK_LIB([m], [__isnan], [MATH_LIBS="-lm"])]
+)
+AC_SUBST([MATH_LIBS])
+
+
dnl lib/mononotic.c may require -lrt
AC_CHECK_FUNCS([clock_gettime], [],
[AC_CHECK_LIB([rt], [clock_gettime], [REALTIME_LIBS="-lrt"])]
[], [with_ncursesw=auto]
)
have_ncursesw=no
+have_ncursesw_header=no
AS_IF([test "x$with_ncursesw" != xno], [
UL_NCURSES_CHECK([ncursesw])
AS_IF([test "x$have_ncursesw" = xyes], [
- AC_DEFINE([HAVE_LIBNCURSESW], [1], [Define if ncursesw library available])
+ AC_CHECK_HEADERS([ncursesw/ncurses.h], [have_ncursesw_header=yes])
+ AC_CHECK_HEADERS([ncursesw/term.h])
+
+ # Define HAVE_NCURSES_H only if check for HAVE_NCURSESW_NCURSES_H is
+ # unsuccessful to avoid too many *_H permitations in config.h
+ AS_IF([test "x$have_ncursesw_header" = xno], [
+ AC_CHECK_HEADERS([ncurses.h], [have_ncursesw_header=yes])
+ AC_CHECK_HEADERS([term.h])
+ ])
+ AS_IF([test "x$have_ncursesw_header" = xno], [have_ncursesw=no])
+ ])
+ AS_IF([test "x$have_ncursesw" = xyes], [
CURSES_LIB_NAME="ncursesw"
- AC_CHECK_HEADERS([ncursesw/ncurses.h ncurses.h])
+ AC_DEFINE([HAVE_LIBNCURSESW], [1], [Define if ncursesw library available])
])
])
AS_CASE([$with_ncursesw:$have_ncursesw],
[], [with_ncurses=auto]
)
have_ncurses=no
-
+have_ncurses_header=no
AS_CASE([$with_ncurses:$build_widechar],
[yes:yes], [AC_MSG_ERROR([wide-char support enabled, but non-wide ncurses selects])])
AS_IF([test "x$have_ncursesw" = xno -a "x$with_ncurses" != xno ], [
UL_NCURSES_CHECK([ncurses])
AS_IF([test "x$have_ncurses" = xyes], [
- AC_DEFINE([HAVE_LIBNCURSES], [1], [Define if ncurses library available])
+ AC_CHECK_HEADERS([ncurses/ncurses.h], [have_ncurses_header=yes])
+ AC_CHECK_HEADERS([ncurses/term.h])
+
+ # Define HAVE_NCURSES_H only if check for HAVE_NCURSES_NCURSES_H is
+ # unsuccessful to avoid too many *_H permitations in config.h
+ AS_IF([test "x$have_ncurses_header" = xno], [
+ AC_CHECK_HEADERS([ncurses.h], [have_ncurses_header=yes])
+ AC_CHECK_HEADERS([term.h])
+ ])
+ AS_IF([test "x$have_ncurses_header" = xno], [have_ncurses=no])
+ ])
+ AS_IF([test "x$have_ncurses" = xyes], [
CURSES_LIB_NAME="ncurses"
- AC_CHECK_HEADERS([ncurses/ncurses.h ncurses.h])
+ AC_DEFINE([HAVE_LIBNCURSES], [1], [Define if ncurses library available])
])
])
AS_CASE([$with_ncurses:$have_ncurses],
[], [with_tinfo=auto]
)
have_tinfo=no
+have_tinfow=no
AS_IF([test "x$with_tinfo" != xno], [
- dnl Try pkg-config for libtinfo
- PKG_CHECK_MODULES(TINFO, [tinfo], [
- dnl pkg-config success
- have_tinfo=yes
- UL_PKG_STATIC([TINFO_LIBS_STATIC], [tinfo])], [
-
- dnl If pkg-config failed, fall back to classic searching.
- AC_CHECK_LIB([tinfo], [tgetent], [
- have_tinfo=yes
- TINFO_LIBS="-ltinfo"
- TINFO_LIBS_STATIC="-ltinfo"
- TINFO_CFLAGS=""])
+ AS_IF([test "x$have_ncursesw" = xyes], [
+ UL_TINFO_CHECK([tinfow])
+ ])
+ AS_IF([test "x$have_tinfow" = xno], [
+ UL_TINFO_CHECK([tinfo])
])
])
AC_SUBST([TINFO_LIBS])
AC_SUBST([TINFO_LIBS_STATIC])
AC_SUBST([TINFO_CFLAGS])
-AM_CONDITIONAL([HAVE_TINFO], [test "x$have_tinfo" = xyes])
-AS_IF([test "x$have_tinfo" = xyes], [
- AC_DEFINE(HAVE_LIBTINFO, 1, [Define if libtinfo available.])
+AM_CONDITIONAL([HAVE_TINFO], [test "x$have_tinfo" = xyes -o "x$have_tinfow" = xyes])
+AS_IF([test "x$have_tinfo" = xyes -o "x$have_tinfow" = xyes], [
+ AC_DEFINE(HAVE_LIBTINFO, 1, [Define if libtinfo or libtinfow available.])
])
[], [enable_libmount_support_mtab=no]
)
-AS_IF([test "x$enable_libmount_support_mtab" == xyes], [
+AS_IF([test "x$enable_libmount_support_mtab" = xyes], [
AC_DEFINE([USE_LIBMOUNT_SUPPORT_MTAB], [1], [Define to 1 if want to support mtab.])
])
UL_REQUIRES_BUILD([uuidd], [libuuid])
UL_REQUIRES_HAVE([uuidd], [timer], [timer_create function])
UL_REQUIRES_HAVE([uuidd], [sys_signalfd_h], [sys/signalfd.h header])
-AS_IF([test "x$build_uuidd" = xyes || test "x$enable_libuuid_force_uuidd" == xyes ], [
+AS_IF([test "x$build_uuidd" = xyes || test "x$enable_libuuid_force_uuidd" = xyes], [
AC_DEFINE([HAVE_UUIDD], [1], [Define to 1 if you want to use uuid daemon.])
])
AM_CONDITIONAL([BUILD_UUIDD], [test "x$build_uuidd" = xyes])
UL_REQUIRES_BUILD([uuidgen], [libuuid])
AM_CONDITIONAL([BUILD_UUIDGEN], [test "x$build_uuidgen" = xyes])
+UL_BUILD_INIT([uuidparse], [check])
+UL_REQUIRES_BUILD([uuidparse], [libuuid])
+UL_REQUIRES_BUILD([uuidparse], [libsmartcols])
+AM_CONDITIONAL([BUILD_UUIDPARSE], [test "x$build_uuidparse" = xyes])
+
UL_BUILD_INIT([blkid], [check])
UL_REQUIRES_BUILD([blkid], [libblkid])
AM_CONDITIONAL([BUILD_BLKID], [test "x$build_blkid" = xyes])
UL_BUILD_INIT([wipefs], [check])
UL_REQUIRES_BUILD([wipefs], [libblkid])
+UL_REQUIRES_BUILD([wipefs], [libsmartcols])
AM_CONDITIONAL([BUILD_WIPEFS], [test "x$build_wipefs" = xyes])
UL_BUILD_INIT([findmnt], [check])
AC_MSG_RESULT([no])])
])
+AS_IF([test "x$build_fallocate" = xyes], [
+ dnl check for valid posix_fallocate() function
+ AC_MSG_CHECKING([for valid posix_fallocate() function])
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_LINUX_FALLOC_H
+# include <linux/falloc.h>
+#endif
+#ifdef HAVE_FCNTL_H
+# include <fcntl.h>
+#endif
+]],[[
+ long ret;
+ ret = posix_fallocate(0, 0xfffffffful, 0xfffffffful);
+ if (ret != 0) {
+ return 1;
+ }
+ ]])],[
+ AC_MSG_RESULT([yes])
+ AC_DEFINE([HAVE_POSIX_FALLOCATE], [1], [Have valid posix_fallocate() function])],[
+ AC_MSG_RESULT([no])])
+])
+
AC_ARG_ENABLE([unshare],
AS_HELP_STRING([--disable-unshare], [do not build unshare]),
[], [UL_DEFAULT_ENABLE([agetty], [check])]
)
UL_BUILD_INIT([agetty])
-UL_REQUIRES_HAVE([agetty], [utmp_h], [utmp.h header])
+UL_REQUIRES_HAVE([agetty], [utmpx_h], [utmpx.h header])
+UL_REQUIRES_HAVE([agetty], [gnu_utmpx], [GNU utmpx functions])
AM_CONDITIONAL([BUILD_AGETTY], [test "x$build_agetty" = xyes])
AS_IF([test "x$have_futimens" = xyes -a "x$have_inotify_init1" = xyes ], [
AC_DEFINE([AGETTY_RELOAD], [1], [Enable agetty --reload feature])
UL_BUILD_INIT([swapon], [check])
UL_REQUIRES_LINUX([swapon])
+UL_REQUIRES_SYSCALL_CHECK([swapon], [UL_CHECK_SYSCALL([swapon])], [swapon])
+UL_REQUIRES_SYSCALL_CHECK([swapon], [UL_CHECK_SYSCALL([swapoff])], [swapoff])
UL_REQUIRES_BUILD([swapon], [libblkid])
UL_REQUIRES_BUILD([swapon], [libmount])
UL_REQUIRES_BUILD([swapon], [libsmartcols])
AM_CONDITIONAL([BUILD_SWAPON], [test "x$build_swapon" = xyes])
+AC_CHECK_FUNCS([swapon])
+AC_CHECK_FUNCS([swapoff])
UL_BUILD_INIT([lsblk], [check])
UL_BUILD_INIT([lslogins])
UL_REQUIRES_BUILD([lslogins], [libsmartcols])
UL_REQUIRES_HAVE([lslogins], [shadow_h], [shadow.h header])
-UL_REQUIRES_HAVE([lslogins], [utmp_h], [utmp.h header])
+UL_REQUIRES_HAVE([lslogins], [utmpx_h], [utmpx.h header])
+UL_REQUIRES_HAVE([lslogins], [gnu_utmpx], [GNU utmpx functions])
AM_CONDITIONAL([BUILD_LSLOGINS], [test "x$build_lslogins" = xyes])
UL_BUILD_INIT([namei], [yes])
AM_CONDITIONAL([BUILD_NAMEI], [test "x$build_namei" = xyes])
+matriplet="$($CC -print-multiarch 2>/dev/null || true)"
+if test "x$matriplet" != "x"; then
+ AC_DEFINE_UNQUOTED([MULTIARCHTRIPLET], ["$matriplet"],
+ ["Multi-arch triplet for whereis library search path"])
+fi
UL_BUILD_INIT([whereis], [yes])
AM_CONDITIONAL([BUILD_WHEREIS], [test "x$build_whereis" = xyes])
UL_REQUIRES_HAVE([flock], [timer], [timer_create function])
AM_CONDITIONAL([BUILD_FLOCK], [test "x$build_flock" = xyes])
+
+AC_ARG_ENABLE([lsmem],
+ AS_HELP_STRING([--disable-lsmem], [do not build lsmem]),
+ [], [UL_DEFAULT_ENABLE([lsmem], [check])]
+)
+UL_BUILD_INIT([lsmem])
+UL_REQUIRES_LINUX([lsmem])
+UL_REQUIRES_BUILD([lsmem], [libsmartcols])
+AM_CONDITIONAL([BUILD_LSMEM], [test "x$build_lsmem" = xyes])
+
+
+AC_ARG_ENABLE([chmem],
+ AS_HELP_STRING([--disable-chmem], [do not build chmem]),
+ [], [UL_DEFAULT_ENABLE([chmem], [check])]
+)
+UL_BUILD_INIT([chmem])
+UL_REQUIRES_LINUX([chmem])
+AM_CONDITIONAL([BUILD_CHMEM], [test "x$build_chmem" = xyes])
+
UL_BUILD_INIT([ipcmk], [yes])
AM_CONDITIONAL([BUILD_IPCMK], [test "x$build_ipcmk" = xyes])
+
AC_ARG_ENABLE([ipcrm],
AS_HELP_STRING([--disable-ipcrm], [do not build ipcrm]),
[], [UL_DEFAULT_ENABLE([ipcrm], [yes])]
UL_BUILD_INIT([lsns], [check])
UL_REQUIRES_LINUX([lsns])
UL_REQUIRES_BUILD([lsns], [libsmartcols])
+UL_REQUIRES_BUILD([lsns], [libmount])
AM_CONDITIONAL([BUILD_LSNS], [test "x$build_lsns" = xyes])
UL_BUILD_INIT([renice], [yes])
AM_CONDITIONAL([BUILD_RENICE], [test "x$build_renice" = xyes])
+
+AC_ARG_ENABLE([rfkill],
+ AS_HELP_STRING([--disable-rfkill], [do not build rfkill]),
+ [], [UL_DEFAULT_ENABLE([rfkill], [check])]
+)
+UL_BUILD_INIT([rfkill])
+UL_REQUIRES_LINUX([rfkill])
+UL_REQUIRES_BUILD([rfkill], [libsmartcols])
+AM_CONDITIONAL([BUILD_RFKILL], [test "x$build_rfkill" = xyes])
+
+
UL_BUILD_INIT([setsid], [yes])
AM_CONDITIONAL([BUILD_SETSID], [test "x$build_setsid" = xyes])
UL_REQUIRES_HAVE([ctrlaltdel], [reboot], [reboot function])
AM_CONDITIONAL([BUILD_CTRLALTDEL], [test "x$build_ctrlaltdel" = xyes])
+UL_BUILD_INIT([fincore], [check])
+UL_REQUIRES_LINUX([fincore])
+UL_REQUIRES_BUILD([fincore], [libsmartcols])
+AM_CONDITIONAL([BUILD_FINCORE], [test "x$build_fincore" = xyes])
+
UL_BUILD_INIT([fsfreeze], [check])
UL_REQUIRES_LINUX([fsfreeze])
AM_CONDITIONAL([BUILD_FSFREEZE], [test "x$build_fsfreeze" = xyes])
UL_REQUIRES_LINUX([blkdiscard])
AM_CONDITIONAL([BUILD_BLKDISCARD], [test "x$build_blkdiscard" = xyes])
+UL_BUILD_INIT([blkzone], [check])
+UL_REQUIRES_LINUX([blkzone])
+UL_REQUIRES_HAVE([blkzone], [linux_blkzoned_h], [linux/blkzoned.h header])
+AM_CONDITIONAL([BUILD_BLKZONE], [test "x$build_blkzone" = xyes])
+
UL_BUILD_INIT([ldattach], [check])
UL_REQUIRES_LINUX([ldattach])
AM_CONDITIONAL([BUILD_LDATTACH], [test "x$build_ldattach" = xyes])
UL_BUILD_INIT([colrm], [yes])
AM_CONDITIONAL([BUILD_COLRM], [test "x$build_colrm" = xyes])
-UL_BUILD_INIT([column], [yes])
+UL_BUILD_INIT([column], [check])
+UL_REQUIRES_BUILD([column], [libsmartcols])
AM_CONDITIONAL([BUILD_COLUMN], [test "x$build_column" = xyes])
UL_BUILD_INIT([hexdump], [yes])
UL_BUILD_INIT([rev], [yes])
AM_CONDITIONAL([BUILD_REV], [test "x$build_rev" = xyes])
-UL_BUILD_INIT([tailf], [yes])
-AM_CONDITIONAL([BUILD_TAILF], [test "x$build_tailf" = xyes])
-
AC_ARG_ENABLE([tunelp],
AS_HELP_STRING([--enable-tunelp], [build tunelp]),
[], [UL_DEFAULT_ENABLE([last], [check])]
)
UL_BUILD_INIT([last])
-UL_REQUIRES_HAVE([last], [utmp_h], [utmp.h header])
+UL_REQUIRES_HAVE([last], [utmpx_h], [utmpx.h header])
+UL_REQUIRES_HAVE([last], [gnu_utmpx], [GNU utmpx functions])
AM_CONDITIONAL([BUILD_LAST], [test "x$build_last" = xyes])
[], [UL_DEFAULT_ENABLE([utmpdump], [check])]
)
UL_BUILD_INIT([utmpdump])
-UL_REQUIRES_HAVE([utmpdump], [utmp_h], [utmp.h header])
+UL_REQUIRES_HAVE([utmpdump], [utmpx_h], [utmpx.h header])
+UL_REQUIRES_HAVE([utmpdump], [gnu_utmpx], [GNU utmpx functions])
AM_CONDITIONAL([BUILD_UTMPDUMP], [test "x$build_utmpdump" = xyes])
AM_CONDITIONAL([BUILD_RENAME], [test "x$build_rename" = xyes])
-AC_ARG_ENABLE([reset],
- AS_HELP_STRING([--enable-reset], [build reset]),
- [], [UL_DEFAULT_ENABLE([reset], [no])]
-)
-UL_BUILD_INIT([reset])
-AM_CONDITIONAL([BUILD_RESET], [test "x$build_reset" = xyes])
-
-
AC_ARG_ENABLE([vipw],
AS_HELP_STRING([--enable-vipw], [build vipw]),
[], [UL_DEFAULT_ENABLE([vipw], [no])]
)
UL_BUILD_INIT([chfn_chsh])
UL_REQUIRES_HAVE([chfn_chsh], [shadow_h], [shadow.h header])
+UL_REQUIRES_HAVE([chfn_chsh], [getusershell], [getusershell function])
AS_IF([test "x$enable_chfn_chsh_password" = xyes -o "x$have_user" = xyes], [
UL_REQUIRES_HAVE([chfn_chsh], [security_pam_appl_h], [PAM header file])
UL_BUILD_INIT([login])
UL_REQUIRES_HAVE([login], [security_pam_appl_h], [PAM header file])
UL_REQUIRES_HAVE([login], [security_pam_misc_h, security_openpam_h], [PAM conversation functions])
-UL_REQUIRES_HAVE([login], [utmp_h], [utmp.h header])
+UL_REQUIRES_HAVE([login], [utmpx_h], [utmpx.h header])
+UL_REQUIRES_HAVE([login], [gnu_utmpx], [GNU utmpx functions])
AM_CONDITIONAL([BUILD_LOGIN], [test "x$build_login" = xyes])
AC_ARG_ENABLE([login-chown-vcs],
)
UL_BUILD_INIT([su])
UL_REQUIRES_HAVE([su], [security_pam_appl_h], [PAM header file])
-UL_REQUIRES_HAVE([su], [utmp_h], [utmp.h header])
+UL_REQUIRES_HAVE([su], [utmpx_h], [utmpx.h header])
+UL_REQUIRES_HAVE([su], [gnu_utmpx], [GNU utmpx functions])
AM_CONDITIONAL([BUILD_SU], [test "x$build_su" = xyes])
)
UL_BUILD_INIT([runuser])
UL_REQUIRES_HAVE([runuser], [security_pam_appl_h], [PAM header file])
-UL_REQUIRES_HAVE([runuser], [utmp_h], [utmp.h header])
+UL_REQUIRES_HAVE([runuser], [utmpx_h], [utmpx.h header])
+UL_REQUIRES_HAVE([runuser], [gnu_utmpx], [GNU utmpx functions])
AM_CONDITIONAL([BUILD_RUNUSER], [test "x$build_runuser" = xyes])
[], [UL_DEFAULT_ENABLE([ul], [check])]
)
UL_BUILD_INIT([ul])
-UL_REQUIRES_HAVE([ul], [ncursesw, tinfo, ncurses], [ncursesw, ncurses or tinfo libraries])
+UL_REQUIRES_HAVE([ul], [ncursesw, ncurses], [ncursesw or ncurses libraries])
AM_CONDITIONAL([BUILD_UL], [test "x$build_ul" = xyes])
[], [UL_DEFAULT_ENABLE([more], [check])]
)
UL_BUILD_INIT([more])
-UL_REQUIRES_HAVE([more], [ncursesw, tinfo, ncurses, termcap], [ncursesw, ncurses, tinfo or termcap libraries])
+UL_REQUIRES_HAVE([more], [ncursesw, ncurses], [ncursesw or ncurses libraries])
AM_CONDITIONAL([BUILD_MORE], [test "x$build_more" = xyes])
# ionice, taskset and chrt
AC_ARG_ENABLE([schedutils],
AS_HELP_STRING([--disable-schedutils], [do not build chrt, ionice, taskset]),
- [], [UL_DEFAULT_ENABLE([schedutils], [yes])]
+ [], [UL_DEFAULT_ENABLE([schedutils], [check])]
)
-UL_BUILD_INIT([schedutils])
-UL_BUILD_INIT([ionice], [check])
-UL_REQUIRES_BUILD([ionice], [schedutils])
+
+UL_ENABLE_ALIAS([ionice], [schedutils])
+UL_BUILD_INIT([ionice])
UL_REQUIRES_SYSCALL_CHECK([ionice],
[UL_CHECK_SYSCALL([ioprio_set],
[alpha], [442],
AM_CONDITIONAL([BUILD_IONICE], [test "x$build_ionice" = xyes])
-UL_BUILD_INIT([taskset], [check])
-UL_REQUIRES_BUILD([taskset], [schedutils])
+
+UL_ENABLE_ALIAS([taskset], [schedutils])
+UL_BUILD_INIT([taskset])
UL_REQUIRES_HAVE([taskset], [cpu_set_t], [cpu_set_t type])
UL_REQUIRES_SYSCALL_CHECK([taskset],
[UL_CHECK_SYSCALL([sched_getaffinity])],
AS_IF([test "x$ac_cv_func_sched_setscheduler" = xyes], [have_schedsetter=yes],
[test "x$ac_cv_func_sched_setattr" = xyes], [have_schedsetter=yes])
-UL_BUILD_INIT([chrt], [check])
-UL_REQUIRES_BUILD([chrt], [schedutils])
+UL_ENABLE_ALIAS([chrt], [schedutils])
+UL_BUILD_INIT([chrt])
UL_REQUIRES_HAVE([chrt], [schedsetter], [sched_set functions])
AM_CONDITIONAL([BUILD_CHRT], [test "x$build_chrt" = xyes])
[], [UL_DEFAULT_ENABLE([wall], [check])]
)
UL_BUILD_INIT([wall])
-UL_REQUIRES_HAVE([wall], [utmp_h], [utmp.h header])
+UL_REQUIRES_HAVE([wall], [utmpx_h], [utmpx.h header])
AM_CONDITIONAL([BUILD_WALL], [test "x$build_wall" = xyes])
[], [UL_DEFAULT_ENABLE([write], [no])]
)
UL_BUILD_INIT([write])
-UL_REQUIRES_HAVE([write], [utmp_h], [utmp.h header])
+UL_REQUIRES_HAVE([write], [utmpx_h], [utmpx.h header])
+UL_REQUIRES_HAVE([write], [gnu_utmpx], [GNU utmpx functions])
AM_CONDITIONAL([BUILD_WRITE], [test "x$build_write" = xyes])
[], [enable_usrdir_path=no]
)
-AS_IF([test "x$enable_usrdir_path" == xyes], [
+AS_IF([test "x$enable_usrdir_path" = xyes], [
AC_DEFINE([USE_USRDIR_PATHS_ONLY], [1], [Define to 1 to remove /bin and /sbin from PATH env.variable])
])
prefix: ${prefix}
exec prefix: ${exec_prefix}
- localstatedir: ${localstatedir}
+ runstatedir: ${runstatedir}
bindir: ${bindir}
sbindir: ${sbindir}
libdir: ${libdir}