1AC_INIT([util-linux], 2 m4_esyscmd([tools/git-version-gen .tarball-version]), 3 [kzak@redhat.com],, 4 [http://www.kernel.org/pub/linux/utils/util-linux/]) 5 6AC_PREREQ([2.60]) 7 8AC_CONFIG_AUX_DIR([config]) 9AC_CONFIG_MACRO_DIR([m4]) 10dnl AC_USE_SYSTEM_EXTENSIONS must be called before any macros that run 11dnl the compiler (like AC_PROG_LIBTOOL) to avoid autoconf errors. 12AC_USE_SYSTEM_EXTENSIONS 13AM_INIT_AUTOMAKE([-Wall foreign 1.10 tar-pax dist-bzip2 no-dist-gzip dist-xz -Wno-portability subdir-objects]) 14 15m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])], 16 [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])]) 17 18AC_CONFIG_SRCDIR([sys-utils/mount.c]) 19AC_PREFIX_DEFAULT([/usr]) 20 21dnl version details from <major>.<minor>[-<suffix>] 22PACKAGE_VERSION_MAJOR=$(echo $PACKAGE_VERSION | awk -F. '{print $1}') 23PACKAGE_VERSION_MINOR=$(echo $PACKAGE_VERSION | awk -F. '{print $2}' \ 24 | awk -F- '{print $1}') 25PACKAGE_VERSION_RELEASE=0 26 27dnl libblkid version 28LIBBLKID_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE" 29LIBBLKID_DATE="24-Oct-2014" 30LIBBLKID_LT_MAJOR=1 31LIBBLKID_LT_MINOR=1 32LIBBLKID_LT_MICRO=0 33LIBBLKID_VERSION_INFO=`expr $LIBBLKID_LT_MAJOR + $LIBBLKID_LT_MINOR`:$LIBBLKID_LT_MICRO:$LIBBLKID_LT_MINOR 34 35dnl libuuid version 36LIBUUID_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE" 37LIBUUID_LT_MAJOR=1 38LIBUUID_LT_MINOR=3 39LIBUUID_LT_MICRO=0 40LIBUUID_VERSION_INFO=`expr $LIBUUID_LT_MAJOR + $LIBUUID_LT_MINOR`:$LIBUUID_LT_MICRO:$LIBUUID_LT_MINOR 41 42dnl libmount version 43LIBMOUNT_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE" 44LIBMOUNT_LT_MAJOR=1 45LIBMOUNT_LT_MINOR=1 46LIBMOUNT_LT_MICRO=0 47LIBMOUNT_VERSION_INFO=`expr $LIBMOUNT_LT_MAJOR + $LIBMOUNT_LT_MINOR`:$LIBMOUNT_LT_MICRO:$LIBMOUNT_LT_MINOR 48 49dnl libsmartcols version 50LIBSMARTCOLS_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE" 51LIBSMARTCOLS_LT_MAJOR=1 52LIBSMARTCOLS_LT_MINOR=1 53LIBSMARTCOLS_LT_MICRO=0 54LIBSMARTCOLS_VERSION_INFO=`expr $LIBSMARTCOLS_LT_MAJOR + $LIBSMARTCOLS_LT_MINOR`:$LIBSMARTCOLS_LT_MICRO:$LIBSMARTCOLS_LT_MINOR 55 56# Check whether exec_prefix=/usr: 57AS_CASE([$exec_prefix:$prefix], 58[NONE:NONE | NONE:/usr | /usr:*], 59 [AC_MSG_NOTICE([Default --exec-prefix detected.]) 60 AS_CASE([$bindir], ['${exec_prefix}/bin'], [bindir=/bin; AC_MSG_NOTICE([ --bindir defaults to /bin]) ]) 61 AS_CASE([$sbindir], ['${exec_prefix}/sbin'], [sbindir=/sbin; AC_MSG_NOTICE([ --sbindir defaults to /sbin])]) 62 AS_CASE([$libdir], ['${exec_prefix}/lib'], [libdir=/lib; AC_MSG_NOTICE([ --libdir defaults to /lib]) ]) 63 ] 64) 65 66AS_CASE([$prefix:$localstatedir], 67 [NONE:'${prefix}/var' | /usr:'${prefix}/var'], 68 [localstatedir=/run 69 AC_MSG_NOTICE([ --localstatedir defaults to /run]) 70 ] 71) 72AC_SUBST([localstatedir]) 73 74 75# The original default values of {bin,sbin,lib}dir 76usrbin_execdir='${exec_prefix}/bin' 77AC_SUBST([usrbin_execdir]) 78 79usrsbin_execdir='${exec_prefix}/sbin' 80AC_SUBST([usrsbin_execdir]) 81 82AS_CASE([$libdir], 83 ['${exec_prefix}/'* | '${prefix}/'* | /usr/* | "${prefix}"/* ], 84 [usrlib_execdir=$libdir], 85 [usrlib_execdir='${exec_prefix}'$libdir] 86) 87AC_SUBST([usrlib_execdir]) 88 89 90AM_PROG_CC_C_O 91AC_PROG_CC_STDC 92AC_CANONICAL_HOST 93AC_C_CONST 94AC_C_VOLATILE 95AC_C_BIGENDIAN 96 97dnl Compiler warnings 98UL_WARN_ADD([-fno-common]) 99UL_WARN_ADD([-Wall]) 100UL_WARN_ADD([-Werror=sequence-point]) 101UL_WARN_ADD([-Wextra]) 102UL_WARN_ADD([-Wmissing-declarations]) 103UL_WARN_ADD([-Wmissing-parameter-type]) 104UL_WARN_ADD([-Wmissing-prototypes]) 105UL_WARN_ADD([-Wno-missing-field-initializers]) 106UL_WARN_ADD([-Wredundant-decls]) 107UL_WARN_ADD([-Wsign-compare]) 108UL_WARN_ADD([-Wtype-limits]) 109UL_WARN_ADD([-Wuninitialized]) 110UL_WARN_ADD([-Wunused-but-set-parameter]) 111UL_WARN_ADD([-Wunused-but-set-variable]) 112UL_WARN_ADD([-Wunused-parameter]) 113UL_WARN_ADD([-Wunused-result]) 114UL_WARN_ADD([-Wunused-variable]) 115UL_WARN_ADD([-Wnested-externs]) 116UL_WARN_ADD([-Wpointer-arith]) 117UL_WARN_ADD([-Wstrict-prototypes]) 118UL_WARN_ADD([-Wformat-security]) 119AC_SUBST([WARN_CFLAGS]) 120 121UL_WARN_ADD([-Wno-clobbered], [BSD_WARN_CFLAGS]) 122AC_SUBST([BSD_WARN_CFLAGS]) 123 124dnl libtool-2 125LT_INIT 126 127m4_ifndef([PKG_PROG_PKG_CONFIG], 128 [m4_fatal([Could not locate the pkg-config autoconf 129 macros. These are usually located in /usr/share/aclocal/pkg.m4. 130 If your macros are in a different location, try setting the 131 environment variable AL_OPTS="-I/other/macro/dir" before running 132 ./autogen.sh or autoreconf again.])]) 133PKG_PROG_PKG_CONFIG 134 135GTK_DOC_CHECK([1.10]) 136AC_PATH_PROG([XSLTPROC], [xsltproc]) 137 138 139linux_os=no 140bsd_os=no 141AS_CASE([${host_os}], 142 [*linux*], 143 [linux_os=yes], 144 [*bsd*], 145 [bsd_os=yes]) 146AM_CONDITIONAL([LINUX], [test "x$linux_os" = xyes]) 147AM_CONDITIONAL([BSD], [test "x$bsd_os" = xyes]) 148 149 150dnl define ARCH_<NAME> conditionals 151UL_SET_ARCH([I86], [i?86-*]) 152UL_SET_ARCH([86_64], [x86_64*]) 153UL_SET_ARCH([IA64], [ia64*]) 154UL_SET_ARCH([S390], [s390*]) 155UL_SET_ARCH([SPARC], [sparc*]) 156UL_SET_ARCH([PPC], [ppc*|powerpc*]) 157UL_SET_ARCH([M68K], [m68*]) 158UL_SET_ARCH([MIPS], [mips*]) 159UL_SET_ARCH([HPPA], [hppa*]) 160 161AC_SYS_LARGEFILE 162 163dnl Don't forget to maintain alternatively allowed versions in autogen.sh! 164AM_GNU_GETTEXT_VERSION([0.18.3]) 165AM_GNU_GETTEXT([external]) 166 167AS_IF([test -d "$srcdir/po"], [ 168 ALL_LINGUAS=`cd $srcdir/po > /dev/null && echo *.po | sed 's/\.po//g'` 169], [ 170 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" 171]) 172 173AC_CHECK_HEADERS([linux/compiler.h linux/blkpg.h linux/major.h], [], [], [ 174#ifdef HAVE_LINUX_COMPILER_H 175#include <linux/compiler.h> 176#endif 177]) 178AC_CHECK_HEADERS([ \ 179 asm/io.h \ 180 err.h \ 181 errno.h \ 182 fcntl.h \ 183 getopt.h \ 184 inttypes.h \ 185 linux/cdrom.h \ 186 linux/falloc.h \ 187 linux/watchdog.h \ 188 linux/fd.h \ 189 linux/raw.h \ 190 linux/tiocl.h \ 191 linux/version.h \ 192 linux/securebits.h \ 193 locale.h \ 194 mntent.h \ 195 net/if.h \ 196 net/if_dl.h \ 197 netinet/in.h \ 198 paths.h \ 199 pty.h \ 200 security/pam_misc.h \ 201 stdint.h \ 202 stdio_ext.h \ 203 stdlib.h \ 204 endian.h \ 205 byteswap.h \ 206 sys/endian.h \ 207 sys/disk.h \ 208 sys/disklabel.h \ 209 sys/file.h \ 210 sys/io.h \ 211 sys/ioccom.h \ 212 sys/ioctl.h \ 213 sys/mkdev.h \ 214 sys/prctl.h \ 215 sys/queue.h \ 216 sys/resource.h \ 217 sys/socket.h \ 218 sys/sockio.h \ 219 sys/stat.h \ 220 sys/swap.h \ 221 sys/syscall.h \ 222 sys/time.h \ 223 sys/ttydefaults.h \ 224 sys/types.h \ 225 sys/un.h \ 226 unistd.h \ 227]) 228 229AC_CHECK_HEADERS([langinfo.h], 230 [AM_CONDITIONAL([HAVE_LANGINFO], [true])], 231 [AM_CONDITIONAL([HAVE_LANGINFO], [false])]) 232 233dnl Convert some ac_cv_header_* variables to have_* 234dnl 235have_linux_raw_h=$ac_cv_header_linux_raw_h 236have_linux_securebits_h=$ac_cv_header_linux_securebits_h 237have_linux_watchdog_h=$ac_cv_header_linux_watchdog_h 238have_security_pam_misc_h=$ac_cv_header_security_pam_misc_h 239 240 241AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ 242#include <time.h> 243#include <unistd.h> 244]], [[ 245 int a = 0; 246 struct tm *tm = localtime(0); 247 if (a == -1) /* false */ 248 sleep(tm->tm_gmtoff); 249]])], 250[AC_DEFINE([HAVE_TM_GMTOFF], [1], [Does struct tm have a field tm_gmtoff?]) 251]) 252 253AC_CHECK_MEMBERS([struct termios.c_line],,, 254 [[#include <termios.h>]]) 255 256AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec],,, 257 [#include <sys/stat.h>]) 258 259AC_COMPILE_IFELSE([AC_LANG_PROGRAM( 260[[ 261#ifdef HAVE_SYS_SWAP_H 262# include <sys/swap.h> 263#endif 264#include <unistd.h> 265]], 266[[swapon("/dev/null", 0);]])], 267[AC_DEFINE([SWAPON_HAS_TWO_ARGS], [1], [Is swapon() declared with two parameters?]) 268], 269[AC_MSG_NOTICE([Your libc thinks that swapon has 1 arg only.]) 270]) 271 272 273AC_CHECK_DECLS([_NL_TIME_WEEK_1STDAY],[],[],[[#include <langinfo.h>]]) 274 275AC_CHECK_DECL([llseek], 276 [AC_DEFINE([HAVE_LLSEEK_PROTOTYPE], [1], 277 [Define to 1 if have llseek prototype])], 278 [], 279 [#include <unistd.h>]) 280 281AC_CHECK_DECL([lseek64], 282 [AC_DEFINE([HAVE_LSEEK64_PROTOTYPE], [1], 283 [Define to 1 if have lseek64 prototype])], 284 [], 285 [#define _LARGEFILE_SOURCE 286 #define _LARGEFILE64_SOURCE 287 #include <unistd.h>]) 288 289AC_CHECK_DECL([environ], 290 [AC_DEFINE([HAVE_ENVIRON_DECL], [1], 291 [Define to 1 if have **environ prototype])], 292) 293 294AC_CHECK_DECL([strsignal], 295 [AC_DEFINE([HAVE_STRSIGNAL_DECL], [1], 296 [Define to 1 if have strsignal function prototype])], 297) 298 299AC_CHECK_FUNCS([ \ 300 __fpending \ 301 secure_getenv \ 302 __secure_getenv \ 303 err \ 304 errx \ 305 fsync \ 306 utimensat \ 307 getdomainname \ 308 getdtablesize \ 309 getexecname \ 310 getmntinfo \ 311 getrlimit \ 312 inotify_init \ 313 jrand48 \ 314 lchown \ 315 llseek \ 316 lseek64 \ 317 mempcpy \ 318 nanosleep \ 319 open_memstream \ 320 personality \ 321 posix_fadvise \ 322 prctl \ 323 qsort_r \ 324 rpmatch \ 325 scandirat \ 326 setresgid \ 327 setresuid \ 328 sigqueue \ 329 srandom \ 330 strnchr \ 331 strndup \ 332 strnlen \ 333 strtoull \ 334 sysconf \ 335 sysinfo \ 336 updwtmp \ 337 usleep \ 338 warn \ 339 warnx \ 340]) 341AC_FUNC_FSEEKO 342 343AC_CHECK_FUNCS([openat fstatat unlinkat], [have_openat=yes], [have_openat=no]) 344AC_CHECK_FUNCS([ioperm iopl], [have_io=yes]) 345 346AC_CHECK_MEMBER([struct sockaddr.sa_len], 347 AC_DEFINE_UNQUOTED([HAVE_SA_LEN], [1], [Define if struct sockaddr contains sa_len]), [], 348 [#include <sys/types.h> 349 #include <sys/socket.h>]) 350 351SOCKET_LIBS= 352AC_SEARCH_LIBS([socket], [socket], 353 [AS_IF([test x"$ac_cv_search_socket" != x"none required"], 354 [SOCKET_LIBS="$SOCKET_LIBS -lsocket"]) 355]) 356AC_SUBST([SOCKET_LIBS]) 357 358 359have_dirfd=no 360AC_CHECK_FUNCS([dirfd], [have_dirfd=yes], [have_dirfd=no]) 361AS_IF([test x"$have_dirfd" = xno], [ 362 AC_CHECK_DECLS([dirfd], 363 [have_dirfd=yes], [have_dirfd=no], 364 [#include <sys/types.h> 365 #include <dirent.h>]) 366]) 367 368have_ddfd=no 369AS_IF([test x"$have_dirfd" = xno], [ 370 AC_CHECK_MEMBERS([DIR.dd_fd], 371 [have_ddfd=yes], [have_ddfd=no], 372 [#include <sys/types.h> 373 #include <dirent.h>]) 374]) 375 376AS_CASE([$have_dirfd:$have_ddfd], 377 [no:no], 378 [AC_MSG_ERROR([cannot find a method to get filedescriptor of directory])] 379) 380 381 382AC_MSG_CHECKING([whether program_invocation_short_name is defined]) 383AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ 384 #include <argp.h> 385]], [[ 386 program_invocation_short_name = "test"; 387]])], [ 388 AC_MSG_RESULT([yes]) 389 AC_DEFINE([HAVE_PROGRAM_INVOCATION_SHORT_NAME], [1], 390 [Define if program_invocation_short_name is defined]) 391], [ 392 AC_MSG_RESULT([no]) 393]) 394 395 396AC_MSG_CHECKING([whether __progname is defined]) 397AC_LINK_IFELSE([AC_LANG_PROGRAM([extern char *__progname;], 398 [if (*__progname == 0) return;])], 399 AC_DEFINE([HAVE___PROGNAME], [1], [Define if __progname is defined]) 400 AC_MSG_RESULT([yes]), 401 AC_MSG_RESULT([no])) 402 403dnl Static compilation 404m4_define([UL_STATIC_PROGRAMS], [losetup, mount, umount, fdisk, sfdisk, blkid]) 405 406AC_ARG_ENABLE([static-programs], 407 [AS_HELP_STRING([--enable-static-programs=LIST], 408 [link static the programs in LIST (comma-separated, 409 supported for ]m4_defn([UL_STATIC_PROGRAMS])[)])]) 410 411AS_CASE([$enable_static_programs], 412 [yes], 413 [enable_static_programs=m4_quote(UL_STATIC_PROGRAMS)], 414 [no], 415 [enable_static_programs=] 416) 417 418dnl Set all the individual AM_CONDITIONALs 419m4_foreach([UL_PRG], m4_defn([UL_STATIC_PROGRAMS]), [ 420 AS_CASE([,$enable_static_programs,], 421 [*,UL_PRG,*], [static_[]UL_PRG=yes] 422 ) 423 AS_IF([test "x$static_[]UL_PRG" = xyes], [AC_MSG_NOTICE([enable static build: UL_PRG.])]) 424 AM_CONDITIONAL([HAVE_STATIC_]m4_toupper(UL_PRG), 425 [test "x$static_[]UL_PRG" = xyes]) 426]) 427 428 429AC_ARG_ENABLE([all-programs], 430 AS_HELP_STRING([--disable-all-programs], [disable everything, might be overridden by --enable-<name>]), 431 [], [enable_all_programs=undefined] 432) 433 434AS_CASE([$enable_all_programs], 435 [yes], [AC_MSG_WARN([force to build all programs by default]) 436 ul_default_estate=check], 437 [no], [AC_MSG_WARN([disable all programs by default]) 438 ul_default_estate=no] 439) 440 441 442AX_CHECK_TLS 443 444AC_DEFUN([UL_SCANF_TYPE_MODIFIER], [dnl 445# include <stdio.h> 446int main() 447{ 448 int i; 449 char *s; 450 i = sscanf("x", $1, &s); 451 if (i == 1) 452 return 0; 453 return 1; 454}]) 455 456AC_CACHE_VAL([scanf_cv_alloc_modifier], 457 AC_RUN_IFELSE([AC_LANG_SOURCE([UL_SCANF_TYPE_MODIFIER(["%ms"])])], 458 [scanf_cv_alloc_modifier=ms], 459 AC_RUN_IFELSE([AC_LANG_SOURCE([UL_SCANF_TYPE_MODIFIER(["%as"])])], 460 [scanf_cv_alloc_modifier=as], 461 [scanf_cv_alloc_modifier=no] 462 ) 463 , 464 465 [AC_COMPILE_IFELSE([AC_LANG_SOURCE([ 466 #include <stdio.h> 467 #include <unistd.h> 468 469 #ifdef __GLIBC__ 470 471 #if !(__GLIBC_PREREQ(2, 7)) 472 #error %m is not available 473 #endif 474 475 #elif defined(_POSIX_VERSION) 476 477 #if _POSIX_VERSION < 200809L 478 #error %m is not available 479 #endif 480 481 #else 482 #error Your C-library is not supported. 483 #endif 484 ])], 485 [scanf_cv_alloc_modifier=ms], 486 [scanf_cv_alloc_modifier=no])] 487 ) 488) 489 490AC_MSG_CHECKING([scanf string alloc modifiers]) 491AS_CASE([$scanf_cv_alloc_modifier], 492 [ms], 493 [AC_MSG_RESULT([(%ms) yes]) 494 AC_DEFINE([HAVE_SCANF_MS_MODIFIER], [1], [scanf %ms modifier]) 495 have_scanf_alloc_modifier=yes], 496 [as], 497 [AC_MSG_RESULT([(%as) yes]) 498 have_scanf_alloc_modifier=yes 499 AC_DEFINE([HAVE_SCANF_AS_MODIFIER], [1], [scanf %as modifier])], 500 [AC_MSG_RESULT([no]) 501 have_scanf_alloc_modifier=no] 502) 503 504UL_CHECK_LIB([util], [openpty]) 505UL_CHECK_LIB([termcap], [tgetnum]) 506 507AC_CHECK_TYPES([union semun], [], [], [[ 508#include <sys/sem.h> 509]]) 510AC_CHECK_TYPES([loff_t]) 511 512AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ 513#include <wchar.h> 514#include <wctype.h> 515#include <stdio.h> 516]], [[ 517 wchar_t wc; 518 wint_t w; 519 w = fgetwc(stdin); 520 if (w == WEOF) exit(1); 521 wc = w; 522 fputwc(wc,stdout); 523]])], 524[AC_DEFINE([HAVE_WIDECHAR], [1], [Do we have wide character support?]) 525]) 526 527AC_CHECK_TYPES([cpu_set_t], [have_cpu_set_t=yes], [], [[ 528#include <sched.h> 529]]) 530 531AM_CONDITIONAL([HAVE_CPU_SET_T], [test "x$have_cpu_set_t" = xyes]) 532 533AC_CHECK_TYPES([sighandler_t], [], [], [[ 534#include <signal.h> 535]]) 536 537AC_CHECK_DECLS([CPU_ALLOC], [], [], [[ 538#include <sched.h> 539]]) 540 541# on Solaris, you can't mix and match standards, since we use c99 542# aparently at this stage, XOPEN_SOURCE will conflict. As workaround, 543# check for crypt.h and use that without XOPEN_SOURCE. 544AC_CHECK_HEADERS([crypt.h]) 545AC_LINK_IFELSE([AC_LANG_PROGRAM([[ 546#ifdef HAVE_CRYPT_H 547#include <crypt.h> 548#else 549#define _XOPEN_SOURCE 550#include <unistd.h> 551#endif 552]], [[ 553char *c = crypt("abc","pw"); 554]])],[],[ 555 LIBS="$LIBS -lcrypt" 556 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ 557 #ifdef HAVE_CRYPT_H 558 #include <crypt.h> 559 #else 560 #define _XOPEN_SOURCE 561 #include <unistd.h> 562 #endif 563 ]], [[ 564 char *c = crypt("abc","pw"); 565 ]])],[ 566 AC_DEFINE([HAVE_LIBCRYPT], [1], [Do we need -lcrypt?]) 567 have_libcrypt=yes 568 ],[ 569 AC_MSG_ERROR([crypt() is not available]) 570 ]) 571]) 572AM_CONDITIONAL([HAVE_LIBCRYPT], [test "x$have_libcrypt" = xyes]) 573 574 575AC_ARG_WITH([selinux], 576 AS_HELP_STRING([--with-selinux], [compile with SELinux support]), 577 [], [with_selinux=no] 578) 579 580AS_IF([test "x$with_selinux" = xno], [ 581 AM_CONDITIONAL([HAVE_SELINUX], [false]) 582], [ 583 PKG_CHECK_MODULES([SELINUX], [libselinux >= 2.0], 584 [AC_DEFINE([HAVE_LIBSELINUX], [1], [Define if SELinux is available]) 585 UL_PKG_STATIC([SELINUX_LIBS_STATIC], [libselinux]) 586 AM_CONDITIONAL([HAVE_SELINUX], [true]) 587 have_selinux=yes], 588 [have_selinux=no]) 589 590 AS_CASE([$with_selinux:$have_selinux], 591 [yes:no], [AC_MSG_ERROR([SELinux selected but libselinux not found or too old])] 592 ) 593 594 AS_IF([test "x$have_selinux" = xyes], [ 595 UL_SET_FLAGS([], [], [$SELINUX_LIBS]) 596 # This function is missing in old libselinux 1.xx versions 597 AC_CHECK_FUNCS([security_get_initial_context]) 598 UL_RESTORE_FLAGS 599 ]) 600]) 601AC_SUBST([SELINUX_LIBS]) 602AC_SUBST([SELINUX_LIBS_STATIC]) 603 604AC_ARG_WITH([audit], 605 AS_HELP_STRING([--with-audit], [compile with audit support]), 606 [], [with_audit=no] 607) 608 609AS_IF([test "x$with_audit" = xno], [ 610 AM_CONDITIONAL([HAVE_AUDIT], [false]) 611], [ 612 UL_CHECK_LIB([audit], [audit_log_user_message]) 613 AS_CASE([$with_audit:$have_audit], 614 [yes:no], 615 [AC_MSG_ERROR([Audit selected but libaudit not found (or does not support audit_log_user_message())])] 616 ) 617]) 618 619AC_ARG_WITH([udev], AS_HELP_STRING([--without-udev], [compile without udev support]), 620 [], [with_udev=auto] 621) 622 623AS_IF([test "x$with_udev" = xno], [ 624 AM_CONDITIONAL([HAVE_UDEV], [false]) 625], [ 626 UL_CHECK_LIB([udev], [udev_new]) 627 AS_CASE([$with_udev:$have_udev], 628 [yes:no], 629 [AC_MSG_ERROR([udev selected but libudev not found])] 630 ) 631]) 632 633AC_ARG_WITH([ncurses], 634 AS_HELP_STRING([--with-ncurses], [build with non-wide ncurses, default is wide version 635 (--without-ncurses disables all ncurses(w) support)]), 636 [], [with_ncurses=auto] 637) 638AM_CONDITIONAL([HAVE_NCURSES], [false]) 639 640AS_IF([test "x$with_ncurses" != xno], [ 641 have_ncurses=no 642 643 dnl First try to find the pkg-config module. 644 PKG_CHECK_MODULES(NCURSESW, [ncursesw], [ 645 have_ncurses=yes 646 NCURSES_LIBS=${NCURSESW_LIBS} 647 NCURSES_CFLAGS=${NCURSESW_CFLAGS} 648 AC_DEFINE([HAVE_LIBNCURSESW]) 649 CURSES_LIB_NAME="ncursesw" 650 ], [ 651 PKG_CHECK_MODULES(NCURSES, [ncurses], [ 652 have_ncurses=yes 653 AC_DEFINE([HAVE_LIBNCURSES]) 654 CURSES_LIB_NAME="ncursesw" 655 ], [:]) 656 ]) 657 658 AS_IF([test "x$have_ncurses" = xyes], [ 659 dnl If that worked, setup the defines that the code expects. 660 save_CPPFLAGS="$CPPFLAGS" 661 CPPFLAGS="$CPPFLAGS $NCURSES_CFLAGS" 662 AC_CHECK_HEADERS([ncurses.h]) 663 CPPFLAGS="$save_CPPFLAGS" 664 ], [ 665 dnl If that failed, fall back to classic searching. 666 AC_CHECK_HEADERS([ncurses.h ncurses/ncurses.h], [ 667 AS_IF([test "x$with_ncurses" = xauto], [ 668 UL_CHECK_LIB([ncursesw], [initscr], [ncurses]) 669 AS_IF([test "x$have_ncurses" = xyes], [ 670 AC_CHECK_HEADERS([ncursesw/ncurses.h]) 671 NCURSES_LIBS="-lncursesw" 672 CURSES_LIB_NAME="ncursesw" 673 ]) 674 ]) 675 AS_IF([test "x$have_ncurses" = xno], [ 676 UL_CHECK_LIB(ncurses, initscr) 677 AS_IF([test "x$have_ncurses" = xyes], [ 678 NCURSES_LIBS="-lncurses" 679 CURSES_LIB_NAME="ncurses" 680 ]) 681 ]) 682 ]) 683 ]) 684 685 AS_IF([test "x$have_ncurses" = xno], [ 686 AC_MSG_ERROR([ncurses or ncursesw selected, but library not found (--without-ncurses to disable)]) 687 ]) 688]) 689AC_SUBST([NCURSES_CFLAGS]) 690AC_SUBST([NCURSES_LIBS]) 691 692 693AC_ARG_WITH([slang], 694 AS_HELP_STRING([--with-slang], [compile cfdisk with slang]), 695 [], [with_slang=no] 696) 697have_slang=no 698AS_IF([test "x$with_slang" = xyes], [ 699 AC_CHECK_HEADERS([slang.h slang/slang.h]) 700 AC_CHECK_HEADERS([slcurses.h slang/slcurses.h], 701 [have_slang=yes], [], [ 702#ifdef HAVE_SLANG_H 703#include <slang.h> 704#elif defined(HAVE_SLANG_SLANG_H) 705#include <slang/slang.h> 706#endif 707]) 708 AS_IF([test "x$have_slang" = xno], [ 709 AC_MSG_ERROR([slang selected but slcurses.h not found])], 710 [CURSES_LIB_NAME=slang 711 ]) 712]) 713AM_CONDITIONAL([HAVE_SLANG], [test "x$have_slang" = xyes]) 714 715 716AS_IF([test "x$have_slang" = xyes -o "x$have_ncurses" = xyes], [ 717 AC_CHECK_LIB([$CURSES_LIB_NAME], use_default_colors, [ 718 AC_DEFINE(HAVE_USE_DEFAULT_COLORS, 1, 719 [Define if curses library has the use_default_colors().]) 720 ]) 721 AC_CHECK_LIB([$CURSES_LIB_NAME], resizeterm, [ 722 AC_DEFINE(HAVE_RESIZETERM, 1, 723 [Define if curses library has the resizeterm().]) 724 ]) 725]) 726 727 728dnl Try pkg-config for libtinfo 729PKG_CHECK_MODULES(TINFO, [tinfo], [have_tinfo=yes], [ 730 dnl If that failed, fall back to classic searching. 731 AC_CHECK_LIB([tinfo], [tgetent], [ 732 have_tinfo=yes 733 TINFO_LIBS="-ltinfo" 734 TINFO_CFLAGS=""]) 735]) 736AC_SUBST([TINFO_LIBS]) 737AC_SUBST([TINFO_CFLAGS]) 738AM_CONDITIONAL([HAVE_TINFO], [test "x$have_tinfo" = xyes]) 739 740 741AC_ARG_WITH([utempter], 742 AS_HELP_STRING([--with-utempter], [compile script(1) with libutempter]), 743 [], [with_utempter=no] 744) 745 746AS_IF([test "x$with_utempter" = xyes], [ 747 UL_CHECK_LIB([utempter], [utempter_add_record]) 748 AS_IF([test "x$have_utempter" = xno], [ 749 AC_MSG_ERROR([utempter selected but libutempter not found]) 750 ]) 751], [ 752 AM_CONDITIONAL([HAVE_UTEMPTER], [false]) 753]) 754 755 756 757dnl 758dnl libuuid 759dnl 760AC_ARG_ENABLE([libuuid], 761 AS_HELP_STRING([--disable-libuuid], [do not build libuuid and uuid utilities]), 762 [], [UL_DEFAULT_ENABLE([libuuid], [yes])] 763) 764UL_BUILD_INIT([libuuid]) 765AC_SUBST([LIBUUID_VERSION]) 766AC_SUBST([LIBUUID_VERSION_INFO]) 767AM_CONDITIONAL(BUILD_LIBUUID, test "x$build_libuuid" = xyes) 768 769AS_IF([test "x$build_libuuid" = xyes], [ 770 AC_DEFINE(HAVE_LIBUUID, 1, [Define to 1 if you have the -luuid.]) 771]) 772 773dnl 774dnl libblkid 775dnl 776AC_ARG_ENABLE([libblkid], 777 AS_HELP_STRING([--disable-libblkid], [do not build libblkid and many related utilities]), 778 [], [UL_DEFAULT_ENABLE([libblkid], [yes])] 779) 780UL_BUILD_INIT([libblkid]) 781AC_SUBST([LIBBLKID_DATE]) 782AC_SUBST([LIBBLKID_VERSION]) 783AC_SUBST([LIBBLKID_VERSION_INFO]) 784AC_DEFINE_UNQUOTED([LIBBLKID_VERSION], ["$LIBBLKID_VERSION"], [libblkid version string]) 785AC_DEFINE_UNQUOTED([LIBBLKID_DATE], ["$LIBBLKID_DATE"], [libblkid date string]) 786AS_IF([test "x$build_libblkid" = xyes], [ 787 AC_DEFINE([HAVE_LIBBLKID], [1], [Define to 1 if you have the -lblkid.]) 788]) 789AM_CONDITIONAL([BUILD_LIBBLKID], [test "x$build_libblkid" = xyes]) 790AM_CONDITIONAL([BUILD_LIBBLKID_TESTS], [test "x$build_libblkid" = xyes -a "x$enable_static" = xyes]) 791 792dnl 793dnl libmount 794dnl 795AC_ARG_ENABLE([libmount], 796 AS_HELP_STRING([--disable-libmount], [do not build libmount]), 797 [], [UL_DEFAULT_ENABLE([libmount], [check])] 798) 799UL_BUILD_INIT([libmount]) 800UL_REQUIRES_BUILD([libmount], [libblkid]) 801UL_REQUIRES_HAVE([libmount], [scanf_alloc_modifier], [scanf string alloc modifier]) 802AM_CONDITIONAL([BUILD_LIBMOUNT], [test "x$build_libmount" = xyes]) 803AM_CONDITIONAL([BUILD_LIBMOUNT_TESTS], [test "x$build_libmount" = xyes -a "x$enable_static" = xyes]) 804 805AC_SUBST([LIBMOUNT_VERSION]) 806AC_SUBST([LIBMOUNT_VERSION_INFO]) 807AC_DEFINE_UNQUOTED([LIBMOUNT_VERSION], ["$LIBMOUNT_VERSION"], [libmount version string]) 808 809 810dnl 811dnl libsmartcols 812dnl 813AC_ARG_ENABLE([libsmartcols], 814 AS_HELP_STRING([--disable-libsmartcols], [do not build libsmartcols]), 815 [], [UL_DEFAULT_ENABLE([libsmartcols], [yes])] 816) 817UL_BUILD_INIT([libsmartcols]) 818AM_CONDITIONAL([BUILD_LIBSMARTCOLS], [test "x$build_libsmartcols" = xyes]) 819AM_CONDITIONAL([BUILD_LIBSMARTCOLS_TESTS], [test "x$build_libsmartcols" = xyes -a "x$enable_static" = xyes]) 820 821AC_SUBST([LIBSMARTCOLS_VERSION]) 822AC_SUBST([LIBSMARTCOLS_VERSION_INFO]) 823AC_DEFINE_UNQUOTED([LIBSMARTCOLS_VERSION], ["$LIBSMARTCOLS_VERSION"], [libsmartcols version string]) 824 825 826dnl 827dnl libfdisk is enabled at all times if possible 828dnl 829UL_BUILD_INIT([libfdisk], [check]) 830UL_REQUIRES_BUILD([libfdisk], [libuuid]) 831UL_REQUIRES_BUILD([libfdisk], [libsmartcols]) 832AM_CONDITIONAL([BUILD_LIBFDISK], [test "x$build_libfdisk" = xyes]) 833 834UL_BUILD_INIT([fdisk], [check]) 835UL_REQUIRES_BUILD([fdisk], [libfdisk]) 836AM_CONDITIONAL([BUILD_FDISK], [test "x$build_fdisk" = xyes]) 837 838 839UL_BUILD_INIT([sfdisk], [check]) 840UL_EXCLUDE_ARCH([sfdisk], [sparc*]) 841AM_CONDITIONAL([BUILD_SFDISK], [test "x$build_sfdisk" = xyes]) 842 843 844UL_BUILD_INIT([cfdisk], [check]) 845UL_REQUIRES_BUILD([cfdisk], [libfdisk]) 846UL_REQUIRES_BUILD([cfdisk], [libsmartcols]) 847UL_REQUIRES_HAVE([cfdisk], [ncurses,slang], [ncurses or slang library]) 848AM_CONDITIONAL([BUILD_CFDISK], [test "x$build_cfdisk" = xyes]) 849 850 851AC_ARG_ENABLE([mount], 852 AS_HELP_STRING([--disable-mount], [do not build mount(8) and umount(8)]), 853 [], [UL_DEFAULT_ENABLE([mount], [check])] 854) 855UL_BUILD_INIT([mount]) 856UL_REQUIRES_LINUX([mount]) 857UL_REQUIRES_BUILD([mount], [libmount]) 858AM_CONDITIONAL([BUILD_MOUNT], [test "x$build_mount" = xyes]) 859 860 861AC_ARG_ENABLE([losetup], 862 AS_HELP_STRING([--disable-losetup], [do not build losetup]), 863 [], [UL_DEFAULT_ENABLE([losetup], [check])] 864) 865UL_BUILD_INIT([losetup]) 866UL_REQUIRES_LINUX([losetup]) 867UL_REQUIRES_BUILD([losetup], [libsmartcols]) 868AM_CONDITIONAL([BUILD_LOSETUP], [test "x$build_losetup" = xyes]) 869 870 871AC_ARG_ENABLE([fsck], 872 AS_HELP_STRING([--disable-fsck], [do not build fsck]), 873 [], [UL_DEFAULT_ENABLE([fsck], [check])] 874) 875UL_BUILD_INIT([fsck]) 876UL_REQUIRES_BUILD([fsck], [libmount]) 877AM_CONDITIONAL([BUILD_FSCK], [test "x$build_fsck" = xyes]) 878 879 880AC_ARG_ENABLE([partx], 881 AS_HELP_STRING([--disable-partx], [do not build addpart, delpart, partx]), 882 [], [UL_DEFAULT_ENABLE([partx], [check])] 883) 884UL_BUILD_INIT([partx]) 885UL_REQUIRES_LINUX([partx]) 886UL_REQUIRES_BUILD([partx], [libblkid]) 887UL_REQUIRES_BUILD([partx], [libsmartcols]) 888AM_CONDITIONAL([BUILD_PARTX], [test "x$build_partx" = xyes]) 889 890 891AC_ARG_ENABLE([uuidd], 892 AS_HELP_STRING([--disable-uuidd], [do not build the uuid daemon]), 893 [], [UL_DEFAULT_ENABLE([uuidd], [check])] 894) 895UL_BUILD_INIT([uuidd]) 896UL_REQUIRES_BUILD([uuidd], [libuuid]) 897AS_IF([test "x$build_uuidd" = xyes], [ 898 AC_DEFINE([HAVE_UUIDD], [1], [Define to 1 if you want to use uuid daemon.]) 899]) 900AM_CONDITIONAL([BUILD_UUIDD], [test "x$build_uuidd" = xyes]) 901 902 903UL_BUILD_INIT([uuidgen], [check]) 904UL_REQUIRES_BUILD([uuidgen], [libuuid]) 905AM_CONDITIONAL([BUILD_UUIDGEN], [test "x$build_uuidgen" = xyes]) 906 907UL_BUILD_INIT([blkid], [check]) 908UL_REQUIRES_BUILD([blkid], [libblkid]) 909AM_CONDITIONAL([BUILD_BLKID], [test "x$build_blkid" = xyes]) 910 911UL_BUILD_INIT([findfs], [check]) 912UL_REQUIRES_BUILD([findfs], [libblkid]) 913AM_CONDITIONAL([BUILD_FINDFS], [test "x$build_findfs" = xyes]) 914 915UL_BUILD_INIT([wipefs], [check]) 916UL_REQUIRES_BUILD([wipefs], [libblkid]) 917AM_CONDITIONAL([BUILD_WIPEFS], [test "x$build_wipefs" = xyes]) 918 919UL_BUILD_INIT([findmnt], [check]) 920UL_REQUIRES_BUILD([findmnt], [libmount]) 921UL_REQUIRES_BUILD([findmnt], [libsmartcols]) 922AM_CONDITIONAL([BUILD_FINDMNT], [test "x$build_findmnt" = xyes]) 923 924 925AC_ARG_ENABLE([mountpoint], 926 AS_HELP_STRING([--disable-mountpoint], [do not build mountpoint]), 927 [], [UL_DEFAULT_ENABLE([mountpoint], [check])] 928) 929UL_BUILD_INIT([mountpoint]) 930UL_REQUIRES_BUILD([mountpoint], [libmount]) 931AM_CONDITIONAL([BUILD_MOUNTPOINT], [test "x$build_mountpoint" = xyes]) 932 933 934AC_ARG_ENABLE([fallocate], 935 AS_HELP_STRING([--disable-fallocate], [do not build fallocate]), 936 [], [UL_DEFAULT_ENABLE([fallocate], [check])] 937) 938UL_BUILD_INIT([fallocate]) 939UL_REQUIRES_LINUX([fallocate]) 940UL_REQUIRES_SYSCALL_CHECK([fallocate], [UL_CHECK_SYSCALL([fallocate])]) 941AM_CONDITIONAL([BUILD_FALLOCATE], [test "x$build_fallocate" = xyes]) 942 943AS_IF([test "x$build_fallocate" = xyes], [ 944 dnl check for valid fallocate() function 945 dnl with 32 bits glibc 2.10, fallocate() exists but not fallocate64() 946 dnl when _FILE_OFFSET_BITS==64, fallocate() is redirect to fallocate64() 947 dnl and program can't be linked. 948 dnl AC_CHECK_FUNC can't catch such errors since it's redefining 949 dnl function prototype. 950 AC_MSG_CHECKING([for valid fallocate() function]) 951 AC_LINK_IFELSE([AC_LANG_PROGRAM([[ 952#ifdef HAVE_UNISTD_H 953# include <unistd.h> 954#endif 955#ifdef HAVE_SYS_TYPES_H 956# include <sys/types.h> 957#endif 958#ifdef HAVE_LINUX_FALLOC_H 959# include <linux/falloc.h> 960#endif 961#ifdef HAVE_FCNTL_H 962# include <fcntl.h> 963#endif 964]],[[ 965 long ret; 966 ret = fallocate(0, FALLOC_FL_KEEP_SIZE, 0xfffffffful, 0xfffffffful); 967 if (ret != 0) { 968 return 1; 969 } 970 ]])],[ 971 AC_MSG_RESULT([yes]) 972 AC_DEFINE([HAVE_FALLOCATE], [1], [Have valid fallocate() function])],[ 973 AC_MSG_RESULT([no])]) 974]) 975 976 977AC_ARG_ENABLE([unshare], 978 AS_HELP_STRING([--disable-unshare], [do not build unshare]), 979 [], [UL_DEFAULT_ENABLE([unshare], [check])] 980) 981UL_BUILD_INIT([unshare]) 982UL_REQUIRES_LINUX([unshare]) 983UL_REQUIRES_SYSCALL_CHECK([unshare], [UL_CHECK_SYSCALL([unshare])]) 984AM_CONDITIONAL([BUILD_UNSHARE], [test "x$build_unshare" = xyes]) 985AC_CHECK_FUNCS([unshare]) 986 987AC_ARG_ENABLE([nsenter], 988 AS_HELP_STRING([--disable-nsenter], [do not build nsenter]), 989 [], [UL_DEFAULT_ENABLE([nsenter], [check])] 990) 991UL_BUILD_INIT([nsenter]) 992UL_REQUIRES_LINUX([nsenter]) 993UL_REQUIRES_SYSCALL_CHECK([nsenter], [UL_CHECK_SYSCALL([setns])], [setns]) 994AM_CONDITIONAL([BUILD_NSENTER], [test "x$build_nsenter" = xyes]) 995AC_CHECK_FUNCS([setns]) 996 997dnl setpriv depends on libcap-ng. It would be possible to build 998dnl a version of setpriv with limited functionality without libcap-ng, 999dnl but this isn't currently supported. 1000UL_CHECK_LIB([cap-ng], [capng_apply], [cap_ng]) 1001AC_ARG_ENABLE([setpriv], 1002 AS_HELP_STRING([--disable-setpriv], [do not build setpriv]), 1003 [], [UL_DEFAULT_ENABLE([setpriv], [check])] 1004) 1005UL_BUILD_INIT([setpriv]) 1006UL_REQUIRES_LINUX([setpriv]) 1007UL_REQUIRES_HAVE([setpriv], [linux_securebits_h], [securebits.h header file]) 1008UL_REQUIRES_HAVE([setpriv], [cap_ng], [libcap-ng library]) 1009AM_CONDITIONAL([BUILD_SETPRIV], [test "x$build_setpriv" = xyes]) 1010 1011 1012AC_ARG_ENABLE([eject], 1013 AS_HELP_STRING([--disable-eject], [do not build eject]), 1014 [], [UL_DEFAULT_ENABLE([eject], [check])] 1015) 1016UL_BUILD_INIT([eject]) 1017UL_REQUIRES_LINUX([eject]) 1018UL_REQUIRES_BUILD([eject], [libmount]) 1019AM_CONDITIONAL([BUILD_EJECT], [test "x$build_eject" = xyes]) 1020 1021 1022AC_ARG_ENABLE([agetty], 1023 AS_HELP_STRING([--disable-agetty], [do not build agetty]), 1024 [], [UL_DEFAULT_ENABLE([agetty], [yes])] 1025) 1026UL_BUILD_INIT([agetty]) 1027AM_CONDITIONAL([BUILD_AGETTY], [test "x$build_agetty" = xyes]) 1028 1029 1030AC_ARG_ENABLE([cramfs], 1031 AS_HELP_STRING([--disable-cramfs], [do not build fsck.cramfs, mkfs.cramfs]), 1032 [], [UL_DEFAULT_ENABLE([cramfs], [check])] 1033) 1034UL_BUILD_INIT([cramfs]) 1035AC_CHECK_LIB([z], [crc32], [have_z=yes], [have_z=no]) 1036UL_REQUIRES_HAVE([cramfs], [z], [z library]) 1037AM_CONDITIONAL([BUILD_CRAMFS], [test "x$build_cramfs" = xyes]) 1038 1039 1040AC_ARG_ENABLE([bfs], 1041 AS_HELP_STRING([--disable-bfs], [do not build mkfs.bfs]), 1042 [], [UL_DEFAULT_ENABLE([bfs], [yes])] 1043) 1044UL_BUILD_INIT([bfs]) 1045AM_CONDITIONAL([BUILD_BFS], [test "x$build_bfs" = xyes]) 1046 1047 1048AC_ARG_ENABLE([minix], 1049 AS_HELP_STRING([--disable-minix], [do not build fsck.minix, mkfs.minix]), 1050 [], [UL_DEFAULT_ENABLE([minix], [yes])] 1051) 1052UL_BUILD_INIT([minix]) 1053AM_CONDITIONAL([BUILD_MINIX], [test "x$build_minix" = xyes]) 1054 1055 1056AC_ARG_ENABLE([fdformat], 1057 AS_HELP_STRING([--disable-fdformat], [do not build fdformat]), 1058 [], [UL_DEFAULT_ENABLE([fdformat], [check])] 1059) 1060UL_BUILD_INIT([fdformat]) 1061UL_REQUIRES_LINUX([fdformat]) 1062AM_CONDITIONAL([BUILD_FDFORMAT], [test "x$build_fdformat" = xyes]) 1063 1064 1065AC_ARG_ENABLE([hwclock], 1066 AS_HELP_STRING([--disable-hwclock], [do not build hwclock]), 1067 [], [UL_DEFAULT_ENABLE([hwclock], [check])] 1068) 1069have_linuxdummy=$linux_os 1070 1071UL_BUILD_INIT([hwclock]) 1072UL_REQUIRES_HAVE([hwclock], [io, linuxdummy], [ioperm iopl function or Linux]) 1073AM_CONDITIONAL([BUILD_HWCLOCK], [test "x$build_hwclock" = xyes]) 1074 1075 1076UL_BUILD_INIT([mkfs], [yes]) 1077AM_CONDITIONAL([BUILD_MKFS], [test "x$build_mkfs" = xyes]) 1078 1079UL_BUILD_INIT([isosize], [yes]) 1080AM_CONDITIONAL([BUILD_ISOSIZE], [test "x$build_isosize" = xyes]) 1081 1082 1083UL_BUILD_INIT([fstrim], [check]) 1084UL_REQUIRES_LINUX([fstrim]) 1085UL_REQUIRES_BUILD([fstrim], [libmount]) 1086AM_CONDITIONAL([BUILD_FSTRIM], [test "x$build_fstrim" = xyes]) 1087 1088 1089UL_BUILD_INIT([swapon], [check]) 1090UL_REQUIRES_LINUX([swapon]) 1091UL_REQUIRES_BUILD([swapon], [libblkid]) 1092UL_REQUIRES_BUILD([swapon], [libmount]) 1093UL_REQUIRES_BUILD([swapon], [libsmartcols]) 1094AM_CONDITIONAL([BUILD_SWAPON], [test "x$build_swapon" = xyes]) 1095 1096 1097UL_BUILD_INIT([lsblk], [check]) 1098UL_REQUIRES_LINUX([lsblk]) 1099UL_REQUIRES_BUILD([lsblk], [libblkid]) 1100UL_REQUIRES_BUILD([lsblk], [libmount]) 1101UL_REQUIRES_BUILD([lsblk], [libsmartcols]) 1102AM_CONDITIONAL([BUILD_LSBLK], [test "x$build_lsblk" = xyes]) 1103 1104 1105UL_BUILD_INIT([lscpu], [check]) 1106UL_REQUIRES_LINUX([lscpu]) 1107UL_REQUIRES_BUILD([lscpu], [libsmartcols]) 1108UL_REQUIRES_HAVE([lscpu], [cpu_set_t], [cpu_set_t type]) 1109AM_CONDITIONAL([BUILD_LSCPU], [test "x$build_lscpu" = xyes]) 1110 1111 1112UL_BUILD_INIT([lslogins], [check]) 1113UL_REQUIRES_BUILD([lslogins], [libsmartcols]) 1114AM_CONDITIONAL([BUILD_LSLOGINS], [test "x$build_lslogins" = xyes]) 1115 1116 1117UL_BUILD_INIT([chcpu], [check]) 1118UL_REQUIRES_LINUX([chcpu]) 1119UL_REQUIRES_HAVE([chcpu], [cpu_set_t], [cpu_set_t type]) 1120AM_CONDITIONAL([BUILD_CHCPU], [test "x$build_chcpu" = xyes]) 1121 1122 1123AC_ARG_ENABLE([wdctl], 1124 AS_HELP_STRING([--disable-wdctl], [do not build wdctl]), 1125 [], [UL_DEFAULT_ENABLE([wdctl], [check])] 1126) 1127UL_BUILD_INIT([wdctl]) 1128UL_REQUIRES_LINUX([wdctl]) 1129UL_REQUIRES_BUILD([wdctl], [libsmartcols]) 1130UL_REQUIRES_HAVE([wdctl], [linux_watchdog_h], [linux/watchdog.h header file]) 1131AM_CONDITIONAL([BUILD_WDCTL], [test "x$build_wdctl" = xyes]) 1132 1133 1134UL_BUILD_INIT([swaplabel], [check]) 1135UL_REQUIRES_BUILD([swaplabel], [libblkid]) 1136AM_CONDITIONAL([BUILD_SWAPLABEL], [test "x$build_swaplabel" = xyes]) 1137 1138 1139UL_BUILD_INIT([mkswap], [yes]) 1140AM_CONDITIONAL([BUILD_MKSWAP], [test "x$build_mkswap" = xyes]) 1141AS_IF([test "x$build_mkswap" = xyes -a "x$build_libuuid" != xyes], [ 1142 AC_MSG_WARN([uuid library is not found; mkswap(8) will not generate UUIDs]) 1143]) 1144 1145UL_BUILD_INIT([cal], [yes]) 1146AM_CONDITIONAL([BUILD_CAL], [test "x$build_cal" = xyes]) 1147 1148UL_BUILD_INIT([logger], [yes]) 1149AM_CONDITIONAL([BUILD_LOGGER], [test "x$build_logger" = xyes]) 1150 1151UL_BUILD_INIT([look], [yes]) 1152AM_CONDITIONAL([BUILD_LOOK], [test "x$build_look" = xyes]) 1153 1154UL_BUILD_INIT([mcookie], [yes]) 1155AM_CONDITIONAL([BUILD_MCOOKIE], [test "x$build_mcookie" = xyes]) 1156 1157UL_BUILD_INIT([namei], [yes]) 1158AM_CONDITIONAL([BUILD_NAMEI], [test "x$build_namei" = xyes]) 1159 1160UL_BUILD_INIT([whereis], [yes]) 1161AM_CONDITIONAL([BUILD_WHEREIS], [test "x$build_whereis" = xyes]) 1162 1163UL_BUILD_INIT([getopt], [yes]) 1164AM_CONDITIONAL([BUILD_GETOPT], [test "x$build_getopt" = xyes]) 1165 1166 1167UL_BUILD_INIT([blockdev], [check]) 1168UL_REQUIRES_LINUX([blockdev]) 1169AM_CONDITIONAL([BUILD_BLOCKDEV], [test "x$build_blockdev" = xyes]) 1170 1171 1172UL_BUILD_INIT([prlimit], [check]) 1173UL_REQUIRES_LINUX([prlimit]) 1174UL_REQUIRES_BUILD([prlimit], [libsmartcols]) 1175UL_REQUIRES_SYSCALL_CHECK([prlimit], [UL_CHECK_SYSCALL([prlimit64])], [prlimit64]) 1176AM_CONDITIONAL([BUILD_PRLIMIT], [test "x$build_prlimit" = xyes]) 1177AS_IF([test "x$build_prlimit" = xyes], [ 1178 AC_CHECK_FUNCS([prlimit]) 1179]) 1180 1181 1182UL_BUILD_INIT([lslocks], [check]) 1183UL_REQUIRES_LINUX([lslocks]) 1184UL_REQUIRES_BUILD([lslocks], [libmount]) 1185UL_REQUIRES_BUILD([lslocks], [libsmartcols]) 1186AM_CONDITIONAL([BUILD_LSLOCKS], [test "x$build_lslocks" = xyes]) 1187 1188 1189AC_ARG_ENABLE([switch_root], 1190 AS_HELP_STRING([--disable-switch_root], [do not build switch_root]), 1191 [], [UL_DEFAULT_ENABLE([switch_root], [check])] 1192) 1193UL_BUILD_INIT([switch_root]) 1194UL_REQUIRES_LINUX([switch_root]) 1195UL_REQUIRES_HAVE([switch_root], [openat], [openat function]) 1196AM_CONDITIONAL([BUILD_SWITCH_ROOT], [test "x$build_switch_root" = xyes]) 1197 1198 1199AC_ARG_ENABLE([pivot_root], 1200 AS_HELP_STRING([--disable-pivot_root], [do not build pivot_root]), 1201 [], [UL_DEFAULT_ENABLE([pivot_root], [check])] 1202) 1203UL_BUILD_INIT([pivot_root]) 1204UL_REQUIRES_LINUX([pivot_root]) 1205UL_REQUIRES_SYSCALL_CHECK([pivot_root], [UL_CHECK_SYSCALL([pivot_root])]) 1206AM_CONDITIONAL([BUILD_PIVOT_ROOT], [test "x$build_pivot_root" = xyes]) 1207 1208 1209UL_BUILD_INIT([flock], [yes]) 1210AM_CONDITIONAL([BUILD_FLOCK], [test "x$build_flock" = xyes]) 1211 1212UL_BUILD_INIT([ipcmk], [yes]) 1213AM_CONDITIONAL([BUILD_IPCMK], [test "x$build_ipcmk" = xyes]) 1214 1215UL_BUILD_INIT([ipcrm], [yes]) 1216AM_CONDITIONAL([BUILD_IPCRM], [test "x$build_ipcrm" = xyes]) 1217 1218UL_BUILD_INIT([ipcs], [yes]) 1219AM_CONDITIONAL([BUILD_IPCS], [test "x$build_ipcs" = xyes]) 1220 1221UL_BUILD_INIT([renice], [yes]) 1222AM_CONDITIONAL([BUILD_RENICE], [test "x$build_renice" = xyes]) 1223 1224UL_BUILD_INIT([setsid], [yes]) 1225AM_CONDITIONAL([BUILD_SETSID], [test "x$build_setsid" = xyes]) 1226 1227UL_BUILD_INIT([readprofile], [check]) 1228UL_REQUIRES_LINUX([readprofile]) 1229AM_CONDITIONAL([BUILD_READPROFILE], [test "x$build_readprofile" = xyes]) 1230 1231UL_BUILD_INIT([dmesg], [check]) 1232UL_REQUIRES_LINUX([dmesg]) 1233AM_CONDITIONAL([BUILD_DMESG], [test "x$build_dmesg" = xyes]) 1234 1235UL_BUILD_INIT([ctrlaltdel], [check]) 1236UL_REQUIRES_LINUX([ctrlaltdel]) 1237AM_CONDITIONAL([BUILD_CTRLALTDEL], [test "x$build_ctrlaltdel" = xyes]) 1238 1239UL_BUILD_INIT([fsfreeze], [check]) 1240UL_REQUIRES_LINUX([fsfreeze]) 1241AM_CONDITIONAL([BUILD_FSFREEZE], [test "x$build_fsfreeze" = xyes]) 1242 1243UL_BUILD_INIT([blkdiscard], [check]) 1244UL_REQUIRES_LINUX([blkdiscard]) 1245AM_CONDITIONAL([BUILD_BLKDISCARD], [test "x$build_blkdiscard" = xyes]) 1246 1247UL_BUILD_INIT([ldattach], [check]) 1248UL_REQUIRES_LINUX([ldattach]) 1249AM_CONDITIONAL([BUILD_LDATTACH], [test "x$build_ldattach" = xyes]) 1250 1251UL_BUILD_INIT([rtcwake], [check]) 1252UL_REQUIRES_LINUX([rtcwake]) 1253AM_CONDITIONAL([BUILD_RTCWAKE], [test "x$build_rtcwake" = xyes]) 1254 1255UL_BUILD_INIT([setarch], [check]) 1256UL_REQUIRES_LINUX([setarch]) 1257AM_CONDITIONAL([BUILD_SETARCH], [test "x$build_setarch" = xyes]) 1258 1259UL_BUILD_INIT([script], [yes]) 1260AM_CONDITIONAL([BUILD_SCRIPT], [test "x$build_script" = xyes]) 1261 1262UL_BUILD_INIT([scriptreplay], [yes]) 1263AM_CONDITIONAL([BUILD_SCRIPTREPLAY], [test "x$build_scriptreplay" = xyes]) 1264 1265UL_BUILD_INIT([col], [yes]) 1266AM_CONDITIONAL([BUILD_COL], [test "x$build_col" = xyes]) 1267 1268UL_BUILD_INIT([colcrt], [yes]) 1269AM_CONDITIONAL([BUILD_COLCRT], [test "x$build_colcrt" = xyes]) 1270 1271UL_BUILD_INIT([colrm], [yes]) 1272AM_CONDITIONAL([BUILD_COLRM], [test "x$build_colrm" = xyes]) 1273 1274UL_BUILD_INIT([column], [yes]) 1275AM_CONDITIONAL([BUILD_COLUMN], [test "x$build_column" = xyes]) 1276 1277UL_BUILD_INIT([hexdump], [yes]) 1278AM_CONDITIONAL([BUILD_HEXDUMP], [test "x$build_hexdump" = xyes]) 1279 1280UL_BUILD_INIT([rev], [yes]) 1281AM_CONDITIONAL([BUILD_REV], [test "x$build_rev" = xyes]) 1282 1283UL_BUILD_INIT([tailf], [yes]) 1284AM_CONDITIONAL([BUILD_TAILF], [test "x$build_tailf" = xyes]) 1285 1286 1287AC_ARG_ENABLE([tunelp], 1288 AS_HELP_STRING([--enable-tunelp], [build tunelp]), 1289 [], [UL_DEFAULT_ENABLE([tunelp], [no])] 1290) 1291UL_BUILD_INIT([tunelp]) 1292UL_REQUIRES_LINUX([tunelp]) 1293AM_CONDITIONAL([BUILD_TUNELP], [test "x$build_tunelp" = xyes]) 1294 1295 1296AC_ARG_ENABLE([kill], 1297 AS_HELP_STRING([--disable-kill], [do not build kill]), 1298 [], [UL_DEFAULT_ENABLE([kill], [check])] 1299) 1300UL_BUILD_INIT([kill]) 1301UL_REQUIRES_LINUX([kill]) 1302AM_CONDITIONAL([BUILD_KILL], [test "x$build_kill" = xyes]) 1303 1304dnl Don't use UL_DEFAULT_ENABLE() here, deprecated stuff has to be insensitive 1305dnl to --enable-all-programs. 1306AC_ARG_ENABLE([deprecated-last], 1307 AS_HELP_STRING([--enable-deprecated-last], [build old deprecated last]), 1308 [], [enable_deprecated_last=no] 1309) 1310UL_BUILD_INIT([deprecated_last]) 1311AM_CONDITIONAL([BUILD_DEPRECATED_LAST], [test "x$build_deprecated_last" = xyes]) 1312 1313 1314AC_ARG_ENABLE([last], 1315 AS_HELP_STRING([--disable-last], [do not build last]), 1316 [], [UL_DEFAULT_ENABLE([last], [check])] 1317) 1318UL_BUILD_INIT([last]) 1319UL_CONFLICTS_BUILD([last], [deprecated_last], [old deprecated last version]) 1320AM_CONDITIONAL([BUILD_LAST], [test "x$build_last" = xyes]) 1321 1322 1323AC_ARG_ENABLE([utmpdump], 1324 AS_HELP_STRING([--disable-utmpdump], [do not build utmpdump]), 1325 [], [UL_DEFAULT_ENABLE([utmpdump], [yes])] 1326) 1327UL_BUILD_INIT([utmpdump]) 1328AM_CONDITIONAL([BUILD_UTMPDUMP], [test "x$build_utmpdump" = xyes]) 1329 1330 1331AC_ARG_ENABLE([line], 1332 AS_HELP_STRING([--enable-line], [build line]), 1333 [], [UL_DEFAULT_ENABLE([line], [no])] 1334) 1335UL_BUILD_INIT([line]) 1336AM_CONDITIONAL([BUILD_LINE], [test "x$build_line" = xyes]) 1337 1338 1339AC_ARG_ENABLE([mesg], 1340 AS_HELP_STRING([--disable-mesg], [do not build mesg]), 1341 [], [UL_DEFAULT_ENABLE([mesg], [yes])] 1342) 1343UL_BUILD_INIT([mesg]) 1344AM_CONDITIONAL([BUILD_MESG], [test "x$build_mesg" = xyes]) 1345 1346 1347AC_ARG_ENABLE([raw], 1348 AS_HELP_STRING([--disable-raw], [do not build raw]), 1349 [], [UL_DEFAULT_ENABLE([raw], [check])] 1350) 1351UL_BUILD_INIT([raw]) 1352UL_REQUIRES_LINUX([raw]) 1353UL_REQUIRES_HAVE([raw], [linux_raw_h], [raw.h header file]) 1354AM_CONDITIONAL([BUILD_RAW], [test "x$build_raw" = xyes]) 1355 1356 1357AC_ARG_ENABLE([rename], 1358 AS_HELP_STRING([--disable-rename], [do not build rename]), 1359 [], [UL_DEFAULT_ENABLE([rename], [yes])] 1360) 1361UL_BUILD_INIT([rename]) 1362AM_CONDITIONAL([BUILD_RENAME], [test "x$build_rename" = xyes]) 1363 1364 1365AC_ARG_ENABLE([reset], 1366 AS_HELP_STRING([--enable-reset], [build reset]), 1367 [], [UL_DEFAULT_ENABLE([reset], [no])] 1368) 1369UL_BUILD_INIT([reset]) 1370AM_CONDITIONAL([BUILD_RESET], [test "x$build_reset" = xyes]) 1371 1372 1373AC_ARG_ENABLE([vipw], 1374 AS_HELP_STRING([--enable-vipw], [build vipw]), 1375 [], [UL_DEFAULT_ENABLE([vipw], [no])] 1376) 1377UL_BUILD_INIT([vipw]) 1378AM_CONDITIONAL([BUILD_VIPW], [test "x$build_vipw" = xyes]) 1379 1380 1381AC_ARG_ENABLE([newgrp], 1382 AS_HELP_STRING([--enable-newgrp], [build newgrp]), 1383 [], [UL_DEFAULT_ENABLE([newgrp], [no])] 1384) 1385UL_BUILD_INIT([newgrp]) 1386AM_CONDITIONAL([BUILD_NEWGRP], [test "x$build_newgrp" = xyes]) 1387 1388 1389AC_ARG_WITH([user], AS_HELP_STRING([--without-user], [compile without libuser (remote chsh)]), 1390 [], [with_user=check] 1391) 1392have_user=no 1393AS_IF([test "x$with_user" != xno], [ 1394 PKG_CHECK_MODULES(LIBUSER,[libuser >= 0.58], [have_user=yes], [have_user=no]) 1395 AS_CASE([$with_user:$have_user], 1396 [yes:no], 1397 [AC_MSG_ERROR([user selected but libuser not found])], 1398 [*:yes], 1399 [AC_DEFINE([HAVE_LIBUSER], [1], [Define if libuser is available])] 1400 ) 1401 # temporary solution, libuser has stupid .pc where are exported all 1402 # private dependencies to Requires: instead of Requires.private: 1403 AS_IF([test "x$have_user" = xyes], [ 1404 LIBUSER_LIBS=-luser 1405 ]) 1406]) 1407AM_CONDITIONAL([HAVE_USER], [test "x$have_user" = xyes]) 1408 1409AC_ARG_ENABLE([chfn-chsh-password], 1410 AS_HELP_STRING([--disable-chfn-chsh-password], [do not require the user to enter the password in chfn and chsh]), 1411 [], [enable_chfn_chsh_password=yes] 1412) 1413 1414AC_ARG_ENABLE([chfn-chsh], 1415 AS_HELP_STRING([--enable-chfn-chsh], [build chfn and chsh]), 1416 [], [UL_DEFAULT_ENABLE([chfn_chsh], [check])] 1417) 1418UL_BUILD_INIT([chfn_chsh]) 1419 1420AS_IF([test "x$enable_chfn_chsh_password" = xyes -o "x$have_user" = xyes], [ 1421 UL_REQUIRES_HAVE([chfn_chsh], [security_pam_misc_h], [PAM header file]) 1422 AC_DEFINE([CHFN_CHSH_PASSWORD], [1], [Should chfn and chsh require the user to enter the password?]) 1423]) 1424AM_CONDITIONAL([BUILD_CHFN_CHSH], [test "x$build_chfn_chsh" = xyes]) 1425AM_CONDITIONAL([CHFN_CHSH_PASSWORD], [test "x$enable_chfn_chsh_password" = xyes]) 1426 1427AC_ARG_ENABLE([chsh-only-listed], 1428 AS_HELP_STRING([--disable-chsh-only-listed], [chsh: allow shells not in /etc/shells]), 1429 [], enable_chsh_only_listed=yes 1430) 1431 1432AS_IF([test "x$enable_chsh_only_listed" = xyes], [ 1433 AC_DEFINE([ONLY_LISTED_SHELLS], [1], [Should chsh allow only shells in /etc/shells?]) 1434]) 1435 1436 1437AC_ARG_ENABLE([login], 1438 AS_HELP_STRING([--disable-login], [do not build login]), 1439 [], [UL_DEFAULT_ENABLE([login], [check])] 1440) 1441UL_BUILD_INIT([login]) 1442UL_REQUIRES_HAVE([login], [security_pam_misc_h], [PAM header file]) 1443AM_CONDITIONAL([BUILD_LOGIN], [test "x$build_login" = xyes]) 1444 1445AC_ARG_ENABLE([login-chown-vcs], 1446 AS_HELP_STRING([--enable-login-chown-vcs], [let login chown /dev/vcsN]), 1447 [], [enable_login_chown_vcs=no] 1448) 1449 1450AS_IF([test "x$enable_login_chown_vcs" = xyes], [ 1451 AC_DEFINE([LOGIN_CHOWN_VCS], [1], [Should login chown /dev/vcsN?]) 1452]) 1453 1454AC_ARG_ENABLE([login-stat-mail], 1455 AS_HELP_STRING([--enable-login-stat-mail], [let login stat() the mailbox]), 1456 [], [enable_login_stat_mail=no] 1457) 1458 1459AS_IF([test "x$enable_login_stat_mail" = xyes], [ 1460 AC_DEFINE([LOGIN_STAT_MAIL], [1], [Should login stat() the mailbox?]) 1461]) 1462 1463 1464AC_ARG_ENABLE([nologin], 1465 AS_HELP_STRING([--disable-nologin], [do not build nologin]), 1466 [], [UL_DEFAULT_ENABLE([nologin], [yes])] 1467) 1468UL_BUILD_INIT([nologin]) 1469AM_CONDITIONAL([BUILD_NOLOGIN], [test "x$build_nologin" = xyes]) 1470 1471 1472AC_ARG_ENABLE([sulogin], 1473 AS_HELP_STRING([--disable-sulogin], [do not build sulogin]), 1474 [], [UL_DEFAULT_ENABLE([sulogin], [yes])] 1475) 1476UL_BUILD_INIT([sulogin]) 1477AM_CONDITIONAL([BUILD_SULOGIN], [test "x$build_sulogin" = xyes]) 1478 1479 1480AC_ARG_ENABLE([su], 1481 AS_HELP_STRING([--disable-su], [do not build su]), 1482 [], [UL_DEFAULT_ENABLE([su], [check])] 1483) 1484UL_BUILD_INIT([su]) 1485UL_REQUIRES_HAVE([su], [security_pam_misc_h], [PAM header file]) 1486AM_CONDITIONAL([BUILD_SU], [test "x$build_su" = xyes]) 1487 1488 1489AC_ARG_ENABLE([runuser], 1490 AS_HELP_STRING([--disable-runuser], [do not build runuser]), 1491 [], [UL_DEFAULT_ENABLE([runuser], [check])] 1492) 1493UL_BUILD_INIT([runuser]) 1494UL_REQUIRES_HAVE([runuser], [security_pam_misc_h], [PAM header file]) 1495AM_CONDITIONAL([BUILD_RUNUSER], [test "x$build_runuser" = xyes]) 1496 1497 1498AC_ARG_ENABLE([ul], 1499 AS_HELP_STRING([--disable-ul], [do not build ul]), 1500 [], [UL_DEFAULT_ENABLE([ul], [check])] 1501) 1502UL_BUILD_INIT([ul]) 1503UL_REQUIRES_HAVE([ul], [ncurses, tinfo], [ncurses or tinfo libraries]) 1504AM_CONDITIONAL([BUILD_UL], [test "x$build_ul" = xyes]) 1505 1506 1507AC_ARG_ENABLE([more], 1508 AS_HELP_STRING([--disable-more], [do not build more]), 1509 [], [UL_DEFAULT_ENABLE([more], [check])] 1510) 1511UL_BUILD_INIT([more]) 1512UL_REQUIRES_HAVE([more], [ncurses, tinfo, termcap], [ncurses, tinfo or termcap libraries]) 1513AM_CONDITIONAL([BUILD_MORE], [test "x$build_more" = xyes]) 1514 1515 1516AC_ARG_ENABLE([pg], 1517 AS_HELP_STRING([--disable-pg], [do not build pg]), 1518 [], [UL_DEFAULT_ENABLE([pg], [check])] 1519) 1520UL_BUILD_INIT([pg]) 1521UL_REQUIRES_HAVE([pg], [ncurses], [ncurses or ncursesw library]) 1522AM_CONDITIONAL([BUILD_PG], [test "x$build_pg" = xyes]) 1523 1524 1525AC_ARG_ENABLE([setterm], 1526 AS_HELP_STRING([--disable-setterm], [do not build setterm]), 1527 [], [UL_DEFAULT_ENABLE([setterm], [check])] 1528) 1529UL_BUILD_INIT([setterm]) 1530UL_REQUIRES_LINUX([setterm]) 1531UL_REQUIRES_HAVE([setterm], [ncurses], [ncurses library]) 1532AM_CONDITIONAL([BUILD_SETTERM], [test "x$build_setterm" = xyes]) 1533 1534# build_schedutils= is just configure-only variable to control 1535# ionice, taskset and chrt 1536AC_ARG_ENABLE([schedutils], 1537 AS_HELP_STRING([--disable-schedutils], [do not build chrt, ionice, taskset]), 1538 [], [UL_DEFAULT_ENABLE([schedutils], [yes])] 1539) 1540UL_BUILD_INIT([schedutils]) 1541 1542UL_BUILD_INIT([ionice], [check]) 1543UL_REQUIRES_BUILD([ionice], [schedutils]) 1544UL_REQUIRES_SYSCALL_CHECK([ionice], 1545 [UL_CHECK_SYSCALL([ioprio_set], 1546 [alpha], [442], 1547 [i*86], [289], 1548 [ia64*], [1274], 1549 [powerpc*], [273], 1550 [s390*], [282], 1551 [sparc*], [196], 1552 [sh*], [288], 1553 [x86_64*], [251])], 1554 [ioprio_set]) 1555 1556UL_REQUIRES_SYSCALL_CHECK([ionice], 1557 [UL_CHECK_SYSCALL([ioprio_get], 1558 [alpha], [443], 1559 [i*86], [290], 1560 [ia64*], [1275], 1561 [powerpc*], [274], 1562 [s390*], [283], 1563 [sparc*], [218], 1564 [sh*], [289], 1565 [x86_64*], [252])], 1566 [ioprio_get]) 1567 1568AM_CONDITIONAL([BUILD_IONICE], [test "x$build_ionice" = xyes]) 1569 1570UL_BUILD_INIT([taskset], [check]) 1571UL_REQUIRES_BUILD([taskset], [schedutils]) 1572UL_REQUIRES_HAVE([taskset], [cpu_set_t], [cpu_set_t type]) 1573UL_REQUIRES_SYSCALL_CHECK([taskset], 1574 [UL_CHECK_SYSCALL([sched_getaffinity])], 1575 [sched_getaffinity]) 1576AM_CONDITIONAL([BUILD_TASKSET], [test "x$build_taskset" = xyes]) 1577 1578UL_BUILD_INIT([chrt], [check]) 1579UL_REQUIRES_BUILD([chrt], [schedutils]) 1580AM_CONDITIONAL([BUILD_CHRT], [test "x$build_chrt" = xyes]) 1581 1582 1583AC_ARG_ENABLE([wall], 1584 AS_HELP_STRING([--disable-wall], [do not build wall]), 1585 [], [UL_DEFAULT_ENABLE([wall], [yes])] 1586) 1587UL_BUILD_INIT([wall]) 1588AM_CONDITIONAL([BUILD_WALL], [test "x$build_wall" = xyes]) 1589 1590 1591AC_ARG_ENABLE([write], 1592 AS_HELP_STRING([--enable-write], [build write]), 1593 [], [UL_DEFAULT_ENABLE([write], [no])] 1594) 1595UL_BUILD_INIT([write]) 1596AM_CONDITIONAL([BUILD_WRITE], [test "x$build_write" = xyes]) 1597 1598 1599AC_ARG_WITH([systemd], 1600 AS_HELP_STRING([--with-systemd], [build with support for systemd]), 1601 [], [with_systemd=check] 1602) 1603 1604have_systemd=no 1605AS_IF([test "x$with_systemd" != xno], [ 1606 # new version -- all libsystemd-* libs merged into libsystemd 1607 PKG_CHECK_MODULES([SYSTEMD], [libsystemd], [have_systemd=yes], [have_systemd=no]) 1608 # old versions 1609 AS_IF([test "x$have_systemd" != "xyes"], [ 1610 PKG_CHECK_MODULES([SYSTEMD_DAEMON], [libsystemd-daemon], 1611 [have_systemd_daemon=yes], [have_systemd_daemon=no]) 1612 PKG_CHECK_MODULES([SYSTEMD_JOURNAL], [libsystemd-journal], 1613 [have_systemd_journal=yes], [have_systemd_journal=no]) 1614 AS_IF([test "x$have_systemd_daemon" = "xyes" -a "x$have_systemd_journal" = "xyes" ],[ 1615 have_systemd=yes]) 1616 ]) 1617 AS_CASE([$with_systemd:$have_systemd], 1618 [yes:no], 1619 [AC_MSG_ERROR([systemd expected but libsystemd not found])], 1620 [*:yes], 1621 AC_DEFINE([HAVE_LIBSYSTEMD], [1], [Define if libsystemd is available]) 1622 ) 1623]) 1624AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$have_systemd" = xyes]) 1625 1626 1627AC_ARG_WITH([systemdsystemunitdir], 1628 AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [directory for systemd service files]), 1629 [], [with_systemdsystemunitdir=`$PKG_CONFIG --variable=systemdsystemunitdir systemd`]) 1630 1631AS_IF([test "x$with_systemdsystemunitdir" != "xno"], [ 1632 AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) 1633]) 1634 1635 1636AC_ARG_WITH([smack], 1637 AS_HELP_STRING([--with-smack], [build with SMACK support]), 1638 [], [with_smack=no] 1639) 1640AS_IF([test "x$with_smack" = xyes], [ 1641 AC_DEFINE([HAVE_SMACK], [1], [Add SMACK support]) 1642]) 1643 1644 1645AC_ARG_WITH([bashcompletiondir], 1646 AS_HELP_STRING([--with-bashcompletiondir=DIR], [Bash completions directory]), 1647 [], 1648 [AS_IF([`$PKG_CONFIG --exists bash-completion`], [ 1649 with_bashcompletiondir=`$PKG_CONFIG --variable=completionsdir bash-completion` 1650 ], [ 1651 with_bashcompletiondir=${datadir}/bash-completion/completions 1652 ]) 1653]) 1654AC_SUBST([bashcompletiondir], [$with_bashcompletiondir]) 1655 1656AC_ARG_ENABLE([bash-completion], 1657 AS_HELP_STRING([--disable-bash-completion], [do not install bash completion files]), 1658 [], [enable_bash_completion=yes] 1659) 1660 1661AM_CONDITIONAL([BUILD_BASH_COMPLETION], [test "x$enable_bash_completion" = xyes]) 1662 1663 1664AC_ARG_WITH([python], 1665 AS_HELP_STRING([--without-python], [do not build python bindings, use --with-python={2,3} to force version]), 1666 [], [with_python=check withval=check] 1667) 1668 1669have_python=no 1670AS_IF([test "x$with_python" != xno], [ 1671 # We follow distributions default and look for PKG module name "python" 1672 # (minimal version is 2) but if major version is explicitly specified by 1673 # --with-python=2 or --with-python=3 then we look for PKG module "python2" or 1674 # "python3". 1675 AS_IF([test "x$withval" != xno -a "x$withval" != xyes -a "x$withval" != xcheck], 1676 [pymajor="$withval"; PYTHON=python${pymajor}], [pymajor="2"]) 1677 AM_PATH_PYTHON([$pymajor], [have_python=yes], [have_python=no]) 1678 AS_CASE([$with_python:$have_python], 1679 [yes:no], 1680 [AC_MSG_ERROR([python selected but libpython not found])], 1681 [check:no], 1682 [AC_MSG_WARN([libpython not found, do not build python bindings])], 1683 [*:yes], 1684 [PKG_CHECK_MODULES([PYTHON], [python-$PYTHON_VERSION])] 1685 ) 1686]) 1687 1688 1689AC_ARG_ENABLE([pylibmount], 1690 AS_HELP_STRING([--disable-pylibmount], [do not build pylibmount]), 1691 [], [UL_DEFAULT_ENABLE([pylibmount], [check])] 1692) 1693UL_BUILD_INIT([pylibmount]) 1694UL_REQUIRES_HAVE([pylibmount], [python], [libpython]) 1695UL_REQUIRES_BUILD([pylibmount], [libmount]) 1696AM_CONDITIONAL([BUILD_PYLIBMOUNT], [test "x$build_pylibmount" = "xyes"]) 1697 1698 1699AC_ARG_ENABLE([pg-bell], 1700 AS_HELP_STRING([--disable-pg-bell], [let pg not ring the bell on invalid keys]), 1701 [], [enable_pg_bell=yes] 1702) 1703 1704AS_IF([test "x$enable_pg_bell" = xyes], [ 1705 AC_DEFINE([PG_BELL], [1], [Should pg ring the bell on invalid keys?]) 1706]) 1707 1708 1709AC_DEFUN([FS_PATHS_DEFAULT], [/sbin:/sbin/fs.d:/sbin/fs]) 1710AC_ARG_ENABLE([fs-paths-default], 1711 AS_HELP_STRING([--enable-fs-paths-default=paths], [default search path for fs helpers @<:@FS_PATHS_DEFAULT@:>@]), 1712 [AS_CASE([$enableval], 1713 [yes], [fs_paths_defaults="FS_PATHS_DEFAULT"], 1714 [no], [fs_paths_defaults=""], 1715 [fs_paths_defaults="$enableval"] 1716 )], 1717 [fs_paths_defaults="FS_PATHS_DEFAULT"] 1718) 1719AC_ARG_ENABLE([fs-paths-extra], 1720 AS_HELP_STRING([--enable-fs-paths-extra=paths], [additional search paths for fs helpers]), 1721 [AS_CASE([$enableval], 1722 [yes|no], [fs_paths_extra=""], 1723 [fs_paths_extra="$enableval"] 1724 )], 1725 [fs_paths_extra=""] 1726) 1727fs_paths="$fs_paths_defaults" 1728AS_IF([test "x$fs_paths_extra" != "x"], [ 1729 AS_IF([test "x$fs_paths" != "x"], [ 1730 fs_paths="${fs_paths}:" 1731 ]) 1732 fs_paths="${fs_paths}${fs_paths_extra}" 1733]) 1734AC_DEFINE_UNQUOTED([FS_SEARCH_PATH], "$fs_paths", [search path for fs helpers]) 1735 1736 1737AC_ARG_ENABLE([use-tty-group], 1738 AS_HELP_STRING([--disable-use-tty-group], [do not install wall and write setgid tty]), 1739 [], [enable_use_tty_group=yes] 1740) 1741AM_CONDITIONAL([USE_TTY_GROUP], [test "x$enable_use_tty_group" = xyes]) 1742 1743AS_IF([test "x$enable_use_tty_group" = xyes], [ 1744 AC_DEFINE([USE_TTY_GROUP], [1], [Should wall and write be installed setgid tty?]) 1745]) 1746 1747 1748AC_ARG_ENABLE([sulogin-emergency-mount], 1749 AS_HELP_STRING([--enable-sulogin-emergency-mount], 1750 [use emergency mount of /dev and /proc for sulogin]), 1751 [], [enable_sulogin_emergency_mount=no] 1752) 1753 1754AS_IF([test "x$enable_sulogin_emergency_mount" = xyes], [ 1755 AC_DEFINE([USE_SULOGIN_EMERGENCY_MOUNT], [1], 1756 [Should sulogin use a emergency mount of /dev and /proc?]) 1757]) 1758 1759 1760AC_ARG_ENABLE([makeinstall-chown], 1761 AS_HELP_STRING([--disable-makeinstall-chown], [do not do chown-like operations during "make install"]), 1762 [], [enable_makeinstall_chown=yes] 1763) 1764AM_CONDITIONAL([MAKEINSTALL_DO_CHOWN], [test "x$enable_makeinstall_chown" = xyes]) 1765 1766AC_ARG_ENABLE([makeinstall-setuid], 1767 AS_HELP_STRING([--disable-makeinstall-setuid], [do not do setuid chmod operations during "make install"]), 1768 [], [enable_makeinstall_setuid=yes] 1769) 1770AM_CONDITIONAL([MAKEINSTALL_DO_SETUID], [test "x$enable_makeinstall_setuid" = xyes]) 1771 1772 1773AC_ARG_VAR([SUID_CFLAGS], 1774 [CFLAGS used for binaries which are usually with the suid bit]) 1775AC_ARG_VAR([SUID_LDFLAGS], 1776 [LDFLAGS used for binaries which are usually with the suid bit]) 1777 1778AC_ARG_VAR([DAEMON_CFLAGS], 1779 [CFLAGS used for binaries which are usually executed as daemons]) 1780AC_ARG_VAR([DAEMON_LDFLAGS], 1781 [LDFLAGS used for binaries which are usually executed as daemons]) 1782 1783AC_ARG_VAR([SOLIB_CFLAGS], 1784 [CFLAGS used for shared libraries]) 1785AC_ARG_VAR([SOLIB_LDFLAGS], 1786 [LDFLAGS used for shared libraries]) 1787 1788AC_ARG_VAR([ADJTIME_PATH], 1789 [Path to hwclock adjtime file, default /etc/adjtime]) 1790AS_IF([test "x$ADJTIME_PATH" = x], [ADJTIME_PATH="/etc/adjtime"]) 1791AC_DEFINE_UNQUOTED([CONFIG_ADJTIME_PATH], "$ADJTIME_PATH", [Path to hwclock adjtime file]) 1792 1793 1794LIBS="" 1795 1796 1797AC_CONFIG_HEADERS([config.h]) 1798 1799# 1800# Don't use configure.ac to replace install paths! See Makefile PATHFILES for 1801# more details. 1802# 1803AC_CONFIG_FILES([ 1804Makefile 1805libblkid/docs/Makefile 1806libblkid/docs/version.xml 1807libblkid/src/blkid.h 1808libmount/docs/Makefile 1809libmount/docs/version.xml 1810libmount/src/libmount.h 1811libsmartcols/docs/Makefile 1812libsmartcols/docs/version.xml 1813libsmartcols/src/libsmartcols.h 1814po/Makefile.in 1815]) 1816 1817AC_OUTPUT 1818 1819AC_MSG_RESULT([ 1820 ${PACKAGE} ${VERSION} 1821 1822 prefix: ${prefix} 1823 exec prefix: ${exec_prefix} 1824 1825 localstatedir: ${localstatedir} 1826 bindir: ${bindir} 1827 sbindir: ${sbindir} 1828 libdir: ${libdir} 1829 includedir: ${includedir} 1830 usrbin_execdir: ${usrbin_execdir} 1831 usrsbin_execdir: ${usrsbin_execdir} 1832 usrlib_execdir: ${usrlib_execdir} 1833 1834 compiler: ${CC} 1835 cflags: ${CFLAGS} 1836 suid cflags: ${SUID_CFLAGS} 1837 ldflags: ${LDFLAGS} 1838 suid ldflags: ${SUID_LDFLAGS} 1839 1840 Python: ${PYTHON} 1841 Python version: ${PYTHON_VERSION} 1842 Python libs: ${pyexecdir} 1843 1844 Bash completions: ${with_bashcompletiondir} 1845 Systemd support: ${have_systemd} 1846 1847 warnings: 1848 1849${WARN_CFLAGS} 1850]) 1851