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