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