]> git.ipfire.org Git - thirdparty/util-linux.git/blame - configure.ac
libmount: add --pass-fd to samples/mount
[thirdparty/util-linux.git] / configure.ac
CommitLineData
38c75b59
SK
1AC_INIT(util-linux,
2 m4_esyscmd([tools/git-version-gen .tarball-version]),
3 kzak@redhat.com)
baf39af1 4
7fc9786b 5AC_PREREQ(2.60)
48d7b13a
KZ
6
7AC_CONFIG_AUX_DIR(config)
b12991dd 8AC_CONFIG_MACRO_DIR([m4])
488c033f 9AM_INIT_AUTOMAKE([-Wall foreign 1.10 dist-bzip2 -Wno-portability])
48d7b13a 10
eb35c251
GJ
11m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
12 [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
13
48d7b13a 14AC_CONFIG_SRCDIR(mount/mount.c)
15a9b48c
SK
15AC_PREFIX_DEFAULT([/usr])
16
33b0be6d
KZ
17dnl version details from <major>.<minor>[-<suffix>]
18PACKAGE_VERSION_MAJOR=$(echo $PACKAGE_VERSION | awk -F. '{print $1}')
19PACKAGE_VERSION_MINOR=$(echo $PACKAGE_VERSION | awk -F. '{print $2}' \
20 | awk -F- '{print $1}')
21PACKAGE_VERSION_RELEASE=0
a0948ffe 22
33b0be6d
KZ
23dnl libblkid version
24LIBBLKID_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
60a5833b 25LIBBLKID_DATE="29-Aug-2011"
dc2b8d87
KZ
26LIBBLKID_LT_MAJOR=1
27LIBBLKID_LT_MINOR=1
28LIBBLKID_LT_MICRO=0
29LIBBLKID_VERSION_INFO=`expr $LIBBLKID_LT_MAJOR + $LIBBLKID_LT_MINOR`:$LIBBLKID_LT_MICRO:$LIBBLKID_LT_MINOR
a0948ffe 30
f6076f55
KZ
31dnl libuuid version
32LIBUUID_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
dc2b8d87
KZ
33LIBUUID_LT_MAJOR=1
34LIBUUID_LT_MINOR=3
35LIBUUID_LT_MICRO=0
36LIBUUID_VERSION_INFO=`expr $LIBUUID_LT_MAJOR + $LIBUUID_LT_MINOR`:$LIBUUID_LT_MICRO:$LIBUUID_LT_MINOR
f6076f55 37
f1cde479
KZ
38dnl libmount version
39LIBMOUNT_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
40LIBMOUNT_LT_MAJOR=1
41LIBMOUNT_LT_MINOR=1
42LIBMOUNT_LT_MICRO=0
43LIBMOUNT_VERSION_INFO=`expr $LIBMOUNT_LT_MAJOR + $LIBMOUNT_LT_MINOR`:$LIBMOUNT_LT_MICRO:$LIBMOUNT_LT_MINOR
44
15a9b48c
SK
45# Check whether exec_prefix=/usr:
46case $exec_prefix:$prefix in
47NONE:NONE | NONE:/usr | /usr:*)
48 AC_MSG_NOTICE([Default --exec-prefix detected.])
49 case $bindir in
50 '${exec_prefix}/bin') bindir=/bin
51 AC_MSG_NOTICE([ --bindir defaults to /bin]) ;;
52 esac
53 case $sbindir in
54 '${exec_prefix}/sbin') sbindir=/sbin
55 AC_MSG_NOTICE([ --sbindir defaults to /sbin]) ;;
971f57f6
KZ
56 esac
57 case $libdir in
58 '${exec_prefix}/lib') libdir=/lib
59 AC_MSG_NOTICE([ --libdir defaults to /lib]) ;;
15a9b48c
SK
60 esac ;;
61esac
48d7b13a 62
cb5212e2 63libdirname=`basename "$libdir"`
b0a0d7d5
KZ
64AC_SUBST([libdirname])
65
996fb358 66# The original default values of {bin,sbin,lib}dir
aaf3e8f5 67usrbin_execdir='${exec_prefix}/bin'
30688dde 68AC_SUBST([usrbin_execdir])
996fb358 69
aaf3e8f5 70usrsbin_execdir='${exec_prefix}/sbin'
30688dde 71AC_SUBST([usrsbin_execdir])
996fb358 72
aaf3e8f5 73usrlib_execdir='${exec_prefix}/'$libdirname
30688dde 74AC_SUBST([usrlib_execdir])
996fb358 75
31c9c1c4 76AM_PROG_CC_C_O
48d7b13a 77AC_PROG_CC_STDC
240f7101 78AC_GNU_SOURCE
a6996860 79AC_CANONICAL_HOST
85b4c147 80AC_C_CONST
e79829db 81AC_C_VOLATILE
fbaec83b 82AC_C_BIGENDIAN
b12991dd
KZ
83
84dnl libtool-2
85LT_INIT
48d7b13a 86
fd0f4132
SK
87m4_ifndef([PKG_PROG_PKG_CONFIG],
88 [m4_fatal([Could not locate the pkg-config autoconf
89 macros. These are usually located in /usr/share/aclocal/pkg.m4.
90 If your macros are in a different location, try setting the
91 environment variable AL_OPTS="-I/other/macro/dir" before running
92 ./autogen.sh or autoreconf again.])])
d06d028a
KZ
93PKG_PROG_PKG_CONFIG
94
22aa5166
KZ
95GTK_DOC_CHECK([1.10])
96AC_PATH_PROG([XSLTPROC], [xsltproc])
97
8c182554
KZ
98linux_os=no
99case ${host_os} in
100 *linux*)
101 linux_os=yes
102 ;;
103esac
49ccbae6 104AM_CONDITIONAL([LINUX], test "x$linux_os" = xyes)
8c182554 105
3c6e292c
KZ
106dnl define ARCH_<NAME> conditionals
107UL_SET_ARCH(I86, i?86-*)
108UL_SET_ARCH(86_64, x86_64*)
109UL_SET_ARCH(IA64, ia64*)
110UL_SET_ARCH(S390, s390*)
111UL_SET_ARCH(SPARC, sparc*)
112UL_SET_ARCH(PPC, ppc*|powerpc*)
113UL_SET_ARCH(M68K, m68*)
114UL_SET_ARCH(MIPS, mips*)
115UL_SET_ARCH(HPPA, hppa*)
116
48d7b13a
KZ
117AC_SYS_LARGEFILE
118
09734b00
KZ
119AM_GNU_GETTEXT_VERSION([0.14.1])
120AM_GNU_GETTEXT([external])
121if test -d "$srcdir/po"
122then
123 ALL_LINGUAS=`cd $srcdir/po > /dev/null && echo *.po | sed 's/\.po//g'`
124else
125 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"
126fi
127
e460a5bf 128AC_CHECK_HEADERS([linux/compiler.h linux/blkpg.h linux/major.h], [], [], [
48d7b13a
KZ
129#ifdef HAVE_LINUX_COMPILER_H
130#include <linux/compiler.h>
131#endif
132])
bf962c0a 133AC_CHECK_HEADERS(
a0948ffe
KZ
134 [err.h \
135 errno.h \
136 getopt.h \
a0948ffe
KZ
137 linux/fd.h \
138 linux/tiocl.h \
139 linux/version.h \
b832c2fe 140 linux/falloc.h \
55113b15 141 linux/cdrom.h \
b832c2fe 142 fcntl.h \
8b7f16fc 143 locale.h \
754fed0c
KZ
144 stdint.h \
145 inttypes.h \
0bf9d41d 146 paths.h \
a0948ffe 147 pty.h \
607c2a72 148 mntent.h \
754fed0c
KZ
149 net/if.h \
150 net/if_dl.h \
151 netinet/in.h \
bf962c0a 152 rpcsvc/nfs_prot.h \
a0948ffe 153 stdlib.h \
363ce071 154 asm/io.h \
a0948ffe
KZ
155 sys/disk.h \
156 sys/disklabel.h \
157 sys/ioctl.h \
3edaa201 158 sys/ioccom.h \
bf962c0a 159 sys/io.h \
754fed0c 160 sys/time.h \
a0948ffe
KZ
161 sys/mkdev.h \
162 sys/prctl.h \
163 sys/queue.h \
754fed0c 164 sys/sockio.h \
2a7c1f70
KZ
165 sys/socket.h \
166 sys/syscall.h \
754fed0c
KZ
167 sys/file.h \
168 sys/ioctl.h \
a0948ffe
KZ
169 sys/stat.h \
170 sys/types.h \
754fed0c 171 sys/un.h \
a0948ffe 172 sys/user.h \
a67387b7 173 sys/swap.h \
754fed0c 174 sys/resource.h \
ff0cb84d 175 security/pam_misc.h \
16ba8d58 176 linux/raw.h \
a0948ffe 177 unistd.h ])
dc61d398 178
a67387b7
KZ
179AC_CHECK_HEADERS([langinfo.h],
180 [AM_CONDITIONAL([HAVE_LANGINFO], [true])],
181 [AM_CONDITIONAL([HAVE_LANGINFO], [false])])
182
16ba8d58
KZ
183dnl Convert some ac_cv_header_* variables to have_*
184dnl
185have_linux_raw_h=$ac_cv_header_linux_raw_h
ff0cb84d 186have_security_pam_misc_h=$ac_cv_header_security_pam_misc_h
48d7b13a 187
a67387b7
KZ
188
189AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
190#include <time.h>
191#include <unistd.h>
192]], [[
193 int a = 0;
194 struct tm *tm = localtime(0);
195 if (a == -1) /* false */
196 sleep(tm->tm_gmtoff);
197]])],
198[AC_DEFINE(HAVE_TM_GMTOFF,1,[Does struct tm have a field tm_gmtoff?])
199])
200
201AC_CHECK_MEMBERS([struct termios.c_line],,,
202 [[#include <termios.h>]])
203
204AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec],,,
205 [#include <sys/stat.h>])
206
207AC_CHECK_DECLS([
208 UNAME26,
209 ADDR_NO_RANDOMIZE,
210 FDPIC_FUNCPTRS,
211 MMAP_PAGE_ZERO,
212 ADDR_COMPAT_LAYOUT,
213 READ_IMPLIES_EXEC,
214 ADDR_LIMIT_32BIT,
215 WHOLE_SECONDS,
216 STICKY_TIMEOUTS,
217 ADDR_LIMIT_3GB], [], [], [#include <linux/personality.h>])
218
219AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
220[[
221#ifdef HAVE_SYS_SWAP_H
222# include <sys/swap.h>
223#endif
224#include <unistd.h>
225]],
226[[swapon("/dev/null", 0);]])],
227[AC_DEFINE(SWAPON_HAS_TWO_ARGS, 1, [Is swapon() declared with two parameters?])
228],
229[AC_MSG_NOTICE([Your libc thinks that swapon has 1 arg only.])
230])
dc61d398
KZ
231
232
a88057d9
TP
233AC_CHECK_DECLS([_NL_TIME_WEEK_1STDAY],[],[],[[#include <langinfo.h>]])
234
2a7c1f70
KZ
235AC_CHECK_DECL([llseek],
236 [AC_DEFINE(HAVE_LLSEEK_PROTOTYPE, 1,
237 [Define to 1 if have llseek prototype])],
238 [],
239 [#include <unistd.h>])
240
241AC_CHECK_DECL([lseek64],
242 [AC_DEFINE(HAVE_LSEEK64_PROTOTYPE, 1,
243 [Define to 1 if have lseek64 prototype])],
244 [],
245 [#define _LARGEFILE_SOURCE
246 #define _LARGEFILE64_SOURCE
247 #include <unistd.h>])
248
bf962c0a
SK
249AC_CHECK_FUNCS(
250 [inet_aton \
eb76ca98
FG
251 err \
252 errx \
b7ce600d 253 futimens \
2a7c1f70 254 fstat64 \
bf962c0a
SK
255 fsync \
256 getdomainname \
e27a08ab 257 get_current_dir_name \
437fa54f 258 usleep \
bf962c0a
SK
259 nanosleep \
260 personality \
132ea941 261 updwtmp \
3ac22f7a 262 jrand48 \
bf962c0a 263 lchown \
a0948ffe
KZ
264 llseek \
265 lseek64 \
266 strtoull \
754fed0c
KZ
267 sysconf \
268 getdtablesize \
a804f444 269 getexecname \
754fed0c 270 getrlimit \
a1504d8b 271 sigqueue \
754fed0c 272 srandom \
69045d3d
KZ
273 setresgid \
274 setresuid \
69b7e41e
KZ
275 strndup \
276 strnlen \
277 strnchr \
fc7aeb09 278 inotify_init \
a0948ffe 279 prctl \
a67bb3bf 280 posix_fadvise \
acf6ab6f 281 getmntinfo \
a0948ffe 282 __secure_getenv \
eb76ca98
FG
283 warn \
284 warnx \
bf962c0a 285 rpmatch])
48d7b13a 286AC_FUNC_FSEEKO
48d7b13a 287
940fd28c 288AC_CHECK_FUNCS([openat fstatat unlinkat], [have_openat=yes], [have_openat=no])
465e9973 289AC_CHECK_FUNCS([ioperm iopl], [have_io=yes])
465e9973 290
754fed0c
KZ
291AC_CHECK_MEMBER(struct sockaddr.sa_len,
292 AC_DEFINE_UNQUOTED(HAVE_SA_LEN,1,[Define if struct sockaddr contains sa_len]),,
293 [#include <sys/types.h>
294 #include <sys/socket.h>])
295
60cc9f94
FG
296SOCKET_LIBS=
297AC_SEARCH_LIBS([gethostbyname], [nsl],
298 [if test x"$ac_cv_search_gethostbyname" != x"none required"; then
299 SOCKET_LIBS="$SOCKET_LIBS -lnsl";
300 fi])
301AC_SEARCH_LIBS([socket], [socket],
302 [if test x"$ac_cv_search_socket" != x"none required"; then
303 SOCKET_LIBS="$SOCKET_LIBS -lsocket";
304 fi])
305AC_SUBST([SOCKET_LIBS])
306
d58c47d9
FG
307
308have_dirfd=no
309AC_CHECK_FUNCS([dirfd], [have_dirfd=yes], [have_dirfd=no])
310if test x"$have_dirfd" = xno ; then
311 AC_CHECK_DECLS([dirfd],
312 [have_dirfd=yes], [have_dirfd=no],
313 [#include <sys/types.h>
314 #include <dirent.h>])
315fi
316
317have_ddfd=no
318if test x"$have_dirfd" = xno ; then
319 AC_CHECK_MEMBERS([DIR.dd_fd],
320 [have_ddfd=yes], [have_ddfd=no],
321 [#include <sys/types.h>
322 #include <dirent.h>])
323fi
324
325case "$have_dirfd:$have_ddfd" in
326no:no)
327 AC_MSG_ERROR([cannot find a method to get filedescriptor of directory]) ;;
328esac
329
330
a804f444
FG
331AC_MSG_CHECKING(whether program_invocation_short_name is defined)
332AC_TRY_COMPILE([#include <argp.h>],
333 [program_invocation_short_name = "test";],
334 AC_DEFINE(HAVE_PROGRAM_INVOCATION_SHORT_NAME, 1,
335 [Define if program_invocation_short_name is defined])
336 AC_MSG_RESULT(yes),
337 AC_MSG_RESULT(no))
338
339AC_MSG_CHECKING([whether __progname is defined])
340AC_LINK_IFELSE([AC_LANG_PROGRAM([extern char *__progname;],
341 [if (*__progname == 0) return;])],
342 AC_DEFINE(HAVE___PROGNAME, 1, [Define if __progname is defined])
343 AC_MSG_RESULT(yes),
344 AC_MSG_RESULT(no))
345
8569410c 346dnl Static compilation
132ea941 347m4_define([UL_STATIC_PROGRAMS], [losetup, mount, umount, fdisk, sfdisk, blkid])
8569410c
SK
348
349AC_ARG_ENABLE([static-programs],
350 [AS_HELP_STRING([--enable-static-programs=LIST],
351 [link static the programs in LIST (comma-separated,
132ea941 352 supported for ]m4_defn([UL_STATIC_PROGRAMS])[)])])
8569410c
SK
353
354case $enable_static_programs in
132ea941 355yes) enable_static_programs=m4_quote(UL_STATIC_PROGRAMS) ;;
8569410c
SK
356no) enable_static_programs= ;;
357esac
358
8569410c 359dnl Set all the individual AM_CONDITIONALs
132ea941 360m4_foreach([UL_PRG], m4_defn([UL_STATIC_PROGRAMS]), [
8569410c 361 case ,$enable_static_programs, in
132ea941 362 *,UL_PRG,*) static_[]UL_PRG=yes ;;
8569410c 363 esac
132ea941
KZ
364 AM_CONDITIONAL([HAVE_STATIC_]m4_toupper(UL_PRG),
365 [test "x$static_[]UL_PRG" = xyes])
8569410c
SK
366])
367
d7a01582 368AX_CHECK_TLS
3ac22f7a 369
13f5473e
KZ
370AC_DEFUN([UL_SCANF_TYPE_MODIFIER], [dnl
371# include <stdio.h>
372int main()
373{
374 int i;
375 char *s;
376 i = sscanf("x", $1, &s);
377 if (i == 1)
378 return 0;
379 return 1;
380}])
381
382AC_CACHE_VAL([scanf_cv_alloc_modifier],
383 AC_RUN_IFELSE([AC_LANG_SOURCE([UL_SCANF_TYPE_MODIFIER(["%ms"])])],
384 [scanf_cv_alloc_modifier=ms],
385 AC_RUN_IFELSE([AC_LANG_SOURCE([UL_SCANF_TYPE_MODIFIER(["%as"])])],
386 [scanf_cv_alloc_modifier=as],
387 [scanf_cv_alloc_modifier=no]
388 )
389 )
390)
391
392AC_MSG_CHECKING([scanf string alloc modifiers])
393case "$scanf_cv_alloc_modifier" in
394ms)
395 AC_MSG_RESULT([(%ms) yes])
396 AC_DEFINE([HAVE_SCANF_MS_MODIFIER], [1], [scanf %ms modifier])
397 have_scanf_alloc_modifier=yes
398 ;;
399as)
400 AC_MSG_RESULT([(%as) yes])
401 have_scanf_alloc_modifier=yes
402 AC_DEFINE([HAVE_SCANF_AS_MODIFIER], [1], [scanf %as modifier])
403 ;;
404*)
405 AC_MSG_RESULT([no])
406 have_scanf_alloc_modifier=no
407 ;;
408esac
409
3aecf79d
KZ
410UL_CHECK_LIB(util, openpty)
411UL_CHECK_LIB(termcap, tgetnum)
412
413AC_CHECK_TYPES([union semun], [], [], [[
414#include <sys/sem.h>
415]])
416AC_CHECK_TYPES(loff_t)
417
418AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
419#include <wchar.h>
420#include <wctype.h>
421#include <stdio.h>
422]], [[
423 wchar_t wc;
424 wint_t w;
425 w = fgetwc(stdin);
426 if (w == WEOF) exit(1);
427 wc = w;
428 fputwc(wc,stdout);
429]])],
430[AC_DEFINE(HAVE_WIDECHAR,1,Do we have wide character support?)
431])
432
433AC_CHECK_TYPES([cpu_set_t], [have_cpu_set_t=yes], [], [[
434#include <sched.h>
435]])
436
437AM_CONDITIONAL(HAVE_CPU_SET_T, [test "x$have_cpu_set_t" = xyes])
438
439AC_CHECK_DECLS([CPU_ALLOC], [], [], [[
440#include <sched.h>
441]])
442
8d35bdc9
KZ
443# on Solaris, you can't mix and match standards, since we use c99
444# aparently at this stage, XOPEN_SOURCE will conflict. As workaround,
445# check for crypt.h and use that without XOPEN_SOURCE.
446AC_CHECK_HEADERS([crypt.h])
447AC_LINK_IFELSE([AC_LANG_PROGRAM([[
448#ifdef HAVE_CRYPT_H
449#include <crypt.h>
450#else
451#define _XOPEN_SOURCE
452#include <unistd.h>
453#endif
454]], [[
455char *c = crypt("abc","pw");
456]])],[],[
457 LIBS="$LIBS -lcrypt"
458 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
459 #ifdef HAVE_CRYPT_H
460 #include <crypt.h>
461 #else
462 #define _XOPEN_SOURCE
463 #include <unistd.h>
464 #endif
465 ]], [[
466 char *c = crypt("abc","pw");
467 ]])],[
468 AC_DEFINE(HAVE_LIBCRYPT, 1, [Do we need -lcrypt?])
469 have_libcrypt=yes
470 ],[
471 AC_MSG_ERROR([crypt() is not available])
472 ])
473])
474AM_CONDITIONAL(HAVE_LIBCRYPT, test "x$have_libcrypt" = xyes)
475
13f5473e 476
75ad4910
KZ
477AC_ARG_WITH([selinux],
478 AS_HELP_STRING([--with-selinux], [compile with SELinux support]),
479 [], with_selinux=no
480)
481
482if test "x$with_selinux" = xno; then
483 AM_CONDITIONAL(HAVE_SELINUX, false)
484else
485 UL_CHECK_LIB(selinux, getprevcon)
486 case "$with_selinux:$have_selinux" in
487 yes:no) AC_MSG_ERROR([SELinux selected but libselinux not found]);;
488 esac
489fi
490
491if test "x$have_selinux" = xyes; then
492 SELINUX_LIBS="-lselinux -lsepol"
493 SELINUX_LIBS_STATIC="-lselinux -lsepol"
494 old_LDFLAGS="$LDFLAGS"
495 LDFLAGS="$LDFLAGS $SELINUX_LIBS"
496 # This function is missing in old libselinux 1.xx versions
497 AC_CHECK_FUNCS([security_get_initial_context])
498 LDFLAGS="$old_LDFLAGS"
499fi
500AC_SUBST([SELINUX_LIBS])
501AC_SUBST([SELINUX_LIBS_STATIC])
502
503AC_ARG_WITH([audit],
504 AS_HELP_STRING([--with-audit], [compile with audit support]),
505 [], with_audit=no
506)
507
508if test "x$with_audit" = xno; then
509 AM_CONDITIONAL(HAVE_AUDIT, false)
510else
511 UL_CHECK_LIB(audit, audit_log_user_message)
512 case "$with_audit:$have_audit" in
513 yes:no)
514 AC_MSG_ERROR([Audit selected but libaudit not found (or does not support audit_log_user_message())])
515 ;;
516 esac
517fi
518
519AC_ARG_WITH([udev], AS_HELP_STRING([--without-udev], [compile without udev support]),
520 [], with_udev=auto
521)
522
523if test "x$with_udev" = xno; then
524 AM_CONDITIONAL(HAVE_UDEV, false)
525else
526 UL_CHECK_LIB(udev, udev_new)
527 case "$with_udev:$have_udev" in
528 yes:no)
529 AC_MSG_ERROR([udev selected but libudev not found])
530 ;;
531 esac
532fi
533
534AC_ARG_WITH([ncurses],
535 AS_HELP_STRING([--with-ncurses], [build with non-wide ncurses, default is wide version
536 (--without-ncurses disables all ncurses(w) support)]),
537 [], with_ncurses=auto
538)
539AM_CONDITIONAL(HAVE_NCURSES, false)
540
541if test "x$with_ncurses" != xno; then
542 have_ncurses=no
543 AC_CHECK_HEADERS([ncurses.h ncurses/ncurses.h], [
544 if test "x$with_ncurses" = xauto; then
545 UL_CHECK_LIB(ncursesw, initscr, ncurses)
546 if test "x$have_ncurses" = xyes; then
547 AC_CHECK_HEADERS([ncursesw/ncurses.h])
548 NCURSES_LIBS="-lncursesw"
549 fi
550 fi
551 if test "x$have_ncurses" = xno; then
552 UL_CHECK_LIB(ncurses, initscr)
553 if test "x$have_ncurses" = xyes; then
554 NCURSES_LIBS="-lncurses"
555 fi
556 fi
557 ])
558 if test "x$have_ncurses" = xno; then
559 AC_MSG_ERROR([ncurses or ncursesw selected, but library not found (--without-ncurses to disable)])
560 fi
561fi
562AC_SUBST([NCURSES_LIBS])
563
564
565AC_ARG_WITH([slang],
566 AS_HELP_STRING([--with-slang], [compile cfdisk with slang]),
567 [], with_slang=no
568)
569
570have_tinfo=no
571AC_CHECK_LIB(tinfo, tgetent, [have_tinfo=yes])
572AM_CONDITIONAL(HAVE_TINFO, test "x$have_tinfo" = xyes)
573
574use_slang=no
575if test "x$with_slang" = xyes; then
576 AC_CHECK_HEADERS([slang.h slang/slang.h])
577 AC_CHECK_HEADERS([slcurses.h slang/slcurses.h],
578 [use_slang=yes], [], [
579#ifdef HAVE_SLANG_H
580#include <slang.h>
581#elif defined(HAVE_SLANG_SLANG_H)
582#include <slang/slang.h>
583#endif
584])
585 if test "x$use_slang" = xno; then
586 AC_MSG_ERROR([slang selected but slcurses.h not found])
587 fi
588fi
589AM_CONDITIONAL(USE_SLANG, test "x$use_slang" = xyes)
590
591
592AC_ARG_WITH([utempter],
593 AS_HELP_STRING([--with-utempter], [compile script(1) with libutempter]),
594 [], with_utempter=no
595)
596
597if test "x$with_utempter" = xyes; then
598 UL_CHECK_LIB(utempter, utempter_add_record)
599 if test "x$have_utempter" = xno; then
600 AC_MSG_ERROR([utempter selected but libutempter not found])
601 fi
602else
603 AM_CONDITIONAL(HAVE_UTEMPTER, false)
604fi
605
606
d17584b6
SK
607AC_ARG_ENABLE([most-builds],
608 AS_HELP_STRING([--enable-most-builds], [build everthing other than experimental code]),
609 [], enable_most_builds=no
610)
611if test "x$enable_most_builds" = xyes; then
612 enable_arch=yes
613 enable_ddate=yes
614 enable_elvtune=yes
615 enable_kill=yes
616 enable_last=yes
617 enable_line=yes
618 enable_mesg=yes
619 enable_raw=yes
620 enable_rename=yes
621 enable_reset=yes
622 enable_login_utils=yes
623 enable_write=yes
624fi
625
1dbbde66
KZ
626dnl
627dnl libuuid
628dnl
17afb032
KZ
629AC_ARG_ENABLE([libuuid],
630 AS_HELP_STRING([--disable-libuuid], [do not build libuuid and uuid utilities]),
631 [], enable_libuuid=yes
632)
fa7be20e 633UL_BUILD_INIT([libuuid])
dc2b8d87
KZ
634AC_SUBST([LIBUUID_VERSION])
635AC_SUBST([LIBUUID_VERSION_INFO])
fa7be20e 636AM_CONDITIONAL(BUILD_LIBUUID, test "x$build_libuuid" = xyes)
9dc801d2 637
403e2d0c 638if test "x$enable_libuuid" = xyes; then
17afb032
KZ
639 AC_DEFINE(HAVE_LIBUUID, 1, [Define to 1 if you have the -luuid.])
640else
641 AC_MSG_WARN([uuid library is not found; mkswap(8) will not generate UUIDs])
642fi
48d7b13a 643
1dbbde66
KZ
644dnl
645dnl libblkid
646dnl
f910b559 647AC_ARG_ENABLE([libblkid],
1d12ed57 648 AS_HELP_STRING([--disable-libblkid], [do not build libblkid and many related utilities]),
f910b559 649 [], enable_libblkid=yes
40f07ff7 650)
61a074f7 651UL_BUILD_INIT([libblkid])
033cf439 652AC_SUBST([LIBBLKID_DATE])
dc2b8d87
KZ
653AC_SUBST([LIBBLKID_VERSION])
654AC_SUBST([LIBBLKID_VERSION_INFO])
f910b559
KZ
655AC_DEFINE_UNQUOTED(LIBBLKID_VERSION, "$LIBBLKID_VERSION", [libblkid version string])
656AC_DEFINE_UNQUOTED(LIBBLKID_DATE, "$LIBBLKID_DATE", [libblkid date string])
4f3b364b 657if test "x$build_libblkid" = xyes; then
d06d028a 658 AC_DEFINE(HAVE_LIBBLKID, 1, [Define to 1 if you have the -lblkid.])
64754af9 659fi
4f3b364b 660AM_CONDITIONAL(BUILD_LIBBLKID, test "x$build_libblkid" = xyes)
f910b559 661
1dbbde66
KZ
662dnl
663dnl libmount
664dnl
f1cde479
KZ
665AC_ARG_ENABLE([libmount],
666 AS_HELP_STRING([--disable-libmount], [do not build libmount]),
a2b3d040 667 [], enable_libmount=check
f1cde479 668)
61a074f7 669UL_BUILD_INIT([libmount])
13f5473e
KZ
670UL_REQUIRES_LINUX([libmount])
671UL_REQUIRES_BUILD([libmount], [libblkid])
672UL_REQUIRES_HAVE([libmount], [scanf_alloc_modifier], [scanf string alloc modifier])
673AM_CONDITIONAL(BUILD_LIBMOUNT, test "x$build_libmount" = xyes)
8e368761 674
f1cde479
KZ
675AC_SUBST([LIBMOUNT_VERSION])
676AC_SUBST([LIBMOUNT_VERSION_INFO])
f4ab4ae8 677AC_DEFINE_UNQUOTED(LIBMOUNT_VERSION, "$LIBMOUNT_VERSION", [libmount version string])
13f5473e 678
f1cde479 679
1dbbde66
KZ
680AC_ARG_ENABLE([mount],
681 AS_HELP_STRING([--disable-mount], [do not build mount utilities]),
682 [], enable_mount=check
683)
61a074f7 684UL_BUILD_INIT([mount])
9ead6701
KZ
685UL_REQUIRES_LINUX([mount])
686UL_REQUIRES_BUILD([mount], [libblkid])
1dbbde66
KZ
687AM_CONDITIONAL(BUILD_MOUNT, test "x$build_mount" = xyes)
688
689
bd6d0d03
KZ
690AC_ARG_ENABLE([losetup],
691 AS_HELP_STRING([--disable-losetup], [do not build losetup]),
692 [], enable_losetup=check
693)
694UL_BUILD_INIT([losetup])
695UL_REQUIRES_LINUX([losetup])
696AM_CONDITIONAL(BUILD_LOSETUP, test "x$build_losetup" = xyes)
697
698
9ead6701
KZ
699AC_ARG_ENABLE([libmount-mount],
700 AS_HELP_STRING([--enable-libmount-mount], [link mount(8) with libmount (EXPERIMENTAL)]),
701 [], enable_libmount_mount=no
702)
61a074f7 703UL_BUILD_INIT([libmount_mount])
9ead6701
KZ
704UL_REQUIRES_BUILD([libmount_mount], [mount])
705UL_REQUIRES_BUILD([libmount_mount], [libmount])
706if test "x$build_libmount_mount" = xyes; then
707 AC_DEFINE(HAVE_LIBMOUNT_MOUNT, 1, [use libmount for mount(8)])
708fi
709AM_CONDITIONAL(BUILD_LIBMOUNT_MOUNT, test "x$build_libmount_mount" = xyes)
710
711
1dbbde66
KZ
712AC_ARG_ENABLE([fsck],
713 AS_HELP_STRING([--disable-fsck], [do not build fsck]),
1d12ed57 714 [], enable_fsck=check
1dbbde66 715)
61a074f7 716UL_BUILD_INIT([fsck])
1d12ed57
KZ
717UL_REQUIRES_BUILD([fsck], [libblkid])
718AM_CONDITIONAL(BUILD_FSCK, test "x$build_fsck" = xyes)
1dbbde66
KZ
719
720
721AC_ARG_ENABLE([partx],
722 AS_HELP_STRING([--disable-partx], [do not build addpart, delpart, partx]),
723 [], enable_partx=check
724)
61a074f7 725UL_BUILD_INIT([partx])
ecde2536
KZ
726UL_REQUIRES_LINUX([partx])
727UL_REQUIRES_BUILD([partx], [libblkid])
1dbbde66
KZ
728AM_CONDITIONAL(BUILD_PARTX, test "x$build_partx" = xyes)
729
730
1dbbde66
KZ
731AC_ARG_ENABLE([uuidd],
732 AS_HELP_STRING([--disable-uuidd], [do not build the uuid daemon]),
bcdab497 733 [], enable_uuidd=check
1dbbde66 734)
61a074f7 735UL_BUILD_INIT([uuidd])
bcdab497
KZ
736UL_REQUIRES_BUILD([uuidd], [libuuid])
737if test "x$build_uuidd" = xyes; then
1dbbde66
KZ
738 AC_DEFINE(HAVE_UUIDD, 1, [Define to 1 if you want to use uuid daemon.])
739fi
bcdab497 740AM_CONDITIONAL(BUILD_UUIDD, test "x$build_uuidd" = xyes)
1dbbde66
KZ
741
742
0164c245 743AC_ARG_ENABLE([mountpoint],
2023ccc4 744 AS_HELP_STRING([--disable-mountpoint], [do not build mountpoint]),
3d92ed40 745 [], enable_mountpoint=check
0164c245 746)
61a074f7 747UL_BUILD_INIT([mountpoint])
a9127bc1 748UL_REQUIRES_BUILD([mountpoint], [libmount])
3d92ed40 749AM_CONDITIONAL(BUILD_MOUNTPOINT, test "x$build_mountpoint" = xyes)
0164c245
KZ
750
751
10e56b49
KZ
752AC_ARG_ENABLE([fallocate],
753 AS_HELP_STRING([--disable-fallocate], [do not build fallocate]),
754 [], enable_fallocate=check
755)
61a074f7 756UL_BUILD_INIT([fallocate])
10e56b49
KZ
757UL_REQUIRES_LINUX([fallocate])
758UL_REQUIRES_SYSCALL_CHECK([fallocate], [UL_CHECK_SYSCALL([fallocate])])
759AM_CONDITIONAL(BUILD_FALLOCATE, test "x$build_fallocate" = xyes)
760
761if test "x$build_fallocate" = xyes; then
762 dnl check for valid fallocate() function
763 dnl with 32 bits glibc 2.10, fallocate() exists but not fallocate64()
764 dnl when _FILE_OFFSET_BITS==64, fallocate() is redirect to fallocate64()
765 dnl and program can't be linked.
766 dnl AC_CHECK_FUNC can't catch such errors since it's redefining
767 dnl function prototype.
768 AC_MSG_CHECKING([for valid fallocate() function])
769 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
b832c2fe
YD
770#ifdef HAVE_UNISTD_H
771# include <unistd.h>
772#endif
773#ifdef HAVE_SYS_TYPES_H
774# include <sys/types.h>
775#endif
776#ifdef HAVE_LINUX_FALLOC_H
777# include <linux/falloc.h>
778#endif
779#ifdef HAVE_FCNTL_H
780# include <fcntl.h>
781#endif
782]],[[
783 long ret;
b832c2fe 784 ret = fallocate(0, FALLOC_FL_KEEP_SIZE, 0xfffffffful, 0xfffffffful);
b832c2fe
YD
785 if (ret != 0) {
786 return 1;
787 }
788 ]])],[
10e56b49
KZ
789 AC_MSG_RESULT([yes])
790 AC_DEFINE(HAVE_FALLOCATE,1,[Have valid fallocate() function])],[
791 AC_MSG_RESULT([no])])
792fi
793
19a224ad 794
a2ea6670
KZ
795AC_ARG_ENABLE([unshare],
796 AS_HELP_STRING([--disable-unshare], [do not build unshare]),
797 [], enable_unshare=check
798)
61a074f7 799UL_BUILD_INIT([unshare])
a2ea6670
KZ
800UL_REQUIRES_LINUX([unshare])
801UL_REQUIRES_SYSCALL_CHECK([unshare], [UL_CHECK_SYSCALL([unshare])])
802AM_CONDITIONAL(BUILD_UNSHARE, test "x$build_unshare" = xyes)
803if test "x$build_unshare" = xyes; then
804 AC_CHECK_FUNCS([unshare])
805fi
b3425806
SK
806
807
6a97809b
KZ
808AC_ARG_ENABLE([arch],
809 AS_HELP_STRING([--enable-arch], [do build arch]),
810 [], enable_arch=no
811)
61a074f7 812UL_BUILD_INIT([arch])
3c6e292c
KZ
813UL_REQUIRES_LINUX([arch])
814AM_CONDITIONAL(BUILD_ARCH, test "x$build_arch" = xyes)
815
48d7b13a 816
4a8962f3
KZ
817AC_ARG_ENABLE([ddate],
818 AS_HELP_STRING([--enable-ddate], [do build ddate]),
564cea2b 819 [], enable_ddate=no
4a8962f3 820)
61a074f7 821UL_BUILD_INIT([ddate])
0fc74be1
KZ
822AM_CONDITIONAL(BUILD_DDATE, test "x$build_ddate" = xyes)
823
4a8962f3 824
48d7b13a 825AC_ARG_ENABLE([agetty],
7fa4f112 826 AS_HELP_STRING([--disable-agetty], [do not build agetty]),
271d98e0 827 [], enable_agetty=yes
48d7b13a 828)
61a074f7 829UL_BUILD_INIT([agetty])
0fc74be1
KZ
830AM_CONDITIONAL(BUILD_AGETTY, test "x$build_agetty" = xyes)
831
48d7b13a 832
9cb68977 833AC_ARG_ENABLE([cramfs],
7fa4f112 834 AS_HELP_STRING([--disable-cramfs], [do not build fsck.cramfs, mkfs.cramfs]),
271d98e0 835 [], enable_cramfs=check
9cb68977 836)
61a074f7 837UL_BUILD_INIT([cramfs])
d81b5a52
KZ
838AC_CHECK_LIB(z, crc32, [have_z=yes], [have_z=no])
839UL_REQUIRES_HAVE([cramfs], [z], [z library])
49ccbae6 840AM_CONDITIONAL(BUILD_CRAMFS, test "x$build_cramfs" = xyes)
9cb68977 841
a13cdb7a 842
e09ebf22
KZ
843if test "x$have_io" = xyes -o "x$linux_os" = xyes; then
844 build_hwclock=yes
845fi
846AM_CONDITIONAL(BUILD_HWCLOCK, test "x$build_hwclock" = xyes)
847
848
143635c9
KZ
849UL_BUILD_INIT([swapon], [check])
850UL_REQUIRES_LINUX([swapon])
851UL_REQUIRES_BUILD([swapon], [libblkid])
852AM_CONDITIONAL(BUILD_SWAPON, test "x$build_swapon" = xyes)
853
854
61a074f7 855UL_BUILD_INIT([lsblk], [check])
a13cdb7a
KZ
856UL_REQUIRES_LINUX([lsblk])
857UL_REQUIRES_BUILD([lsblk], [libblkid])
7f7126d7 858AM_CONDITIONAL(BUILD_LSBLK, test "x$build_lsblk" = xyes)
9cb68977 859
a3d3b770 860
61a074f7 861UL_BUILD_INIT([lscpu], [check])
da396d88
KZ
862UL_REQUIRES_LINUX([lscpu])
863UL_REQUIRES_HAVE([lscpu], [cpu_set_t], [cpu_set_t type])
864AM_CONDITIONAL(BUILD_LSCPU, test "x$build_lscpu" = xyes)
865
a3d3b770 866
61a074f7 867UL_BUILD_INIT([chcpu], [check])
da396d88
KZ
868UL_REQUIRES_LINUX([chcpu])
869UL_REQUIRES_HAVE([chcpu], [cpu_set_t], [cpu_set_t type])
870AM_CONDITIONAL(BUILD_CHCPU, test "x$build_chcpu" = xyes)
871
a13cdb7a 872
945ac250
KZ
873UL_BUILD_INIT([prlimit], [check])
874UL_REQUIRES_LINUX([prlimit])
875UL_REQUIRES_SYSCALL_CHECK([prlimit], [UL_CHECK_SYSCALL([prlimit64])], [prlimit64])
876AM_CONDITIONAL(BUILD_PRLIMIT, test "x$build_prlimit" = xyes)
877if test "x$build_prlimit" = xyes; then
878 AC_CHECK_FUNCS([prlimit])
879fi
880
881
bd671347
KZ
882AC_ARG_ENABLE([switch_root],
883 AS_HELP_STRING([--disable-switch_root], [do not build switch_root]),
940fd28c 884 [], enable_switch_root=check
bd671347 885)
61a074f7 886UL_BUILD_INIT([switch_root])
a3d3b770
KZ
887UL_REQUIRES_LINUX([switch_root])
888UL_REQUIRES_HAVE([switch_root], [openat], [openat function])
940fd28c 889AM_CONDITIONAL(BUILD_SWITCH_ROOT, test "x$build_switch_root" = xyes)
bd671347
KZ
890
891
11125e7a
KZ
892AC_ARG_ENABLE([pivot_root],
893 AS_HELP_STRING([--disable-pivot_root], [do not build pivot_root]),
894 [], enable_pivot_root=check
895)
61a074f7 896UL_BUILD_INIT([pivot_root])
9f632667
KZ
897UL_REQUIRES_LINUX([switch_root])
898UL_REQUIRES_SYSCALL_CHECK([pivot_root], [UL_CHECK_SYSCALL([pivot_root])])
4a2ecf0a 899AM_CONDITIONAL(BUILD_PIVOT_ROOT, test "x$build_pivot_root" = xyes)
11125e7a
KZ
900
901
48d7b13a 902AC_ARG_ENABLE([elvtune],
7fa4f112 903 AS_HELP_STRING([--enable-elvtune], [build elvtune (only works with 2.2 and 2.4 kernels)]),
271d98e0 904 [], enable_elvtune=no
48d7b13a 905)
61a074f7 906UL_BUILD_INIT([elvtune])
b8d8c653
KZ
907UL_REQUIRES_LINUX([elvtune])
908AM_CONDITIONAL(BUILD_ELVTUNE, test "x$build_elvtune" = xyes)
909
48d7b13a 910
48d7b13a 911AC_ARG_ENABLE([kill],
4be753aa
KZ
912 AS_HELP_STRING([--disable-kill], [do not build kill]),
913 [], enable_kill=check
48d7b13a 914)
61a074f7 915UL_BUILD_INIT([kill])
4be753aa 916UL_REQUIRES_LINUX([kill])
49ccbae6 917AM_CONDITIONAL(BUILD_KILL, test "x$enable_kill" = xyes)
48d7b13a
KZ
918
919
920AC_ARG_ENABLE([last],
7fa4f112 921 AS_HELP_STRING([--enable-last], [build last]),
271d98e0 922 [], enable_last=no
48d7b13a 923)
61a074f7 924UL_BUILD_INIT([last])
2dc68529
KZ
925AM_CONDITIONAL(BUILD_LAST, test "x$build_last" = xyes)
926
48d7b13a 927
c135a8bd
SK
928AC_ARG_ENABLE([line],
929 AS_HELP_STRING([--enable-line], [build line]),
930 [], enable_line=no
931)
61a074f7 932UL_BUILD_INIT([line])
2dc68529
KZ
933AM_CONDITIONAL(BUILD_LINE, test "x$build_line" = xyes)
934
48d7b13a
KZ
935
936AC_ARG_ENABLE([mesg],
7fa4f112 937 AS_HELP_STRING([--enable-mesg], [build mesg]),
271d98e0 938 [], enable_mesg=no
48d7b13a 939)
61a074f7 940UL_BUILD_INIT([mesg])
2dc68529 941AM_CONDITIONAL(BUILD_MESG, test "x$build_mesg" = xyes)
48d7b13a
KZ
942
943
48d7b13a 944AC_ARG_ENABLE([raw],
7fa4f112 945 AS_HELP_STRING([--enable-raw], [build raw]),
16ba8d58 946 [], enable_raw=check
48d7b13a 947)
61a074f7 948UL_BUILD_INIT([raw])
16ba8d58
KZ
949UL_REQUIRES_LINUX([raw])
950UL_REQUIRES_HAVE([raw], [linux_raw_h], [raw.h header file])
951AM_CONDITIONAL(BUILD_RAW, test "x$build_raw" = xyes)
48d7b13a
KZ
952
953
48d7b13a 954AC_ARG_ENABLE([rename],
7fa4f112 955 AS_HELP_STRING([--disable-rename], [do not build rename]),
271d98e0 956 [], enable_rename=yes
48d7b13a 957)
61a074f7 958UL_BUILD_INIT([rename])
d1171542 959AM_CONDITIONAL(BUILD_RENAME, test "x$build_rename" = xyes)
48d7b13a
KZ
960
961
962AC_ARG_ENABLE([reset],
7fa4f112 963 AS_HELP_STRING([--enable-reset], [build reset]),
271d98e0 964 [], enable_reset=no
48d7b13a 965)
61a074f7 966UL_BUILD_INIT([reset])
d1171542 967AM_CONDITIONAL(BUILD_RESET, test "x$build_reset" = xyes)
48d7b13a
KZ
968
969
970AC_ARG_ENABLE([login-utils],
7fa4f112 971 AS_HELP_STRING([--enable-login-utils], [build chfn, chsh, login, newgrp, vipw]),
271d98e0 972 [], enable_login_utils=no
48d7b13a 973)
61a074f7 974UL_BUILD_INIT([login_utils])
ff0cb84d
KZ
975UL_REQUIRES_HAVE([login_utils], [security_pam_misc_h], [PAM header file])
976AM_CONDITIONAL(BUILD_LOGIN_UTILS, test "x$build_login_utils" = xyes)
9cb68977 977
c94b3604 978
f17f5f48 979
48d7b13a 980AC_ARG_ENABLE([schedutils],
7fa4f112 981 AS_HELP_STRING([--disable-schedutils], [do not build chrt, ionice, teskset]),
271d98e0 982 [], enable_schedutils=yes
48d7b13a 983)
61a074f7 984UL_BUILD_INIT([schedutils])
17d5e11b
KZ
985AM_CONDITIONAL(BUILD_SCHEDUTILS, test "x$build_schedutils" = xyes)
986
61a074f7 987UL_BUILD_INIT([ionice], [check])
17d5e11b
KZ
988UL_REQUIRES_BUILD([ionice], [schedutils])
989UL_REQUIRES_SYSCALL_CHECK([ionice],
990 [UL_CHECK_SYSCALL([ioprio_set],
991 [alpha], [442],
992 [i*86], [289],
993 [ia64*], [1274],
994 [powerpc*], [273],
995 [s390*], [282],
996 [sparc*], [196],
997 [sh*], [288],
998 [x86_64*], [251])],
999 [ioprio_set])
1000
1001UL_REQUIRES_SYSCALL_CHECK([ionice],
1002 [UL_CHECK_SYSCALL([ioprio_get],
1003 [alpha], [443],
1004 [i*86], [290],
1005 [ia64*], [1275],
1006 [powerpc*], [274],
1007 [s390*], [283],
1008 [sparc*], [218],
1009 [sh*], [289],
1010 [x86_64*], [252])],
1011 [ioprio_get])
1012
1013AM_CONDITIONAL(BUILD_IONICE, test "x$build_ionice" = xyes)
1014
61a074f7 1015UL_BUILD_INIT([taskset], [check])
17d5e11b
KZ
1016UL_REQUIRES_BUILD([taskset], [schedutils])
1017UL_REQUIRES_SYSCALL_CHECK([taskset],
1018 [UL_CHECK_SYSCALL([sched_getaffinity])],
1019 [sched_getaffinity])
1020AM_CONDITIONAL(BUILD_TASKSET, test "x$build_taskset" = xyes)
48d7b13a
KZ
1021
1022
1023AC_ARG_ENABLE([wall],
7fa4f112 1024 AS_HELP_STRING([--disable-wall], [do not build wall]),
271d98e0 1025 [], enable_wall=yes
48d7b13a 1026)
61a074f7 1027UL_BUILD_INIT([wasll])
f0898116 1028AM_CONDITIONAL(BUILD_WALL, test "x$build_wall" = xyes)
48d7b13a
KZ
1029
1030
1031AC_ARG_ENABLE([write],
7fa4f112 1032 AS_HELP_STRING([--enable-write], [build write]),
271d98e0 1033 [], enable_write=no
48d7b13a 1034)
61a074f7 1035UL_BUILD_INIT([write])
f0898116 1036AM_CONDITIONAL(BUILD_WRITE, test "x$build_write" = xyes)
48d7b13a
KZ
1037
1038
1039AC_ARG_ENABLE([chsh-only-listed],
7fa4f112 1040 AS_HELP_STRING([--disable-chsh-only-listed], [chsh: allow shells not in /etc/shells]),
271d98e0 1041 [], enable_chsh_only_listed=yes
48d7b13a
KZ
1042)
1043
49ccbae6 1044if test "x$enable_chsh_only_listed" = xyes; then
48d7b13a
KZ
1045 AC_DEFINE(ONLY_LISTED_SHELLS, 1, [Should chsh allow only shells in /etc/shells?])
1046fi
1047
1048
1049AC_ARG_ENABLE([login-chown-vcs],
7fa4f112 1050 AS_HELP_STRING([--enable-login-chown-vcs], [let login chown /dev/vcsN]),
271d98e0 1051 [], enable_login_chown_vcs=no
48d7b13a
KZ
1052)
1053
49ccbae6 1054if test "x$enable_login_chown_vcs" = xyes; then
48d7b13a
KZ
1055 AC_DEFINE(LOGIN_CHOWN_VCS, 1, [Should login chown /dev/vcsN?])
1056fi
1057
1058
1059AC_ARG_ENABLE([login-stat-mail],
7fa4f112 1060 AS_HELP_STRING([--enable-login-stat-mail], [let login stat() the mailbox]),
271d98e0 1061 [], enable_login_stat_mail=no
48d7b13a
KZ
1062)
1063
49ccbae6 1064if test "x$enable_login_stat_mail" = xyes; then
48d7b13a
KZ
1065 AC_DEFINE(LOGIN_STAT_MAIL, 1, [Should login stat() the mailbox?])
1066fi
1067
1068
1069AC_ARG_ENABLE([pg-bell],
7fa4f112 1070 AS_HELP_STRING([--disable-pg-bell], [let pg not ring the bell on invalid keys]),
271d98e0 1071 [], enable_pg_bell=yes
48d7b13a
KZ
1072)
1073
49ccbae6 1074if test "x$enable_pg_bell" = xyes; then
48d7b13a
KZ
1075 AC_DEFINE(PG_BELL, 1, [Should pg ring the bell on invalid keys?])
1076fi
1077
1078
1079AC_ARG_ENABLE([require-password],
7fa4f112 1080 AS_HELP_STRING([--disable-require-password], [do not require the user to enter the password in chfn and chsh]),
271d98e0 1081 [], enable_require_password=yes
48d7b13a
KZ
1082)
1083
49ccbae6 1084if test "x$enable_require_password" = xyes; then
48d7b13a
KZ
1085 AC_DEFINE(REQUIRE_PASSWORD, 1, [Should chfn and chsh require the user to enter the password?])
1086fi
1087
1088
bb4cb69d
MF
1089AC_DEFUN([FS_PATHS_DEFAULT], [/sbin:/sbin/fs.d:/sbin/fs])
1090AC_ARG_ENABLE([fs-paths-default],
1091 AS_HELP_STRING([--enable-fs-paths-default=paths], [default search path for fs helpers @<:@FS_PATHS_DEFAULT@:>@]),
1092 [case "$enableval" in
1093 yes) fs_paths_defaults="FS_PATHS_DEFAULT" ;;
1094 no) fs_paths_defaults="" ;;
1095 *) fs_paths_defaults="$enableval" ;;
1096 esac],
1097 [fs_paths_defaults="FS_PATHS_DEFAULT"]
1098)
1099AC_ARG_ENABLE([fs-paths-extra],
1100 AS_HELP_STRING([--enable-fs-paths-extra=paths], [additional search paths for fs helpers]),
1101 [case "$enableval" in
1102 yes|no) fs_paths_extra="" ;;
1103 *) fs_paths_extra="$enableval" ;;
1104 esac],
1105 [fs_paths_extra=""]
1106)
1107fs_paths="$fs_paths_defaults"
1108if test "x$fs_paths_extra" != "x"; then
1109 if test "x$fs_paths" != "x"; then
1110 fs_paths="${fs_paths}:"
1111 fi
1112 fs_paths="${fs_paths}${fs_paths_extra}"
1113fi
1114AC_DEFINE_UNQUOTED([FS_SEARCH_PATH], "$fs_paths", [search path for fs helpers])
1115
1116
48d7b13a 1117AC_ARG_ENABLE([use-tty-group],
7fa4f112 1118 AS_HELP_STRING([--disable-use-tty-group], [do not install wall and write setgid tty]),
271d98e0 1119 [], enable_use_tty_group=yes
48d7b13a 1120)
49ccbae6 1121AM_CONDITIONAL(USE_TTY_GROUP, test "x$enable_use_tty_group" = xyes)
48d7b13a 1122
49ccbae6 1123if test "x$enable_use_tty_group" = xyes; then
48d7b13a
KZ
1124 AC_DEFINE(USE_TTY_GROUP, 1, [Should wall and write be installed setgid tty?])
1125fi
1126
f3831bbd
KZ
1127AC_ARG_ENABLE([makeinstall-chown],
1128 AS_HELP_STRING([--disable-makeinstall-chown], [do not do chown-like operations during "make install"]),
1129 [], enable_makeinstall_chown=yes
1130)
49ccbae6 1131AM_CONDITIONAL(MAKEINSTALL_DO_CHOWN, test "x$enable_makeinstall_chown" = xyes)
f3831bbd 1132
4c24a7ae
KZ
1133AC_ARG_ENABLE([makeinstall-setuid],
1134 AS_HELP_STRING([--disable-makeinstall-setuid], [do not do setuid chmod operations during "make install"]),
1135 [], enable_makeinstall_setuid=yes
1136)
1137AM_CONDITIONAL(MAKEINSTALL_DO_SETUID, test "x$enable_makeinstall_setuid" = xyes)
1138
06bcee19 1139
1f10890f
SK
1140AC_ARG_VAR([SUID_CFLAGS],
1141 [CFLAGS used for binaries which are usually with the suid bit])
1142AC_ARG_VAR([SUID_LDFLAGS],
1143 [LDFLAGS used for binaries which are usually with the suid bit])
06bcee19 1144
9cb68977 1145LIBS=""
48d7b13a 1146
48d7b13a
KZ
1147
1148AC_CONFIG_HEADERS(config.h)
1149
8eeb575c 1150AC_CONFIG_FILES([
8eeb575c 1151disk-utils/Makefile
562218e6 1152fdisk/Makefile
607c2a72 1153fsck/Makefile
8eeb575c
KZ
1154getopt/Makefile
1155hwclock/Makefile
562218e6 1156include/Makefile
d00ed891 1157lib/Makefile
8eeb575c 1158login-utils/Makefile
20ad4963 1159Makefile
f331598a 1160man/ru/Makefile
20ad4963 1161misc-utils/chkdupexe:misc-utils/chkdupexe.pl
8eeb575c
KZ
1162misc-utils/Makefile
1163mount/Makefile
1164partx/Makefile
1165po/Makefile.in
1166schedutils/Makefile
8fb4efae
KZ
1167libblkid/blkid.pc
1168libblkid/Makefile
1169libblkid/docs/Makefile
1170libblkid/docs/version.xml
1171libblkid/src/Makefile
1172libblkid/src/blkid.h
1173libblkid/src/superblocks/Makefile
1174libblkid/src/topology/Makefile
1175libblkid/src/partitions/Makefile
1176libblkid/samples/Makefile
2aefc0a8
KZ
1177libmount/mount.pc
1178libmount/Makefile
1179libmount/src/Makefile
1180libmount/src/libmount.h
1181libmount/docs/Makefile
1182libmount/docs/version.xml
1183libmount/samples/Makefile
83d20837
KZ
1184libuuid/uuid.pc
1185libuuid/Makefile
1186libuuid/man/Makefile
1187libuuid/src/Makefile
8eeb575c 1188sys-utils/Makefile
c0f20acb 1189term-utils/Makefile
e83446da 1190tests/commands.sh
20ad4963
KZ
1191tests/helpers/Makefile
1192tests/Makefile
1193text-utils/Makefile
8eeb575c 1194])
48d7b13a 1195
996fb358 1196
48d7b13a 1197AC_OUTPUT