]> git.ipfire.org Git - thirdparty/util-linux.git/blame - configure.ac
mkswap: fix compiler warning [-Wunused-variable]
[thirdparty/util-linux.git] / configure.ac
CommitLineData
034d378b 1AC_INIT([util-linux],
38c75b59 2 m4_esyscmd([tools/git-version-gen .tarball-version]),
5564a8c7
SK
3 [kzak@redhat.com],,
4 [http://www.kernel.org/pub/linux/utils/util-linux/])
baf39af1 5
034d378b 6AC_PREREQ([2.60])
48d7b13a 7
034d378b 8AC_CONFIG_AUX_DIR([config])
b12991dd 9AC_CONFIG_MACRO_DIR([m4])
eaf70198
SK
10dnl AC_USE_SYSTEM_EXTENSIONS must be called before any macros that run
11dnl the compiler (like AC_PROG_LIBTOOL) to avoid autoconf errors.
12AC_USE_SYSTEM_EXTENSIONS
333034f6 13AM_INIT_AUTOMAKE([-Wall foreign 1.10 tar-pax dist-bzip2 no-dist-gzip dist-xz -Wno-portability subdir-objects])
48d7b13a 14
eb35c251 15m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
f06b4328 16 [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
eb35c251 17
034d378b 18AC_CONFIG_SRCDIR([sys-utils/mount.c])
15a9b48c
SK
19AC_PREFIX_DEFAULT([/usr])
20
33b0be6d
KZ
21dnl version details from <major>.<minor>[-<suffix>]
22PACKAGE_VERSION_MAJOR=$(echo $PACKAGE_VERSION | awk -F. '{print $1}')
23PACKAGE_VERSION_MINOR=$(echo $PACKAGE_VERSION | awk -F. '{print $2}' \
f06b4328 24 | awk -F- '{print $1}')
33b0be6d 25PACKAGE_VERSION_RELEASE=0
a0948ffe 26
33b0be6d
KZ
27dnl libblkid version
28LIBBLKID_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
bad3c52f 29LIBBLKID_DATE="21-Oct-2013"
dc2b8d87
KZ
30LIBBLKID_LT_MAJOR=1
31LIBBLKID_LT_MINOR=1
32LIBBLKID_LT_MICRO=0
33LIBBLKID_VERSION_INFO=`expr $LIBBLKID_LT_MAJOR + $LIBBLKID_LT_MINOR`:$LIBBLKID_LT_MICRO:$LIBBLKID_LT_MINOR
a0948ffe 34
f6076f55
KZ
35dnl libuuid version
36LIBUUID_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
dc2b8d87
KZ
37LIBUUID_LT_MAJOR=1
38LIBUUID_LT_MINOR=3
39LIBUUID_LT_MICRO=0
40LIBUUID_VERSION_INFO=`expr $LIBUUID_LT_MAJOR + $LIBUUID_LT_MINOR`:$LIBUUID_LT_MICRO:$LIBUUID_LT_MINOR
f6076f55 41
f1cde479
KZ
42dnl libmount version
43LIBMOUNT_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
44LIBMOUNT_LT_MAJOR=1
45LIBMOUNT_LT_MINOR=1
46LIBMOUNT_LT_MICRO=0
47LIBMOUNT_VERSION_INFO=`expr $LIBMOUNT_LT_MAJOR + $LIBMOUNT_LT_MINOR`:$LIBMOUNT_LT_MICRO:$LIBMOUNT_LT_MINOR
48
15a9b48c 49# Check whether exec_prefix=/usr:
9f57e6e8
SK
50AS_CASE([$exec_prefix:$prefix],
51[NONE:NONE | NONE:/usr | /usr:*],
52 [AC_MSG_NOTICE([Default --exec-prefix detected.])
17794746
KZ
53 AS_CASE([$bindir], ['${exec_prefix}/bin'], [bindir=/bin; AC_MSG_NOTICE([ --bindir defaults to /bin]) ])
54 AS_CASE([$sbindir], ['${exec_prefix}/sbin'], [sbindir=/sbin; AC_MSG_NOTICE([ --sbindir defaults to /sbin])])
55 AS_CASE([$libdir], ['${exec_prefix}/lib'], [libdir=/lib; AC_MSG_NOTICE([ --libdir defaults to /lib]) ])
9f57e6e8
SK
56 ]
57)
58
59AS_CASE([$prefix:$localstatedir],
3745d4a9 60 [NONE:'${prefix}/var' | /usr:'${prefix}/var'],
9f57e6e8
SK
61 [localstatedir=/run
62 AC_MSG_NOTICE([ --localstatedir defaults to /run])
63 ]
64)
11935cd3 65AC_SUBST([localstatedir])
07a16b9d 66
b0a0d7d5 67
996fb358 68# The original default values of {bin,sbin,lib}dir
aaf3e8f5 69usrbin_execdir='${exec_prefix}/bin'
30688dde 70AC_SUBST([usrbin_execdir])
996fb358 71
aaf3e8f5 72usrsbin_execdir='${exec_prefix}/sbin'
30688dde 73AC_SUBST([usrsbin_execdir])
996fb358 74
9f57e6e8 75AS_CASE([$libdir],
3745d4a9 76 ['${exec_prefix}/'* | '${prefix}/'* | /usr/*],
9f57e6e8
SK
77 [usrlib_execdir=$libdir],
78 [usrlib_execdir='${exec_prefix}'$libdir]
79)
30688dde 80AC_SUBST([usrlib_execdir])
996fb358 81
bdf5f542 82
31c9c1c4 83AM_PROG_CC_C_O
48d7b13a 84AC_PROG_CC_STDC
a6996860 85AC_CANONICAL_HOST
85b4c147 86AC_C_CONST
e79829db 87AC_C_VOLATILE
fbaec83b 88AC_C_BIGENDIAN
b12991dd 89
0e60bc9b 90dnl Compiler warnings
b1b54edf 91UL_WARN_ADD([-fno-common])
9dc72d0b 92UL_WARN_ADD([-Wall])
b1b54edf 93UL_WARN_ADD([-Werror=sequence-point])
0e60bc9b 94UL_WARN_ADD([-Wextra])
b1b54edf
KZ
95UL_WARN_ADD([-Wmissing-declarations])
96UL_WARN_ADD([-Wmissing-parameter-type])
97UL_WARN_ADD([-Wmissing-prototypes])
0e60bc9b 98UL_WARN_ADD([-Wno-missing-field-initializers])
b1b54edf 99UL_WARN_ADD([-Wredundant-decls])
0e60bc9b
KZ
100UL_WARN_ADD([-Wsign-compare])
101UL_WARN_ADD([-Wtype-limits])
102UL_WARN_ADD([-Wuninitialized])
b1b54edf
KZ
103UL_WARN_ADD([-Wunused-but-set-parameter])
104UL_WARN_ADD([-Wunused-but-set-variable])
0e60bc9b 105UL_WARN_ADD([-Wunused-parameter])
0e60bc9b 106UL_WARN_ADD([-Wunused-result])
bec5c9db 107UL_WARN_ADD([-Wunused-variable])
dcd33c3e
KZ
108UL_WARN_ADD([-Wnested-externs])
109UL_WARN_ADD([-Wpointer-arith])
110UL_WARN_ADD([-Wstrict-prototypes])
111UL_WARN_ADD([-Wformat-security])
0e60bc9b
KZ
112AC_SUBST([WARN_CFLAGS])
113
034d378b 114UL_WARN_ADD([-Wno-clobbered], [BSD_WARN_CFLAGS])
7697771d
KZ
115AC_SUBST([BSD_WARN_CFLAGS])
116
b12991dd
KZ
117dnl libtool-2
118LT_INIT
48d7b13a 119
fd0f4132
SK
120m4_ifndef([PKG_PROG_PKG_CONFIG],
121 [m4_fatal([Could not locate the pkg-config autoconf
122 macros. These are usually located in /usr/share/aclocal/pkg.m4.
123 If your macros are in a different location, try setting the
124 environment variable AL_OPTS="-I/other/macro/dir" before running
125 ./autogen.sh or autoreconf again.])])
d06d028a
KZ
126PKG_PROG_PKG_CONFIG
127
22aa5166
KZ
128GTK_DOC_CHECK([1.10])
129AC_PATH_PROG([XSLTPROC], [xsltproc])
130
8c182554 131linux_os=no
9f57e6e8 132AS_CASE([${host_os}], [*linux*], [linux_os=yes])
034d378b 133AM_CONDITIONAL([LINUX], [test "x$linux_os" = xyes])
8c182554 134
3c6e292c 135dnl define ARCH_<NAME> conditionals
034d378b
SK
136UL_SET_ARCH([I86], [i?86-*])
137UL_SET_ARCH([86_64], [x86_64*])
138UL_SET_ARCH([IA64], [ia64*])
139UL_SET_ARCH([S390], [s390*])
140UL_SET_ARCH([SPARC], [sparc*])
141UL_SET_ARCH([PPC], [ppc*|powerpc*])
142UL_SET_ARCH([M68K], [m68*])
143UL_SET_ARCH([MIPS], [mips*])
144UL_SET_ARCH([HPPA], [hppa*])
3c6e292c 145
48d7b13a
KZ
146AC_SYS_LARGEFILE
147
e3e16717 148AM_GNU_GETTEXT_VERSION([0.18])
09734b00 149AM_GNU_GETTEXT([external])
3013eb9d
SK
150
151AS_IF([test -d "$srcdir/po"], [
152 ALL_LINGUAS=`cd $srcdir/po > /dev/null && echo *.po | sed 's/\.po//g'`
153], [
154 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"
155])
09734b00 156
e460a5bf 157AC_CHECK_HEADERS([linux/compiler.h linux/blkpg.h linux/major.h], [], [], [
48d7b13a
KZ
158#ifdef HAVE_LINUX_COMPILER_H
159#include <linux/compiler.h>
160#endif
161])
f06b4328
SK
162AC_CHECK_HEADERS([ \
163 asm/io.h \
164 err.h \
a0948ffe 165 errno.h \
f06b4328 166 fcntl.h \
a0948ffe 167 getopt.h \
f06b4328
SK
168 inttypes.h \
169 linux/cdrom.h \
170 linux/falloc.h \
5b0289b9 171 linux/watchdog.h \
a0948ffe 172 linux/fd.h \
f06b4328 173 linux/raw.h \
a0948ffe
KZ
174 linux/tiocl.h \
175 linux/version.h \
48469f90 176 linux/securebits.h \
8b7f16fc 177 locale.h \
607c2a72 178 mntent.h \
f06b4328 179 net/if.h \
754fed0c 180 net/if_dl.h \
f06b4328
SK
181 netinet/in.h \
182 paths.h \
183 pty.h \
184 security/pam_misc.h \
185 stdint.h \
78288764 186 stdio_ext.h \
a0948ffe 187 stdlib.h \
1a1eb4e1
KZ
188 endian.h \
189 byteswap.h \
190 sys/endian.h \
a0948ffe
KZ
191 sys/disk.h \
192 sys/disklabel.h \
f06b4328 193 sys/file.h \
bf962c0a 194 sys/io.h \
f06b4328
SK
195 sys/ioccom.h \
196 sys/ioctl.h \
a0948ffe
KZ
197 sys/mkdev.h \
198 sys/prctl.h \
199 sys/queue.h \
f06b4328 200 sys/resource.h \
2a7c1f70 201 sys/socket.h \
f06b4328 202 sys/sockio.h \
a0948ffe 203 sys/stat.h \
f06b4328
SK
204 sys/swap.h \
205 sys/syscall.h \
206 sys/time.h \
00c505d9 207 sys/ttydefaults.h \
a0948ffe 208 sys/types.h \
754fed0c 209 sys/un.h \
f06b4328
SK
210 unistd.h \
211])
dc61d398 212
a67387b7
KZ
213AC_CHECK_HEADERS([langinfo.h],
214 [AM_CONDITIONAL([HAVE_LANGINFO], [true])],
215 [AM_CONDITIONAL([HAVE_LANGINFO], [false])])
216
16ba8d58
KZ
217dnl Convert some ac_cv_header_* variables to have_*
218dnl
219have_linux_raw_h=$ac_cv_header_linux_raw_h
48469f90 220have_linux_securebits_h=$ac_cv_header_linux_securebits_h
5b0289b9 221have_linux_watchdog_h=$ac_cv_header_linux_watchdog_h
ff0cb84d 222have_security_pam_misc_h=$ac_cv_header_security_pam_misc_h
48d7b13a 223
a67387b7
KZ
224
225AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
226#include <time.h>
227#include <unistd.h>
228]], [[
229 int a = 0;
230 struct tm *tm = localtime(0);
231 if (a == -1) /* false */
f06b4328 232 sleep(tm->tm_gmtoff);
a67387b7 233]])],
034d378b 234[AC_DEFINE([HAVE_TM_GMTOFF], [1], [Does struct tm have a field tm_gmtoff?])
a67387b7
KZ
235])
236
237AC_CHECK_MEMBERS([struct termios.c_line],,,
238 [[#include <termios.h>]])
239
240AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec],,,
241 [#include <sys/stat.h>])
242
a67387b7
KZ
243AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
244[[
245#ifdef HAVE_SYS_SWAP_H
246# include <sys/swap.h>
247#endif
248#include <unistd.h>
249]],
250[[swapon("/dev/null", 0);]])],
034d378b 251[AC_DEFINE([SWAPON_HAS_TWO_ARGS], [1], [Is swapon() declared with two parameters?])
a67387b7
KZ
252],
253[AC_MSG_NOTICE([Your libc thinks that swapon has 1 arg only.])
254])
dc61d398
KZ
255
256
a88057d9
TP
257AC_CHECK_DECLS([_NL_TIME_WEEK_1STDAY],[],[],[[#include <langinfo.h>]])
258
2a7c1f70 259AC_CHECK_DECL([llseek],
034d378b 260 [AC_DEFINE([HAVE_LLSEEK_PROTOTYPE], [1],
2a7c1f70
KZ
261 [Define to 1 if have llseek prototype])],
262 [],
263 [#include <unistd.h>])
264
265AC_CHECK_DECL([lseek64],
034d378b 266 [AC_DEFINE([HAVE_LSEEK64_PROTOTYPE], [1],
2a7c1f70
KZ
267 [Define to 1 if have lseek64 prototype])],
268 [],
269 [#define _LARGEFILE_SOURCE
270 #define _LARGEFILE64_SOURCE
271 #include <unistd.h>])
272
0e9b73d3 273AC_CHECK_DECL([environ],
034d378b 274 [AC_DEFINE([HAVE_ENVIRON_DECL], [1],
0e9b73d3
SK
275 [Define to 1 if have **environ prototype])],
276)
277
278AC_CHECK_DECL([strsignal],
034d378b 279 [AC_DEFINE([HAVE_STRSIGNAL_DECL], [1],
0e9b73d3
SK
280 [Define to 1 if have strsignal function prototype])],
281)
282
f06b4328 283AC_CHECK_FUNCS([ \
78288764 284 __fpending \
075f4bfd 285 secure_getenv \
f06b4328 286 __secure_getenv \
eb76ca98
FG
287 err \
288 errx \
bf962c0a 289 fsync \
f06b4328 290 futimens \
bf962c0a 291 getdomainname \
f06b4328
SK
292 getdtablesize \
293 getexecname \
294 getmntinfo \
295 getrlimit \
296 inotify_init \
3ac22f7a 297 jrand48 \
bf962c0a 298 lchown \
a0948ffe
KZ
299 llseek \
300 lseek64 \
02887b73 301 mempcpy \
f06b4328
SK
302 nanosleep \
303 personality \
304 posix_fadvise \
305 prctl \
306 rpmatch \
485a8bfa 307 scandirat \
69045d3d
KZ
308 setresgid \
309 setresuid \
f06b4328
SK
310 sigqueue \
311 srandom \
312 strnchr \
69b7e41e
KZ
313 strndup \
314 strnlen \
f06b4328
SK
315 strtoull \
316 sysconf \
317 updwtmp \
318 usleep \
eb76ca98
FG
319 warn \
320 warnx \
f06b4328 321])
48d7b13a 322AC_FUNC_FSEEKO
48d7b13a 323
940fd28c 324AC_CHECK_FUNCS([openat fstatat unlinkat], [have_openat=yes], [have_openat=no])
465e9973 325AC_CHECK_FUNCS([ioperm iopl], [have_io=yes])
465e9973 326
034d378b
SK
327AC_CHECK_MEMBER([struct sockaddr.sa_len],
328 AC_DEFINE_UNQUOTED([HAVE_SA_LEN], [1], [Define if struct sockaddr contains sa_len]), [],
754fed0c
KZ
329 [#include <sys/types.h>
330 #include <sys/socket.h>])
331
60cc9f94 332SOCKET_LIBS=
60cc9f94 333AC_SEARCH_LIBS([socket], [socket],
3013eb9d
SK
334 [AS_IF([test x"$ac_cv_search_socket" != x"none required"],
335 [SOCKET_LIBS="$SOCKET_LIBS -lsocket"])
336])
60cc9f94
FG
337AC_SUBST([SOCKET_LIBS])
338
d58c47d9
FG
339
340have_dirfd=no
341AC_CHECK_FUNCS([dirfd], [have_dirfd=yes], [have_dirfd=no])
3013eb9d 342AS_IF([test x"$have_dirfd" = xno], [
d58c47d9
FG
343 AC_CHECK_DECLS([dirfd],
344 [have_dirfd=yes], [have_dirfd=no],
345 [#include <sys/types.h>
346 #include <dirent.h>])
3013eb9d 347])
d58c47d9
FG
348
349have_ddfd=no
3013eb9d 350AS_IF([test x"$have_dirfd" = xno], [
d58c47d9
FG
351 AC_CHECK_MEMBERS([DIR.dd_fd],
352 [have_ddfd=yes], [have_ddfd=no],
353 [#include <sys/types.h>
354 #include <dirent.h>])
3013eb9d 355])
d58c47d9 356
9f57e6e8
SK
357AS_CASE([$have_dirfd:$have_ddfd],
358 [no:no],
359 [AC_MSG_ERROR([cannot find a method to get filedescriptor of directory])]
360)
d58c47d9
FG
361
362
d6abf168
SK
363AC_MSG_CHECKING([whether program_invocation_short_name is defined])
364AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
365 #include <argp.h>
366]], [[
367 program_invocation_short_name = "test";
368]])], [
369 AC_MSG_RESULT([yes])
370 AC_DEFINE([HAVE_PROGRAM_INVOCATION_SHORT_NAME], [1],
371 [Define if program_invocation_short_name is defined])
372], [
373 AC_MSG_RESULT([no])
374])
375
a804f444
FG
376
377AC_MSG_CHECKING([whether __progname is defined])
378AC_LINK_IFELSE([AC_LANG_PROGRAM([extern char *__progname;],
f06b4328 379 [if (*__progname == 0) return;])],
034d378b
SK
380 AC_DEFINE([HAVE___PROGNAME], [1], [Define if __progname is defined])
381 AC_MSG_RESULT([yes]),
382 AC_MSG_RESULT([no]))
a804f444 383
8569410c 384dnl Static compilation
132ea941 385m4_define([UL_STATIC_PROGRAMS], [losetup, mount, umount, fdisk, sfdisk, blkid])
8569410c
SK
386
387AC_ARG_ENABLE([static-programs],
388 [AS_HELP_STRING([--enable-static-programs=LIST],
389 [link static the programs in LIST (comma-separated,
132ea941 390 supported for ]m4_defn([UL_STATIC_PROGRAMS])[)])])
8569410c 391
9f57e6e8
SK
392AS_CASE([$enable_static_programs],
393 [yes],
d924b10b 394 [enable_static_programs=m4_quote(UL_STATIC_PROGRAMS)],
9f57e6e8
SK
395 [no],
396 [enable_static_programs=]
397)
8569410c 398
8569410c 399dnl Set all the individual AM_CONDITIONALs
132ea941 400m4_foreach([UL_PRG], m4_defn([UL_STATIC_PROGRAMS]), [
9f57e6e8
SK
401 AS_CASE([,$enable_static_programs,],
402 [*,UL_PRG,*], [static_[]UL_PRG=yes]
403 )
d924b10b 404 AS_IF([test "x$static_[]UL_PRG" = xyes], [AC_MSG_NOTICE([enable static build: UL_PRG.])])
132ea941
KZ
405 AM_CONDITIONAL([HAVE_STATIC_]m4_toupper(UL_PRG),
406 [test "x$static_[]UL_PRG" = xyes])
8569410c
SK
407])
408
d7a01582 409AX_CHECK_TLS
3ac22f7a 410
13f5473e
KZ
411AC_DEFUN([UL_SCANF_TYPE_MODIFIER], [dnl
412# include <stdio.h>
413int main()
414{
415 int i;
416 char *s;
417 i = sscanf("x", $1, &s);
418 if (i == 1)
419 return 0;
420 return 1;
421}])
422
423AC_CACHE_VAL([scanf_cv_alloc_modifier],
424 AC_RUN_IFELSE([AC_LANG_SOURCE([UL_SCANF_TYPE_MODIFIER(["%ms"])])],
425 [scanf_cv_alloc_modifier=ms],
426 AC_RUN_IFELSE([AC_LANG_SOURCE([UL_SCANF_TYPE_MODIFIER(["%as"])])],
427 [scanf_cv_alloc_modifier=as],
428 [scanf_cv_alloc_modifier=no]
429 )
b420e279 430 ,
d0202f1c
SAS
431
432 [AC_COMPILE_IFELSE([AC_LANG_SOURCE([
433 #include <stdio.h>
695e4e1a 434 #include <unistd.h>
d0202f1c
SAS
435
436 #ifdef __GLIBC__
437
438 #if !(__GLIBC_PREREQ(2, 7))
439 #error %m is not available
440 #endif
441
695e4e1a 442 #elif defined(_POSIX_VERSION)
d0202f1c 443
695e4e1a
MF
444 #if _POSIX_VERSION < 200809L
445 #error %m is not available
446 #endif
447
448 #else
d0202f1c
SAS
449 #error Your C-library is not supported.
450 #endif
451 ])],
452 [scanf_cv_alloc_modifier=ms],
453 [scanf_cv_alloc_modifier=no])]
13f5473e
KZ
454 )
455)
456
457AC_MSG_CHECKING([scanf string alloc modifiers])
9f57e6e8
SK
458AS_CASE([$scanf_cv_alloc_modifier],
459 [ms],
460 [AC_MSG_RESULT([(%ms) yes])
461 AC_DEFINE([HAVE_SCANF_MS_MODIFIER], [1], [scanf %ms modifier])
462 have_scanf_alloc_modifier=yes],
463 [as],
464 [AC_MSG_RESULT([(%as) yes])
465 have_scanf_alloc_modifier=yes
466 AC_DEFINE([HAVE_SCANF_AS_MODIFIER], [1], [scanf %as modifier])],
467 [AC_MSG_RESULT([no])
468 have_scanf_alloc_modifier=no]
469)
13f5473e 470
034d378b
SK
471UL_CHECK_LIB([util], [openpty])
472UL_CHECK_LIB([termcap], [tgetnum])
3aecf79d
KZ
473
474AC_CHECK_TYPES([union semun], [], [], [[
475#include <sys/sem.h>
476]])
034d378b 477AC_CHECK_TYPES([loff_t])
3aecf79d
KZ
478
479AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
480#include <wchar.h>
481#include <wctype.h>
482#include <stdio.h>
483]], [[
484 wchar_t wc;
485 wint_t w;
486 w = fgetwc(stdin);
487 if (w == WEOF) exit(1);
488 wc = w;
489 fputwc(wc,stdout);
490]])],
034d378b 491[AC_DEFINE([HAVE_WIDECHAR], [1], [Do we have wide character support?])
3aecf79d
KZ
492])
493
494AC_CHECK_TYPES([cpu_set_t], [have_cpu_set_t=yes], [], [[
495#include <sched.h>
496]])
497
034d378b 498AM_CONDITIONAL([HAVE_CPU_SET_T], [test "x$have_cpu_set_t" = xyes])
3aecf79d 499
b09bc508
MF
500AC_CHECK_TYPES([sighandler_t], [], [], [[
501#include <signal.h>
502]])
503
3aecf79d
KZ
504AC_CHECK_DECLS([CPU_ALLOC], [], [], [[
505#include <sched.h>
506]])
507
8d35bdc9
KZ
508# on Solaris, you can't mix and match standards, since we use c99
509# aparently at this stage, XOPEN_SOURCE will conflict. As workaround,
510# check for crypt.h and use that without XOPEN_SOURCE.
511AC_CHECK_HEADERS([crypt.h])
512AC_LINK_IFELSE([AC_LANG_PROGRAM([[
513#ifdef HAVE_CRYPT_H
514#include <crypt.h>
515#else
516#define _XOPEN_SOURCE
517#include <unistd.h>
518#endif
519]], [[
520char *c = crypt("abc","pw");
521]])],[],[
522 LIBS="$LIBS -lcrypt"
523 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
524 #ifdef HAVE_CRYPT_H
525 #include <crypt.h>
526 #else
527 #define _XOPEN_SOURCE
528 #include <unistd.h>
529 #endif
530 ]], [[
531 char *c = crypt("abc","pw");
532 ]])],[
034d378b 533 AC_DEFINE([HAVE_LIBCRYPT], [1], [Do we need -lcrypt?])
8d35bdc9
KZ
534 have_libcrypt=yes
535 ],[
536 AC_MSG_ERROR([crypt() is not available])
537 ])
538])
034d378b 539AM_CONDITIONAL([HAVE_LIBCRYPT], [test "x$have_libcrypt" = xyes])
8d35bdc9 540
13f5473e 541
75ad4910
KZ
542AC_ARG_WITH([selinux],
543 AS_HELP_STRING([--with-selinux], [compile with SELinux support]),
034d378b 544 [], [with_selinux=no]
75ad4910
KZ
545)
546
3013eb9d 547AS_IF([test "x$with_selinux" = xno], [
034d378b 548 AM_CONDITIONAL([HAVE_SELINUX], [false])
3013eb9d 549], [
7e34c79f 550 PKG_CHECK_MODULES([SELINUX], [libselinux >= 2.0],
034d378b 551 [AC_DEFINE([HAVE_LIBSELINUX], [1], [Define if SELinux is available])
7e34c79f 552 UL_PKG_STATIC([SELINUX_LIBS_STATIC], [libselinux])
034d378b 553 AM_CONDITIONAL([HAVE_SELINUX], [true])
7e34c79f
KZ
554 have_selinux=yes],
555 [have_selinux=no])
556
9f57e6e8
SK
557 AS_CASE([$with_selinux:$have_selinux],
558 [yes:no], [AC_MSG_ERROR([SELinux selected but libselinux not found or too old])]
559 )
312f04f4 560
3013eb9d 561 AS_IF([test "x$have_selinux" = xyes], [
312f04f4
KZ
562 UL_SET_FLAGS([], [], [$SELINUX_LIBS])
563 # This function is missing in old libselinux 1.xx versions
564 AC_CHECK_FUNCS([security_get_initial_context])
565 UL_RESTORE_FLAGS
3013eb9d
SK
566 ])
567])
75ad4910
KZ
568AC_SUBST([SELINUX_LIBS])
569AC_SUBST([SELINUX_LIBS_STATIC])
570
571AC_ARG_WITH([audit],
572 AS_HELP_STRING([--with-audit], [compile with audit support]),
034d378b 573 [], [with_audit=no]
75ad4910
KZ
574)
575
3013eb9d 576AS_IF([test "x$with_audit" = xno], [
034d378b 577 AM_CONDITIONAL([HAVE_AUDIT], [false])
3013eb9d 578], [
034d378b 579 UL_CHECK_LIB([audit], [audit_log_user_message])
9f57e6e8
SK
580 AS_CASE([$with_audit:$have_audit],
581 [yes:no],
582 [AC_MSG_ERROR([Audit selected but libaudit not found (or does not support audit_log_user_message())])]
583 )
3013eb9d 584])
75ad4910
KZ
585
586AC_ARG_WITH([udev], AS_HELP_STRING([--without-udev], [compile without udev support]),
034d378b 587 [], [with_udev=auto]
75ad4910
KZ
588)
589
3013eb9d 590AS_IF([test "x$with_udev" = xno], [
034d378b 591 AM_CONDITIONAL([HAVE_UDEV], [false])
3013eb9d 592], [
034d378b 593 UL_CHECK_LIB([udev], [udev_new])
9f57e6e8
SK
594 AS_CASE([$with_udev:$have_udev],
595 [yes:no],
596 [AC_MSG_ERROR([udev selected but libudev not found])]
597 )
3013eb9d 598])
75ad4910
KZ
599
600AC_ARG_WITH([ncurses],
601 AS_HELP_STRING([--with-ncurses], [build with non-wide ncurses, default is wide version
f06b4328 602 (--without-ncurses disables all ncurses(w) support)]),
034d378b 603 [], [with_ncurses=auto]
75ad4910 604)
034d378b 605AM_CONDITIONAL([HAVE_NCURSES], [false])
75ad4910 606
3013eb9d 607AS_IF([test "x$with_ncurses" != xno], [
75ad4910 608 have_ncurses=no
2b8f22bd
MF
609
610 dnl First try to find the pkg-config module.
611 PKG_CHECK_MODULES(NCURSESW, [ncursesw], [
612 have_ncurses=yes
613 NCURSES_LIBS=${NCURSESW_LIBS}
614 NCURSES_CFLAGS=${NCURSESW_CFLAGS}
615 AC_DEFINE([HAVE_LIBNCURSESW])
616 ], [
617 PKG_CHECK_MODULES(NCURSES, [ncurses], [
618 have_ncurses=yes
619 AC_DEFINE([HAVE_LIBNCURSES])
620 ], [:])
621 ])
622
623 AS_IF([test "x$have_ncurses" = xyes], [
624 dnl If that worked, setup the defines that the code expects.
625 save_CPPFLAGS="$CPPFLAGS"
626 CPPFLAGS="$CPPFLAGS $NCURSES_CFLAGS"
627 AC_CHECK_HEADERS([ncurses.h])
628 CPPFLAGS="$save_CPPFLAGS"
629 ], [
630 dnl If that failed, fall back to classic searching.
631 AC_CHECK_HEADERS([ncurses.h ncurses/ncurses.h], [
632 AS_IF([test "x$with_ncurses" = xauto], [
633 UL_CHECK_LIB([ncursesw], [initscr], [ncurses])
634 AS_IF([test "x$have_ncurses" = xyes], [
635 AC_CHECK_HEADERS([ncursesw/ncurses.h])
636 NCURSES_LIBS="-lncursesw"
637 ])
3013eb9d 638 ])
2b8f22bd
MF
639 AS_IF([test "x$have_ncurses" = xno], [
640 UL_CHECK_LIB(ncurses, initscr)
641 AS_IF([test "x$have_ncurses" = xyes], [
642 NCURSES_LIBS="-lncurses"
643 ])
3013eb9d
SK
644 ])
645 ])
75ad4910 646 ])
2b8f22bd 647
3013eb9d 648 AS_IF([test "x$have_ncurses" = xno], [
75ad4910 649 AC_MSG_ERROR([ncurses or ncursesw selected, but library not found (--without-ncurses to disable)])
3013eb9d
SK
650 ])
651])
2b8f22bd 652AC_SUBST([NCURSES_CFLAGS])
75ad4910
KZ
653AC_SUBST([NCURSES_LIBS])
654
655
656AC_ARG_WITH([slang],
657 AS_HELP_STRING([--with-slang], [compile cfdisk with slang]),
034d378b 658 [], [with_slang=no]
75ad4910 659)
50ea6795 660have_slang=no
3013eb9d 661AS_IF([test "x$with_slang" = xyes], [
75ad4910
KZ
662 AC_CHECK_HEADERS([slang.h slang/slang.h])
663 AC_CHECK_HEADERS([slcurses.h slang/slcurses.h],
50ea6795 664 [have_slang=yes], [], [
75ad4910
KZ
665#ifdef HAVE_SLANG_H
666#include <slang.h>
667#elif defined(HAVE_SLANG_SLANG_H)
668#include <slang/slang.h>
669#endif
670])
3013eb9d 671 AS_IF([test "x$have_slang" = xno], [
75ad4910 672 AC_MSG_ERROR([slang selected but slcurses.h not found])
3013eb9d
SK
673 ])
674])
034d378b 675AM_CONDITIONAL([HAVE_SLANG], [test "x$have_slang" = xyes])
50ea6795 676
034d378b 677AM_CONDITIONAL([BUILD_CFDISK], [test "x$have_slang" = xyes -o "x$have_ncurses" = xyes])
50ea6795
KZ
678
679
ccf92e6d
KZ
680dnl Try pkg-config for libtinfo
681PKG_CHECK_MODULES(TINFO, [tinfo], [have_tinfo=yes], [
682 dnl If that failed, fall back to classic searching.
683 AC_CHECK_LIB([tinfo], [tgetent], [
684 have_tinfo=yes
685 TINFO_LIBS="-ltinfo"
686 TINFO_CFLAGS=""])
2b8f22bd
MF
687])
688AC_SUBST([TINFO_LIBS])
ccf92e6d 689AC_SUBST([TINFO_CFLAGS])
b88e6b02 690AM_CONDITIONAL([HAVE_TINFO], [test "x$have_tinfo" = xyes])
75ad4910
KZ
691
692
693AC_ARG_WITH([utempter],
694 AS_HELP_STRING([--with-utempter], [compile script(1) with libutempter]),
034d378b 695 [], [with_utempter=no]
75ad4910
KZ
696)
697
3013eb9d 698AS_IF([test "x$with_utempter" = xyes], [
034d378b 699 UL_CHECK_LIB([utempter], [utempter_add_record])
3013eb9d 700 AS_IF([test "x$have_utempter" = xno], [
75ad4910 701 AC_MSG_ERROR([utempter selected but libutempter not found])
3013eb9d
SK
702 ])
703], [
034d378b 704 AM_CONDITIONAL([HAVE_UTEMPTER], [false])
3013eb9d 705])
75ad4910
KZ
706
707
d17584b6 708AC_ARG_ENABLE([most-builds],
455fe9a0 709 AS_HELP_STRING([--enable-most-builds], [build everything other than experimental code]),
034d378b 710 [], [enable_most_builds=no]
d17584b6 711)
3013eb9d 712AS_IF([test "x$enable_most_builds" = xyes], [
3a3dcbdc 713 enable_chfn_chsh=yes
d17584b6
SK
714 enable_line=yes
715 enable_mesg=yes
3a3dcbdc 716 enable_newgrp=yes
d17584b6 717 enable_reset=yes
3a3dcbdc
SK
718 enable_socket_activation=yes
719 enable_tunelp=yes
cc76731e 720 enable_vipw=yes
d17584b6 721 enable_write=yes
3745d4a9 722 with_python=yes
3013eb9d 723])
d17584b6 724
1dbbde66
KZ
725dnl
726dnl libuuid
727dnl
17afb032
KZ
728AC_ARG_ENABLE([libuuid],
729 AS_HELP_STRING([--disable-libuuid], [do not build libuuid and uuid utilities]),
034d378b 730 [], [enable_libuuid=yes]
17afb032 731)
fa7be20e 732UL_BUILD_INIT([libuuid])
dc2b8d87
KZ
733AC_SUBST([LIBUUID_VERSION])
734AC_SUBST([LIBUUID_VERSION_INFO])
fa7be20e 735AM_CONDITIONAL(BUILD_LIBUUID, test "x$build_libuuid" = xyes)
9dc801d2 736
3013eb9d 737AS_IF([test "x$enable_libuuid" = xyes], [
17afb032 738 AC_DEFINE(HAVE_LIBUUID, 1, [Define to 1 if you have the -luuid.])
3013eb9d 739], [
17afb032 740 AC_MSG_WARN([uuid library is not found; mkswap(8) will not generate UUIDs])
3013eb9d 741])
48d7b13a 742
1dbbde66
KZ
743dnl
744dnl libblkid
745dnl
f910b559 746AC_ARG_ENABLE([libblkid],
1d12ed57 747 AS_HELP_STRING([--disable-libblkid], [do not build libblkid and many related utilities]),
034d378b 748 [], [enable_libblkid=yes]
40f07ff7 749)
61a074f7 750UL_BUILD_INIT([libblkid])
033cf439 751AC_SUBST([LIBBLKID_DATE])
dc2b8d87
KZ
752AC_SUBST([LIBBLKID_VERSION])
753AC_SUBST([LIBBLKID_VERSION_INFO])
034d378b
SK
754AC_DEFINE_UNQUOTED([LIBBLKID_VERSION], ["$LIBBLKID_VERSION"], [libblkid version string])
755AC_DEFINE_UNQUOTED([LIBBLKID_DATE], ["$LIBBLKID_DATE"], [libblkid date string])
3013eb9d 756AS_IF([test "x$build_libblkid" = xyes], [
034d378b 757 AC_DEFINE([HAVE_LIBBLKID], [1], [Define to 1 if you have the -lblkid.])
3013eb9d 758])
034d378b
SK
759AM_CONDITIONAL([BUILD_LIBBLKID], [test "x$build_libblkid" = xyes])
760AM_CONDITIONAL([BUILD_LIBBLKID_TESTS], [test "x$build_libblkid" = xyes -a "x$enable_static" = xyes])
f910b559 761
1dbbde66
KZ
762dnl
763dnl libmount
764dnl
f1cde479
KZ
765AC_ARG_ENABLE([libmount],
766 AS_HELP_STRING([--disable-libmount], [do not build libmount]),
034d378b 767 [], [enable_libmount=check]
f1cde479 768)
61a074f7 769UL_BUILD_INIT([libmount])
13f5473e
KZ
770UL_REQUIRES_LINUX([libmount])
771UL_REQUIRES_BUILD([libmount], [libblkid])
772UL_REQUIRES_HAVE([libmount], [scanf_alloc_modifier], [scanf string alloc modifier])
034d378b
SK
773AM_CONDITIONAL([BUILD_LIBMOUNT], [test "x$build_libmount" = xyes])
774AM_CONDITIONAL([BUILD_LIBMOUNT_TESTS], [test "x$build_libmount" = xyes -a "x$enable_static" = xyes])
8e368761 775
f1cde479
KZ
776AC_SUBST([LIBMOUNT_VERSION])
777AC_SUBST([LIBMOUNT_VERSION_INFO])
034d378b 778AC_DEFINE_UNQUOTED([LIBMOUNT_VERSION], ["$LIBMOUNT_VERSION"], [libmount version string])
13f5473e 779
f1cde479 780
eb6a03f3
KZ
781dnl
782dnl libfdisk is enabled all time if possible
783dnl
784UL_BUILD_INIT([libfdisk], [check])
785UL_REQUIRES_BUILD([libfdisk], [libuuid])
034d378b 786AM_CONDITIONAL([BUILD_LIBFDISK], [test "x$build_libfdisk" = xyes])
eb6a03f3
KZ
787
788UL_BUILD_INIT([fdisk], [check])
789UL_REQUIRES_BUILD([fdisk], [libfdisk])
034d378b 790AM_CONDITIONAL([BUILD_FDISK], [test "x$build_fdisk" = xyes])
eb6a03f3
KZ
791
792
434b07a0
KZ
793AC_ARG_ENABLE([deprecated-mount],
794 AS_HELP_STRING([--enable-deprecated-mount], [build old mount utilities]),
034d378b 795 [], [enable_deprecated_mount=no]
1dbbde66 796)
434b07a0
KZ
797UL_BUILD_INIT([deprecated_mount])
798UL_REQUIRES_LINUX([deprecated_mount])
799UL_REQUIRES_BUILD([deprecated_mount], [libblkid])
034d378b 800AM_CONDITIONAL([BUILD_DEPRECATED_MOUNT], [test "x$build_deprecated_mount" = xyes])
1dbbde66
KZ
801
802
434b07a0
KZ
803AC_ARG_ENABLE([mount],
804 AS_HELP_STRING([--disable-mount], [do not build mount(8) and umount(8)]),
034d378b 805 [], [enable_mount=check]
ecdba5dd 806)
434b07a0
KZ
807UL_BUILD_INIT([mount])
808UL_REQUIRES_BUILD([mount], [libmount])
bafe1a75 809UL_CONFLICTS_BUILD([mount], [deprecated_mount], [old deprecated mount version])
034d378b 810AM_CONDITIONAL([BUILD_MOUNT], [test "x$build_mount" = xyes])
ecdba5dd
KZ
811
812
bafe1a75
KZ
813AC_ARG_ENABLE([losetup],
814 AS_HELP_STRING([--disable-losetup], [do not build losetup]),
034d378b 815 [], [enable_losetup=check]
bafe1a75
KZ
816)
817UL_BUILD_INIT([losetup])
818UL_REQUIRES_LINUX([losetup])
034d378b 819AM_CONDITIONAL([BUILD_LOSETUP], [test "x$build_losetup" = xyes])
bafe1a75
KZ
820
821
78cdc254
KZ
822AC_ARG_ENABLE([cytune],
823 AS_HELP_STRING([--disable-cytune], [do not build cytune]),
034d378b 824 [], [enable_cytune=check]
78cdc254
KZ
825)
826UL_BUILD_INIT([cytune])
827UL_REQUIRES_LINUX([cytune])
034d378b 828AM_CONDITIONAL([BUILD_CYTUNE], [test "x$build_cytune" = xyes])
78cdc254
KZ
829
830
1dbbde66
KZ
831AC_ARG_ENABLE([fsck],
832 AS_HELP_STRING([--disable-fsck], [do not build fsck]),
034d378b 833 [], [enable_fsck=check]
1dbbde66 834)
61a074f7 835UL_BUILD_INIT([fsck])
a7b585ea 836UL_REQUIRES_BUILD([fsck], [libmount])
034d378b 837AM_CONDITIONAL([BUILD_FSCK], [test "x$build_fsck" = xyes])
1dbbde66
KZ
838
839
840AC_ARG_ENABLE([partx],
841 AS_HELP_STRING([--disable-partx], [do not build addpart, delpart, partx]),
034d378b 842 [], [enable_partx=check]
1dbbde66 843)
61a074f7 844UL_BUILD_INIT([partx])
ecde2536
KZ
845UL_REQUIRES_LINUX([partx])
846UL_REQUIRES_BUILD([partx], [libblkid])
034d378b 847AM_CONDITIONAL([BUILD_PARTX], [test "x$build_partx" = xyes])
1dbbde66
KZ
848
849
1dbbde66
KZ
850AC_ARG_ENABLE([uuidd],
851 AS_HELP_STRING([--disable-uuidd], [do not build the uuid daemon]),
034d378b 852 [], [enable_uuidd=check]
1dbbde66 853)
61a074f7 854UL_BUILD_INIT([uuidd])
bcdab497 855UL_REQUIRES_BUILD([uuidd], [libuuid])
3013eb9d 856AS_IF([test "x$build_uuidd" = xyes], [
034d378b 857 AC_DEFINE([HAVE_UUIDD], [1], [Define to 1 if you want to use uuid daemon.])
3013eb9d 858])
034d378b 859AM_CONDITIONAL([BUILD_UUIDD], [test "x$build_uuidd" = xyes])
1dbbde66
KZ
860
861
0164c245 862AC_ARG_ENABLE([mountpoint],
2023ccc4 863 AS_HELP_STRING([--disable-mountpoint], [do not build mountpoint]),
034d378b 864 [], [enable_mountpoint=check]
0164c245 865)
61a074f7 866UL_BUILD_INIT([mountpoint])
a9127bc1 867UL_REQUIRES_BUILD([mountpoint], [libmount])
034d378b 868AM_CONDITIONAL([BUILD_MOUNTPOINT], [test "x$build_mountpoint" = xyes])
0164c245
KZ
869
870
10e56b49
KZ
871AC_ARG_ENABLE([fallocate],
872 AS_HELP_STRING([--disable-fallocate], [do not build fallocate]),
034d378b 873 [], [enable_fallocate=check]
10e56b49 874)
61a074f7 875UL_BUILD_INIT([fallocate])
10e56b49
KZ
876UL_REQUIRES_LINUX([fallocate])
877UL_REQUIRES_SYSCALL_CHECK([fallocate], [UL_CHECK_SYSCALL([fallocate])])
034d378b 878AM_CONDITIONAL([BUILD_FALLOCATE], [test "x$build_fallocate" = xyes])
10e56b49 879
3013eb9d 880AS_IF([test "x$build_fallocate" = xyes], [
10e56b49
KZ
881 dnl check for valid fallocate() function
882 dnl with 32 bits glibc 2.10, fallocate() exists but not fallocate64()
883 dnl when _FILE_OFFSET_BITS==64, fallocate() is redirect to fallocate64()
884 dnl and program can't be linked.
885 dnl AC_CHECK_FUNC can't catch such errors since it's redefining
886 dnl function prototype.
887 AC_MSG_CHECKING([for valid fallocate() function])
888 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
b832c2fe
YD
889#ifdef HAVE_UNISTD_H
890# include <unistd.h>
891#endif
892#ifdef HAVE_SYS_TYPES_H
893# include <sys/types.h>
894#endif
895#ifdef HAVE_LINUX_FALLOC_H
896# include <linux/falloc.h>
897#endif
898#ifdef HAVE_FCNTL_H
899# include <fcntl.h>
900#endif
901]],[[
902 long ret;
b832c2fe 903 ret = fallocate(0, FALLOC_FL_KEEP_SIZE, 0xfffffffful, 0xfffffffful);
b832c2fe
YD
904 if (ret != 0) {
905 return 1;
906 }
907 ]])],[
10e56b49 908 AC_MSG_RESULT([yes])
034d378b 909 AC_DEFINE([HAVE_FALLOCATE], [1], [Have valid fallocate() function])],[
10e56b49 910 AC_MSG_RESULT([no])])
3013eb9d 911])
10e56b49 912
19a224ad 913
a2ea6670
KZ
914AC_ARG_ENABLE([unshare],
915 AS_HELP_STRING([--disable-unshare], [do not build unshare]),
034d378b 916 [], [enable_unshare=check]
a2ea6670 917)
61a074f7 918UL_BUILD_INIT([unshare])
a2ea6670
KZ
919UL_REQUIRES_LINUX([unshare])
920UL_REQUIRES_SYSCALL_CHECK([unshare], [UL_CHECK_SYSCALL([unshare])])
034d378b 921AM_CONDITIONAL([BUILD_UNSHARE], [test "x$build_unshare" = xyes])
bdd384d1 922AC_CHECK_FUNCS([unshare])
b3425806 923
f8aa8e94
EB
924AC_ARG_ENABLE([nsenter],
925 AS_HELP_STRING([--disable-nsenter], [do not build nsenter]),
034d378b 926 [], [enable_nsenter=check]
f8aa8e94
EB
927)
928UL_BUILD_INIT([nsenter])
929UL_REQUIRES_LINUX([nsenter])
6cd4beac 930UL_REQUIRES_SYSCALL_CHECK([nsenter], [UL_CHECK_SYSCALL([setns])], [setns])
034d378b 931AM_CONDITIONAL([BUILD_NSENTER], [test "x$build_nsenter" = xyes])
bdd384d1 932AC_CHECK_FUNCS([setns])
b3425806 933
5600c405
AL
934dnl setpriv depends on libcap-ng. It would be possible to build
935dnl a version of setpriv with limited functionality without libcap-ng,
936dnl but this isn't currently supported.
937UL_CHECK_LIB([cap-ng], [capng_apply], [cap_ng])
938AC_ARG_ENABLE([setpriv],
939 AS_HELP_STRING([--disable-setpriv], [do not build setpriv]),
034d378b 940 [], [enable_setpriv=check]
5600c405
AL
941)
942UL_BUILD_INIT([setpriv])
943UL_REQUIRES_LINUX([setpriv])
48469f90 944UL_REQUIRES_HAVE([setpriv], [linux_securebits_h], [securebits.h header file])
e1b8ba20 945UL_REQUIRES_HAVE([setpriv], [cap_ng], [libcap-ng library])
034d378b 946AM_CONDITIONAL([BUILD_SETPRIV], [test "x$build_setpriv" = xyes])
5600c405
AL
947
948
539feec1
ML
949AC_ARG_ENABLE([eject],
950 AS_HELP_STRING([--disable-eject], [do not build eject]),
034d378b 951 [], [enable_eject=check]
539feec1
ML
952)
953UL_BUILD_INIT([eject])
954UL_REQUIRES_LINUX([eject])
7770e7df 955UL_REQUIRES_BUILD([eject], [libmount])
034d378b 956AM_CONDITIONAL([BUILD_EJECT], [test "x$build_eject" = xyes])
539feec1
ML
957
958
48d7b13a 959AC_ARG_ENABLE([agetty],
7fa4f112 960 AS_HELP_STRING([--disable-agetty], [do not build agetty]),
034d378b 961 [], [enable_agetty=yes]
48d7b13a 962)
61a074f7 963UL_BUILD_INIT([agetty])
034d378b 964AM_CONDITIONAL([BUILD_AGETTY], [test "x$build_agetty" = xyes])
0fc74be1 965
48d7b13a 966
9cb68977 967AC_ARG_ENABLE([cramfs],
7fa4f112 968 AS_HELP_STRING([--disable-cramfs], [do not build fsck.cramfs, mkfs.cramfs]),
034d378b 969 [], [enable_cramfs=check]
9cb68977 970)
61a074f7 971UL_BUILD_INIT([cramfs])
034d378b 972AC_CHECK_LIB([z], [crc32], [have_z=yes], [have_z=no])
d81b5a52 973UL_REQUIRES_HAVE([cramfs], [z], [z library])
034d378b 974AM_CONDITIONAL([BUILD_CRAMFS], [test "x$build_cramfs" = xyes])
9cb68977 975
a13cdb7a 976
8d6f0bae 977AC_ARG_ENABLE([bfs],
834fc88c 978 AS_HELP_STRING([--disable-bfs], [do not build mkfs.bfs]),
034d378b 979 [], [enable_bfs=yes]
834fc88c
KZ
980)
981UL_BUILD_INIT([bfs])
034d378b 982AM_CONDITIONAL([BUILD_BFS], [test "x$build_bfs" = xyes])
834fc88c
KZ
983
984
8d6f0bae
KZ
985AC_ARG_ENABLE([fdformat],
986 AS_HELP_STRING([--disable-fdformat], [do not build fdformat]),
034d378b 987 [], [enable_fdformat=check]
8d6f0bae
KZ
988)
989UL_BUILD_INIT([fdformat])
990UL_REQUIRES_LINUX([fdformat])
034d378b 991AM_CONDITIONAL([BUILD_FDFORMAT], [test "x$build_fdformat" = xyes])
8d6f0bae
KZ
992
993
6acf31ac
KZ
994AC_ARG_ENABLE([hwclock],
995 AS_HELP_STRING([--disable-hwclock], [do not build hwclock]),
034d378b 996 [], [enable_hwclock=check]
6acf31ac
KZ
997)
998have_linuxdummy=$linux_os
999
1000UL_BUILD_INIT([hwclock])
1001UL_REQUIRES_HAVE([hwclock], [io, linuxdummy], [ioperm iopl function or Linux])
034d378b 1002AM_CONDITIONAL([BUILD_HWCLOCK], [test "x$build_hwclock" = xyes])
e09ebf22
KZ
1003
1004
143635c9
KZ
1005UL_BUILD_INIT([swapon], [check])
1006UL_REQUIRES_LINUX([swapon])
1007UL_REQUIRES_BUILD([swapon], [libblkid])
7770e7df 1008UL_REQUIRES_BUILD([swapon], [libmount])
034d378b 1009AM_CONDITIONAL([BUILD_SWAPON], [test "x$build_swapon" = xyes])
143635c9
KZ
1010
1011
61a074f7 1012UL_BUILD_INIT([lsblk], [check])
a13cdb7a
KZ
1013UL_REQUIRES_LINUX([lsblk])
1014UL_REQUIRES_BUILD([lsblk], [libblkid])
9554f7ab 1015UL_REQUIRES_BUILD([lsblk], [libmount])
034d378b 1016AM_CONDITIONAL([BUILD_LSBLK], [test "x$build_lsblk" = xyes])
9cb68977 1017
a3d3b770 1018
61a074f7 1019UL_BUILD_INIT([lscpu], [check])
da396d88
KZ
1020UL_REQUIRES_LINUX([lscpu])
1021UL_REQUIRES_HAVE([lscpu], [cpu_set_t], [cpu_set_t type])
034d378b 1022AM_CONDITIONAL([BUILD_LSCPU], [test "x$build_lscpu" = xyes])
da396d88 1023
a3d3b770 1024
61a074f7 1025UL_BUILD_INIT([chcpu], [check])
da396d88
KZ
1026UL_REQUIRES_LINUX([chcpu])
1027UL_REQUIRES_HAVE([chcpu], [cpu_set_t], [cpu_set_t type])
034d378b 1028AM_CONDITIONAL([BUILD_CHCPU], [test "x$build_chcpu" = xyes])
da396d88 1029
a13cdb7a 1030
7fcccbdf
KZ
1031AC_ARG_ENABLE([wdctl],
1032 AS_HELP_STRING([--disable-wdctl], [do not build wdctl]),
034d378b 1033 [], [enable_wdctl=check]
7fcccbdf
KZ
1034)
1035UL_BUILD_INIT([wdctl])
5b0289b9
KZ
1036UL_REQUIRES_LINUX([wdctl])
1037UL_REQUIRES_HAVE([wdctl], [linux_watchdog_h], [linux/watchdog.h header file])
034d378b 1038AM_CONDITIONAL([BUILD_WDCTL], [test "x$build_wdctl" = xyes])
5b0289b9
KZ
1039
1040
54dbc8cf
KZ
1041UL_BUILD_INIT([swaplabel], [check])
1042UL_REQUIRES_BUILD([swaplabel], [libblkid])
034d378b 1043AM_CONDITIONAL([BUILD_SWAPLABEL], [test "x$build_swaplabel" = xyes])
54dbc8cf
KZ
1044
1045
945ac250
KZ
1046UL_BUILD_INIT([prlimit], [check])
1047UL_REQUIRES_LINUX([prlimit])
1048UL_REQUIRES_SYSCALL_CHECK([prlimit], [UL_CHECK_SYSCALL([prlimit64])], [prlimit64])
034d378b 1049AM_CONDITIONAL([BUILD_PRLIMIT], [test "x$build_prlimit" = xyes])
3013eb9d 1050AS_IF([test "x$build_prlimit" = xyes], [
945ac250 1051 AC_CHECK_FUNCS([prlimit])
3013eb9d 1052])
945ac250
KZ
1053
1054
3dc02ef4
DB
1055UL_BUILD_INIT([lslocks], [check])
1056UL_REQUIRES_LINUX([lslocks])
ec1204dc 1057UL_REQUIRES_BUILD([lslocks], [libmount])
034d378b 1058AM_CONDITIONAL([BUILD_LSLOCKS], [test "x$build_lslocks" = xyes])
3dc02ef4
DB
1059
1060
bd671347
KZ
1061AC_ARG_ENABLE([switch_root],
1062 AS_HELP_STRING([--disable-switch_root], [do not build switch_root]),
034d378b 1063 [], [enable_switch_root=check]
bd671347 1064)
61a074f7 1065UL_BUILD_INIT([switch_root])
a3d3b770
KZ
1066UL_REQUIRES_LINUX([switch_root])
1067UL_REQUIRES_HAVE([switch_root], [openat], [openat function])
034d378b 1068AM_CONDITIONAL([BUILD_SWITCH_ROOT], [test "x$build_switch_root" = xyes])
bd671347
KZ
1069
1070
11125e7a
KZ
1071AC_ARG_ENABLE([pivot_root],
1072 AS_HELP_STRING([--disable-pivot_root], [do not build pivot_root]),
034d378b 1073 [], [enable_pivot_root=check]
11125e7a 1074)
61a074f7 1075UL_BUILD_INIT([pivot_root])
9f632667
KZ
1076UL_REQUIRES_LINUX([switch_root])
1077UL_REQUIRES_SYSCALL_CHECK([pivot_root], [UL_CHECK_SYSCALL([pivot_root])])
034d378b 1078AM_CONDITIONAL([BUILD_PIVOT_ROOT], [test "x$build_pivot_root" = xyes])
11125e7a
KZ
1079
1080
1342ffcb
SK
1081AC_ARG_ENABLE([tunelp],
1082 AS_HELP_STRING([--enable-tunelp], [build tunelp]),
034d378b 1083 [], [enable_tunelp=no]
1342ffcb
SK
1084)
1085UL_BUILD_INIT([tunelp])
1086UL_REQUIRES_LINUX([tunelp])
034d378b 1087AM_CONDITIONAL([BUILD_TUNELP], [test "x$build_tunelp" = xyes])
1342ffcb
SK
1088
1089
48d7b13a 1090AC_ARG_ENABLE([kill],
4be753aa 1091 AS_HELP_STRING([--disable-kill], [do not build kill]),
034d378b 1092 [], [enable_kill=check]
48d7b13a 1093)
61a074f7 1094UL_BUILD_INIT([kill])
4be753aa 1095UL_REQUIRES_LINUX([kill])
034d378b 1096AM_CONDITIONAL([BUILD_KILL], [test "x$build_kill" = xyes])
48d7b13a
KZ
1097
1098
ce602720
OO
1099AC_ARG_ENABLE([deprecated-last],
1100 AS_HELP_STRING([--enable-deprecated-last], [build old deprecated last]),
1101 [], [enable_deprecated_last=no]
1102)
1103UL_BUILD_INIT([deprecated_last])
ce602720
OO
1104AM_CONDITIONAL([BUILD_DEPRECATED_LAST], [test "x$build_deprecated_last" = xyes])
1105
1106
48d7b13a 1107AC_ARG_ENABLE([last],
ce602720 1108 AS_HELP_STRING([--disable-last], [do not build last]),
4d1d1233 1109 [], [enable_last=check]
48d7b13a 1110)
61a074f7 1111UL_BUILD_INIT([last])
4d1d1233 1112UL_CONFLICTS_BUILD([last], [deprecated_last], [old deprecated last version])
034d378b 1113AM_CONDITIONAL([BUILD_LAST], [test "x$build_last" = xyes])
2dc68529 1114
48d7b13a 1115
78d5ceac 1116AC_ARG_ENABLE([utmpdump],
c9b53461 1117 AS_HELP_STRING([--disable-utmpdump], [do not build utmpdump]),
034d378b 1118 [], [enable_utmpdump=yes]
78d5ceac
KZ
1119)
1120UL_BUILD_INIT([utmpdump])
034d378b 1121AM_CONDITIONAL([BUILD_UTMPDUMP], [test "x$build_utmpdump" = xyes])
78d5ceac
KZ
1122
1123
c135a8bd
SK
1124AC_ARG_ENABLE([line],
1125 AS_HELP_STRING([--enable-line], [build line]),
034d378b 1126 [], [enable_line=no]
c135a8bd 1127)
61a074f7 1128UL_BUILD_INIT([line])
034d378b 1129AM_CONDITIONAL([BUILD_LINE], [test "x$build_line" = xyes])
2dc68529 1130
48d7b13a
KZ
1131
1132AC_ARG_ENABLE([mesg],
1cc62b35
KZ
1133 AS_HELP_STRING([--disable-mesg], [do not build mesg]),
1134 [], [enable_mesg=yes]
48d7b13a 1135)
61a074f7 1136UL_BUILD_INIT([mesg])
034d378b 1137AM_CONDITIONAL([BUILD_MESG], [test "x$build_mesg" = xyes])
48d7b13a
KZ
1138
1139
48d7b13a 1140AC_ARG_ENABLE([raw],
53b22add 1141 AS_HELP_STRING([--disable-raw], [do not build raw]),
034d378b 1142 [], [enable_raw=check]
48d7b13a 1143)
61a074f7 1144UL_BUILD_INIT([raw])
16ba8d58
KZ
1145UL_REQUIRES_LINUX([raw])
1146UL_REQUIRES_HAVE([raw], [linux_raw_h], [raw.h header file])
034d378b 1147AM_CONDITIONAL([BUILD_RAW], [test "x$build_raw" = xyes])
48d7b13a
KZ
1148
1149
48d7b13a 1150AC_ARG_ENABLE([rename],
7fa4f112 1151 AS_HELP_STRING([--disable-rename], [do not build rename]),
034d378b 1152 [], [enable_rename=yes]
48d7b13a 1153)
61a074f7 1154UL_BUILD_INIT([rename])
034d378b 1155AM_CONDITIONAL([BUILD_RENAME], [test "x$build_rename" = xyes])
48d7b13a
KZ
1156
1157
1158AC_ARG_ENABLE([reset],
7fa4f112 1159 AS_HELP_STRING([--enable-reset], [build reset]),
034d378b 1160 [], [enable_reset=no]
48d7b13a 1161)
61a074f7 1162UL_BUILD_INIT([reset])
034d378b 1163AM_CONDITIONAL([BUILD_RESET], [test "x$build_reset" = xyes])
48d7b13a
KZ
1164
1165
cc76731e
KZ
1166AC_ARG_ENABLE([vipw],
1167 AS_HELP_STRING([--enable-vipw], [build vipw]),
034d378b 1168 [], [enable_vipw=no]
48d7b13a 1169)
cc76731e 1170UL_BUILD_INIT([vipw])
034d378b 1171AM_CONDITIONAL([BUILD_VIPW], [test "x$build_vipw" = xyes])
9cb68977 1172
c94b3604 1173
aec9ecbd
KZ
1174AC_ARG_ENABLE([newgrp],
1175 AS_HELP_STRING([--enable-newgrp], [build newgrp]),
034d378b 1176 [], [enable_newgrp=no]
aec9ecbd
KZ
1177)
1178UL_BUILD_INIT([newgrp])
034d378b 1179AM_CONDITIONAL([BUILD_NEWGRP], [test "x$build_newgrp" = xyes])
aec9ecbd
KZ
1180
1181
d86918b6 1182AC_ARG_WITH([user], AS_HELP_STRING([--without-user], [compile without libuser (remote chsh)]),
034d378b 1183 [], [with_user=check]
7e4714f2 1184)
6e93c52f 1185have_user=no
3013eb9d 1186AS_IF([test "x$with_user" != xno], [
2771954b 1187 PKG_CHECK_MODULES(LIBUSER,[libuser >= 0.58], [have_user=yes], [have_user=no])
9f57e6e8
SK
1188 AS_CASE([$with_user:$have_user],
1189 [yes:no],
1190 [AC_MSG_ERROR([user selected but libuser not found])],
1191 [*:yes],
1192 [AC_DEFINE([HAVE_LIBUSER], [1], [Define if libuser is available])]
1193 )
1f6ec24c
KZ
1194 # temporary solution, libuser has stupid .pc where are exported all
1195 # private dependencies to Requires: instead of Requires.private:
3013eb9d 1196 AS_IF([test "x$have_user" = xyes], [
1f6ec24c 1197 LIBUSER_LIBS=-luser
3013eb9d
SK
1198 ])
1199])
034d378b 1200AM_CONDITIONAL([HAVE_USER], [test "x$have_user" = xyes])
7e4714f2 1201
d86918b6
KZ
1202AC_ARG_ENABLE([chfn-chsh-password],
1203 AS_HELP_STRING([--disable-chfn-chsh-password], [do not require the user to enter the password in chfn and chsh]),
034d378b 1204 [], [enable_chfn_chsh_password=yes]
d86918b6
KZ
1205)
1206
1207AC_ARG_ENABLE([chfn-chsh],
1208 AS_HELP_STRING([--enable-chfn-chsh], [build chfn and chsh]),
034d378b 1209 [], [enable_chfn_chsh=no]
d86918b6
KZ
1210)
1211UL_BUILD_INIT([chfn_chsh])
1212
3013eb9d 1213AS_IF([test "x$enable_chfn_chsh_password" = xyes -o "x$have_user" = xyes], [
d86918b6 1214 UL_REQUIRES_HAVE([chfn_chsh], [security_pam_misc_h], [PAM header file])
034d378b 1215 AC_DEFINE([CHFN_CHSH_PASSWORD], [1], [Should chfn and chsh require the user to enter the password?])
3013eb9d 1216])
034d378b
SK
1217AM_CONDITIONAL([BUILD_CHFN_CHSH], [test "x$build_chfn_chsh" = xyes])
1218AM_CONDITIONAL([CHFN_CHSH_PASSWORD], [test "x$enable_chfn_chsh_password" = xyes])
d86918b6
KZ
1219
1220AC_ARG_ENABLE([chsh-only-listed],
1221AS_HELP_STRING([--disable-chsh-only-listed], [chsh: allow shells not in /etc/shells]),
1222[], enable_chsh_only_listed=yes
1223)
7e4714f2 1224
3013eb9d
SK
1225AS_IF([test "x$enable_chsh_only_listed" = xyes], [
1226 AC_DEFINE([ONLY_LISTED_SHELLS], [1], [Should chsh allow only shells in /etc/shells?])
1227])
71681ee5 1228
2c8a3e16 1229
e7614a07
KZ
1230AC_ARG_ENABLE([login],
1231 AS_HELP_STRING([--disable-login], [do not build login]),
034d378b 1232 [], [enable_login=check]
e7614a07
KZ
1233)
1234UL_BUILD_INIT([login])
1235UL_REQUIRES_HAVE([login], [security_pam_misc_h], [PAM header file])
034d378b 1236AM_CONDITIONAL([BUILD_LOGIN], [test "x$build_login" = xyes])
e7614a07 1237
71681ee5
KZ
1238AC_ARG_ENABLE([login-chown-vcs],
1239 AS_HELP_STRING([--enable-login-chown-vcs], [let login chown /dev/vcsN]),
034d378b 1240 [], [enable_login_chown_vcs=no]
71681ee5
KZ
1241)
1242
3013eb9d 1243AS_IF([test "x$enable_login_chown_vcs" = xyes], [
034d378b 1244 AC_DEFINE([LOGIN_CHOWN_VCS], [1], [Should login chown /dev/vcsN?])
3013eb9d 1245])
71681ee5
KZ
1246
1247AC_ARG_ENABLE([login-stat-mail],
1248 AS_HELP_STRING([--enable-login-stat-mail], [let login stat() the mailbox]),
034d378b 1249 [], [enable_login_stat_mail=no]
71681ee5
KZ
1250)
1251
3013eb9d 1252AS_IF([test "x$enable_login_stat_mail" = xyes], [
034d378b 1253 AC_DEFINE([LOGIN_STAT_MAIL], [1], [Should login stat() the mailbox?])
3013eb9d 1254])
71681ee5 1255
e7614a07 1256
88407b93
KZ
1257AC_ARG_ENABLE([nologin],
1258 AS_HELP_STRING([--disable-nologin], [do not build nologin]),
1259 [], [enable_nologin=yes]
1260)
1261UL_BUILD_INIT([nologin])
1262AM_CONDITIONAL([BUILD_NOLOGIN], [test "x$build_nologin" = xyes])
1263
1264
e7614a07
KZ
1265AC_ARG_ENABLE([sulogin],
1266 AS_HELP_STRING([--disable-sulogin], [do not build sulogin]),
034d378b 1267 [], [enable_sulogin=yes]
e7614a07
KZ
1268)
1269UL_BUILD_INIT([sulogin])
034d378b 1270AM_CONDITIONAL([BUILD_SULOGIN], [test "x$build_sulogin" = xyes])
e7614a07 1271
f17f5f48 1272
ff4c5555
KZ
1273AC_ARG_ENABLE([su],
1274 AS_HELP_STRING([--disable-su], [do not build su]),
034d378b 1275 [], [enable_su=check]
ff4c5555
KZ
1276)
1277UL_BUILD_INIT([su])
1278UL_REQUIRES_HAVE([su], [security_pam_misc_h], [PAM header file])
034d378b 1279AM_CONDITIONAL([BUILD_SU], [test "x$build_su" = xyes])
ff4c5555
KZ
1280
1281
7ec6adb1
KZ
1282AC_ARG_ENABLE([runuser],
1283 AS_HELP_STRING([--disable-runuser], [do not build runuser]),
034d378b 1284 [], [enable_runuser=check]
7ec6adb1
KZ
1285)
1286UL_BUILD_INIT([runuser])
1287UL_REQUIRES_HAVE([runuser], [security_pam_misc_h], [PAM header file])
034d378b 1288AM_CONDITIONAL([BUILD_RUNUSER], [test "x$build_runuser" = xyes])
7ec6adb1
KZ
1289
1290
53b22add
KZ
1291AC_ARG_ENABLE([ul],
1292 AS_HELP_STRING([--disable-ul], [do not build ul]),
034d378b 1293 [], [enable_ul=check]
53b22add
KZ
1294)
1295UL_BUILD_INIT([ul])
1296UL_REQUIRES_HAVE([ul], [ncurses, tinfo], [ncurses or tinfo libraries])
034d378b 1297AM_CONDITIONAL([BUILD_UL], [test "x$build_ul" = xyes])
53b22add
KZ
1298
1299
1300AC_ARG_ENABLE([more],
1301 AS_HELP_STRING([--disable-more], [do not build more]),
034d378b 1302 [], [enable_more=check]
53b22add
KZ
1303)
1304UL_BUILD_INIT([more])
1305UL_REQUIRES_HAVE([more], [ncurses, tinfo, termcap], [ncurses, tinfo or termcap libraries])
034d378b 1306AM_CONDITIONAL([BUILD_MORE], [test "x$build_more" = xyes])
53b22add
KZ
1307
1308
1309AC_ARG_ENABLE([pg],
1310 AS_HELP_STRING([--disable-pg], [do not build pg]),
034d378b 1311 [], [enable_pg=check]
53b22add
KZ
1312)
1313UL_BUILD_INIT([pg])
1314UL_REQUIRES_HAVE([pg], [ncurses], [ncurses or ncursesw library])
034d378b 1315AM_CONDITIONAL([BUILD_PG], [test "x$build_pg" = xyes])
53b22add
KZ
1316
1317
d78d0409
KZ
1318AC_ARG_ENABLE([setterm],
1319 AS_HELP_STRING([--disable-setterm], [do not build setterm]),
034d378b 1320 [], [enable_setterm=check]
d78d0409
KZ
1321)
1322UL_BUILD_INIT([setterm])
1323UL_REQUIRES_LINUX([setterm])
1324UL_REQUIRES_HAVE([setterm], [ncurses], [ncurses library])
034d378b 1325AM_CONDITIONAL([BUILD_SETTERM], [test "x$build_setterm" = xyes])
d78d0409
KZ
1326
1327
48d7b13a 1328AC_ARG_ENABLE([schedutils],
34228e69 1329 AS_HELP_STRING([--disable-schedutils], [do not build chrt, ionice, taskset]),
034d378b 1330 [], [enable_schedutils=yes]
48d7b13a 1331)
61a074f7 1332UL_BUILD_INIT([schedutils])
034d378b 1333AM_CONDITIONAL([BUILD_SCHEDUTILS], [test "x$build_schedutils" = xyes])
17d5e11b 1334
61a074f7 1335UL_BUILD_INIT([ionice], [check])
17d5e11b
KZ
1336UL_REQUIRES_BUILD([ionice], [schedutils])
1337UL_REQUIRES_SYSCALL_CHECK([ionice],
1338 [UL_CHECK_SYSCALL([ioprio_set],
f06b4328
SK
1339 [alpha], [442],
1340 [i*86], [289],
1341 [ia64*], [1274],
1342 [powerpc*], [273],
1343 [s390*], [282],
1344 [sparc*], [196],
1345 [sh*], [288],
1346 [x86_64*], [251])],
17d5e11b
KZ
1347 [ioprio_set])
1348
1349UL_REQUIRES_SYSCALL_CHECK([ionice],
1350 [UL_CHECK_SYSCALL([ioprio_get],
f06b4328
SK
1351 [alpha], [443],
1352 [i*86], [290],
1353 [ia64*], [1275],
1354 [powerpc*], [274],
1355 [s390*], [283],
1356 [sparc*], [218],
1357 [sh*], [289],
1358 [x86_64*], [252])],
17d5e11b
KZ
1359 [ioprio_get])
1360
034d378b 1361AM_CONDITIONAL([BUILD_IONICE], [test "x$build_ionice" = xyes])
17d5e11b 1362
61a074f7 1363UL_BUILD_INIT([taskset], [check])
17d5e11b 1364UL_REQUIRES_BUILD([taskset], [schedutils])
e21e6d26 1365UL_REQUIRES_HAVE([taskset], [cpu_set_t], [cpu_set_t type])
17d5e11b
KZ
1366UL_REQUIRES_SYSCALL_CHECK([taskset],
1367 [UL_CHECK_SYSCALL([sched_getaffinity])],
1368 [sched_getaffinity])
034d378b 1369AM_CONDITIONAL([BUILD_TASKSET], [test "x$build_taskset" = xyes])
48d7b13a
KZ
1370
1371
1372AC_ARG_ENABLE([wall],
7fa4f112 1373 AS_HELP_STRING([--disable-wall], [do not build wall]),
034d378b 1374 [], [enable_wall=yes]
48d7b13a 1375)
8fc8888b 1376UL_BUILD_INIT([wall])
034d378b 1377AM_CONDITIONAL([BUILD_WALL], [test "x$build_wall" = xyes])
48d7b13a
KZ
1378
1379
1380AC_ARG_ENABLE([write],
7fa4f112 1381 AS_HELP_STRING([--enable-write], [build write]),
034d378b 1382 [], [enable_write=no]
48d7b13a 1383)
61a074f7 1384UL_BUILD_INIT([write])
034d378b 1385AM_CONDITIONAL([BUILD_WRITE], [test "x$build_write" = xyes])
48d7b13a
KZ
1386
1387
bbe289c4
PU
1388AC_ARG_ENABLE([socket-activation],
1389 AS_HELP_STRING([--enable-socket-activation], [build uuidd with support for systemd socket activation]),
034d378b 1390 [], [enable_socket_activation=no]
bbe289c4 1391)
ea45d34c 1392have_systemd_daemon=no
3013eb9d 1393AS_IF([test "x$enable_socket_activation" = xyes], [
ea45d34c
SK
1394 PKG_CHECK_MODULES([SYSTEMD_DAEMON], [libsystemd-daemon], [], [
1395 AC_MSG_ERROR([cannot find libsystemd-daemon support])
1396 ])
1397 have_systemd_daemon=yes
1398 AC_DEFINE([HAVE_LIBSYSTEMD_DAEMON], [1], [Define if libsystemd-daemon is available])
3013eb9d 1399])
ea45d34c 1400AM_CONDITIONAL([HAVE_SYSTEMD_DAEMON], [test "x$have_systemd_daemon" = xyes])
bbe289c4 1401
1b68c379
PU
1402AC_ARG_WITH([systemdsystemunitdir],
1403 AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [directory for systemd service files]),
c8498f2f 1404 [], [with_systemdsystemunitdir=`$PKG_CONFIG --variable=systemdsystemunitdir systemd`])
1b68c379 1405
3013eb9d 1406AS_IF([test "x$with_systemdsystemunitdir" != "xno"], [
1b68c379 1407 AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
3013eb9d 1408])
1b68c379 1409
bbe289c4 1410
b8095d25
KZ
1411AC_ARG_WITH([smack],
1412 AS_HELP_STRING([--with-smack], [build with SMACK support]),
1413 [], [with_smack=no]
1414)
1415AS_IF([test "x$with_smack" = xyes], [
1416 AC_DEFINE([HAVE_SMACK], [1], [Add SMACK support])
1417])
1418
1419
9cc36e9f
SK
1420AC_ARG_WITH([bashcompletiondir],
1421 AS_HELP_STRING([--with-bashcompletiondir=DIR], [Bash completions directory]),
1422 [],
c8498f2f
SK
1423 [AS_IF([`$PKG_CONFIG --exists bash-completion`], [
1424 with_bashcompletiondir=`$PKG_CONFIG --variable=completionsdir bash-completion`
9cc36e9f
SK
1425 ], [
1426 with_bashcompletiondir=${datadir}/bash-completion/completions
1427 ])
1428])
1429AC_SUBST([bashcompletiondir], [$with_bashcompletiondir])
1430
ece777e9
KZ
1431AC_ARG_ENABLE([bash-completion],
1432 AS_HELP_STRING([--disable-bash-completion], [do not install bash completion files]),
034d378b 1433 [], [enable_bash_completion=yes]
ece777e9
KZ
1434)
1435
034d378b 1436AM_CONDITIONAL([BUILD_BASH_COMPLETION], [test "x$enable_bash_completion" = xyes])
ece777e9 1437
9cc36e9f 1438
d78df0ac 1439AC_ARG_WITH([python],
3745d4a9
KZ
1440 AS_HELP_STRING([--with-python], [generate python bindings, use --with-python={2,3} to force version]),
1441 [], [with_python=no]
d78df0ac 1442)
8e5c4675 1443
d78df0ac 1444have_python=no
8e5c4675
KZ
1445AS_IF([test "x$with_python" != xno], [
1446 # We follow distributions default and look for PKG module name "python"
1447 # (minimal version is 2) but if major version is explicitly specified by
1448 # --with-python=2 or --with-python=3 then we look for PKG module "python2" or
1449 # "python3".
0b567ae5
SK
1450 AS_IF([test "x$withval" != xno -a "x$withval" != xyes],
1451 [pymajor="$withval"; PYTHON=python${pymajor}], [pymajor="2"])
1452 AM_PATH_PYTHON([$pymajor], [have_python=yes], [have_python=no])
8e5c4675
KZ
1453 AS_CASE([$with_python:$have_python],
1454 [yes:no],
0b567ae5 1455 [AC_MSG_ERROR([python selected but libpython not found])]
8e5c4675 1456 )
0b567ae5 1457 PKG_CHECK_MODULES([PYTHON], [python-$PYTHON_VERSION])
d924b10b
KZ
1458
1459 UL_BUILD_INIT([pylibmount], [check])
1460 UL_REQUIRES_HAVE([pylibmount], [python], [libpython])
1461 UL_REQUIRES_BUILD([pylibmount], [libmount])
d78df0ac
KZ
1462])
1463
d78df0ac
KZ
1464AM_CONDITIONAL([BUILD_PYLIBMOUNT], [test "x$build_pylibmount" = "xyes"])
1465
1466
48d7b13a 1467AC_ARG_ENABLE([pg-bell],
7fa4f112 1468 AS_HELP_STRING([--disable-pg-bell], [let pg not ring the bell on invalid keys]),
034d378b 1469 [], [enable_pg_bell=yes]
48d7b13a
KZ
1470)
1471
3013eb9d 1472AS_IF([test "x$enable_pg_bell" = xyes], [
034d378b 1473 AC_DEFINE([PG_BELL], [1], [Should pg ring the bell on invalid keys?])
3013eb9d 1474])
48d7b13a
KZ
1475
1476
bb4cb69d
MF
1477AC_DEFUN([FS_PATHS_DEFAULT], [/sbin:/sbin/fs.d:/sbin/fs])
1478AC_ARG_ENABLE([fs-paths-default],
1479 AS_HELP_STRING([--enable-fs-paths-default=paths], [default search path for fs helpers @<:@FS_PATHS_DEFAULT@:>@]),
9f57e6e8
SK
1480 [AS_CASE([$enableval],
1481 [yes], [fs_paths_defaults="FS_PATHS_DEFAULT"],
1482 [no], [fs_paths_defaults=""],
1483 [fs_paths_defaults="$enableval"]
1484 )],
bb4cb69d
MF
1485 [fs_paths_defaults="FS_PATHS_DEFAULT"]
1486)
1487AC_ARG_ENABLE([fs-paths-extra],
1488 AS_HELP_STRING([--enable-fs-paths-extra=paths], [additional search paths for fs helpers]),
9f57e6e8
SK
1489 [AS_CASE([$enableval],
1490 [yes|no], [fs_paths_extra=""],
1491 [fs_paths_extra="$enableval"]
1492 )],
bb4cb69d
MF
1493 [fs_paths_extra=""]
1494)
1495fs_paths="$fs_paths_defaults"
3013eb9d
SK
1496AS_IF([test "x$fs_paths_extra" != "x"], [
1497 AS_IF([test "x$fs_paths" != "x"], [
bb4cb69d 1498 fs_paths="${fs_paths}:"
3013eb9d 1499 ])
bb4cb69d 1500 fs_paths="${fs_paths}${fs_paths_extra}"
3013eb9d 1501])
bb4cb69d
MF
1502AC_DEFINE_UNQUOTED([FS_SEARCH_PATH], "$fs_paths", [search path for fs helpers])
1503
1504
48d7b13a 1505AC_ARG_ENABLE([use-tty-group],
7fa4f112 1506 AS_HELP_STRING([--disable-use-tty-group], [do not install wall and write setgid tty]),
034d378b 1507 [], [enable_use_tty_group=yes]
48d7b13a 1508)
034d378b 1509AM_CONDITIONAL([USE_TTY_GROUP], [test "x$enable_use_tty_group" = xyes])
48d7b13a 1510
3013eb9d 1511AS_IF([test "x$enable_use_tty_group" = xyes], [
034d378b 1512 AC_DEFINE([USE_TTY_GROUP], [1], [Should wall and write be installed setgid tty?])
3013eb9d 1513])
48d7b13a 1514
ab6478ef
WF
1515
1516AC_ARG_ENABLE([sulogin-emergency-mount],
479d50bd
DR
1517 AS_HELP_STRING([--enable-sulogin-emergency-mount],
1518 [use emergency mount of /dev and /proc for sulogin]),
034d378b 1519 [], [enable_sulogin_emergency_mount=no]
ab6478ef
WF
1520)
1521
3013eb9d 1522AS_IF([test "x$enable_sulogin_emergency_mount" = xyes], [
034d378b 1523 AC_DEFINE([USE_SULOGIN_EMERGENCY_MOUNT], [1],
ab6478ef 1524 [Should sulogin use a emergency mount of /dev and /proc?])
3013eb9d 1525])
ab6478ef
WF
1526
1527
f3831bbd
KZ
1528AC_ARG_ENABLE([makeinstall-chown],
1529 AS_HELP_STRING([--disable-makeinstall-chown], [do not do chown-like operations during "make install"]),
034d378b 1530 [], [enable_makeinstall_chown=yes]
f3831bbd 1531)
034d378b 1532AM_CONDITIONAL([MAKEINSTALL_DO_CHOWN], [test "x$enable_makeinstall_chown" = xyes])
f3831bbd 1533
4c24a7ae
KZ
1534AC_ARG_ENABLE([makeinstall-setuid],
1535 AS_HELP_STRING([--disable-makeinstall-setuid], [do not do setuid chmod operations during "make install"]),
034d378b 1536 [], [enable_makeinstall_setuid=yes]
4c24a7ae 1537)
034d378b 1538AM_CONDITIONAL([MAKEINSTALL_DO_SETUID], [test "x$enable_makeinstall_setuid" = xyes])
4c24a7ae 1539
06bcee19 1540
1f10890f
SK
1541AC_ARG_VAR([SUID_CFLAGS],
1542 [CFLAGS used for binaries which are usually with the suid bit])
1543AC_ARG_VAR([SUID_LDFLAGS],
1544 [LDFLAGS used for binaries which are usually with the suid bit])
06bcee19 1545
03d00d49
KZ
1546AC_ARG_VAR([DAEMON_CFLAGS],
1547 [CFLAGS used for binaries which are usually executed as daemons])
1548AC_ARG_VAR([DAEMON_LDFLAGS],
1549 [LDFLAGS used for binaries which are usually executed as daemons])
1550
1551AC_ARG_VAR([SOLIB_CFLAGS],
1552 [CFLAGS used for shared libraries])
1553AC_ARG_VAR([SOLIB_LDFLAGS],
1554 [LDFLAGS used for shared libraries])
1555
9cb68977 1556LIBS=""
48d7b13a 1557
48d7b13a 1558
034d378b 1559AC_CONFIG_HEADERS([config.h])
48d7b13a 1560
d4baf92e
KZ
1561#
1562# Don't use configure.ac to replace install paths! See Makefile PATHFILES for
1563# more details.
1564#
8eeb575c 1565AC_CONFIG_FILES([
f06b4328 1566Makefile
31a938ac 1567libblkid/docs/Makefile
8fb4efae 1568libblkid/docs/version.xml
8fb4efae 1569libblkid/src/blkid.h
31a938ac 1570libmount/docs/Makefile
2aefc0a8 1571libmount/docs/version.xml
f06b4328 1572libmount/src/libmount.h
f06b4328 1573po/Makefile.in
8eeb575c 1574])
48d7b13a
KZ
1575
1576AC_OUTPUT
4e1073c2
KZ
1577
1578AC_MSG_RESULT([
1579 ${PACKAGE} ${VERSION}
1580
1581 prefix: ${prefix}
1582 exec prefix: ${exec_prefix}
1583
1584 localstatedir: ${localstatedir}
1585 bindir: ${bindir}
1586 sbindir: ${sbindir}
1587 libdir: ${libdir}
1588 includedir: ${includedir}
4e1073c2
KZ
1589 usrbin_execdir: ${usrbin_execdir}
1590 usrsbin_execdir: ${usrsbin_execdir}
1591 usrlib_execdir: ${usrlib_execdir}
1592
1593 compiler: ${CC}
1594 cflags: ${CFLAGS}
1595 suid cflags: ${SUID_CFLAGS}
1596 ldflags: ${LDFLAGS}
1597 suid ldflags: ${SUID_LDFLAGS}
8e5c4675 1598
0b567ae5
SK
1599 Python: ${PYTHON}
1600 Python version: ${PYTHON_VERSION}
3745d4a9
KZ
1601 Python libs: ${pyexecdir}
1602
8e5c4675 1603 Bash completions: ${with_bashcompletiondir}
4e1073c2
KZ
1604
1605 warnings:
1606
1607${WARN_CFLAGS}
1608])