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