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