]> git.ipfire.org Git - thirdparty/util-linux.git/blame - configure.ac
misc-utils: cleanup strtoxx_or_err()
[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
631 enable_arch=yes
632 enable_ddate=yes
633 enable_elvtune=yes
634 enable_kill=yes
635 enable_last=yes
636 enable_line=yes
637 enable_mesg=yes
638 enable_raw=yes
639 enable_rename=yes
640 enable_reset=yes
641 enable_login_utils=yes
642 enable_write=yes
643fi
644
1dbbde66
KZ
645dnl
646dnl libuuid
647dnl
17afb032
KZ
648AC_ARG_ENABLE([libuuid],
649 AS_HELP_STRING([--disable-libuuid], [do not build libuuid and uuid utilities]),
650 [], enable_libuuid=yes
651)
fa7be20e 652UL_BUILD_INIT([libuuid])
dc2b8d87
KZ
653AC_SUBST([LIBUUID_VERSION])
654AC_SUBST([LIBUUID_VERSION_INFO])
fa7be20e 655AM_CONDITIONAL(BUILD_LIBUUID, test "x$build_libuuid" = xyes)
9dc801d2 656
403e2d0c 657if test "x$enable_libuuid" = xyes; then
17afb032
KZ
658 AC_DEFINE(HAVE_LIBUUID, 1, [Define to 1 if you have the -luuid.])
659else
660 AC_MSG_WARN([uuid library is not found; mkswap(8) will not generate UUIDs])
661fi
48d7b13a 662
1dbbde66
KZ
663dnl
664dnl libblkid
665dnl
f910b559 666AC_ARG_ENABLE([libblkid],
1d12ed57 667 AS_HELP_STRING([--disable-libblkid], [do not build libblkid and many related utilities]),
f910b559 668 [], enable_libblkid=yes
40f07ff7 669)
61a074f7 670UL_BUILD_INIT([libblkid])
033cf439 671AC_SUBST([LIBBLKID_DATE])
dc2b8d87
KZ
672AC_SUBST([LIBBLKID_VERSION])
673AC_SUBST([LIBBLKID_VERSION_INFO])
f910b559
KZ
674AC_DEFINE_UNQUOTED(LIBBLKID_VERSION, "$LIBBLKID_VERSION", [libblkid version string])
675AC_DEFINE_UNQUOTED(LIBBLKID_DATE, "$LIBBLKID_DATE", [libblkid date string])
4f3b364b 676if test "x$build_libblkid" = xyes; then
d06d028a 677 AC_DEFINE(HAVE_LIBBLKID, 1, [Define to 1 if you have the -lblkid.])
64754af9 678fi
4f3b364b 679AM_CONDITIONAL(BUILD_LIBBLKID, test "x$build_libblkid" = xyes)
f910b559 680
1dbbde66
KZ
681dnl
682dnl libmount
683dnl
f1cde479
KZ
684AC_ARG_ENABLE([libmount],
685 AS_HELP_STRING([--disable-libmount], [do not build libmount]),
a2b3d040 686 [], enable_libmount=check
f1cde479 687)
61a074f7 688UL_BUILD_INIT([libmount])
13f5473e
KZ
689UL_REQUIRES_LINUX([libmount])
690UL_REQUIRES_BUILD([libmount], [libblkid])
691UL_REQUIRES_HAVE([libmount], [scanf_alloc_modifier], [scanf string alloc modifier])
692AM_CONDITIONAL(BUILD_LIBMOUNT, test "x$build_libmount" = xyes)
8e368761 693
f1cde479
KZ
694AC_SUBST([LIBMOUNT_VERSION])
695AC_SUBST([LIBMOUNT_VERSION_INFO])
f4ab4ae8 696AC_DEFINE_UNQUOTED(LIBMOUNT_VERSION, "$LIBMOUNT_VERSION", [libmount version string])
13f5473e 697
f1cde479 698
1dbbde66
KZ
699AC_ARG_ENABLE([mount],
700 AS_HELP_STRING([--disable-mount], [do not build mount utilities]),
701 [], enable_mount=check
702)
61a074f7 703UL_BUILD_INIT([mount])
9ead6701
KZ
704UL_REQUIRES_LINUX([mount])
705UL_REQUIRES_BUILD([mount], [libblkid])
1dbbde66
KZ
706AM_CONDITIONAL(BUILD_MOUNT, test "x$build_mount" = xyes)
707
708
bd6d0d03
KZ
709AC_ARG_ENABLE([losetup],
710 AS_HELP_STRING([--disable-losetup], [do not build losetup]),
711 [], enable_losetup=check
712)
713UL_BUILD_INIT([losetup])
714UL_REQUIRES_LINUX([losetup])
715AM_CONDITIONAL(BUILD_LOSETUP, test "x$build_losetup" = xyes)
716
717
9ead6701 718AC_ARG_ENABLE([libmount-mount],
ecdba5dd 719 AS_HELP_STRING([--enable-libmount-mount], [link old mount(8) with libmount]),
9ead6701
KZ
720 [], enable_libmount_mount=no
721)
61a074f7 722UL_BUILD_INIT([libmount_mount])
9ead6701
KZ
723UL_REQUIRES_BUILD([libmount_mount], [mount])
724UL_REQUIRES_BUILD([libmount_mount], [libmount])
725if test "x$build_libmount_mount" = xyes; then
726 AC_DEFINE(HAVE_LIBMOUNT_MOUNT, 1, [use libmount for mount(8)])
727fi
728AM_CONDITIONAL(BUILD_LIBMOUNT_MOUNT, test "x$build_libmount_mount" = xyes)
729
730
ecdba5dd
KZ
731AC_ARG_ENABLE([new-mount],
732 AS_HELP_STRING([--enable-new-mount], [build new pure libmount based mount(8) (EXPERIMENTAL)]),
733 [], enable_new_mount=no
734)
735UL_BUILD_INIT([new_mount])
736UL_REQUIRES_BUILD([new_mount], [libmount])
737if test "x$build_new_mount" = xyes; then
738 AM_CONDITIONAL(BUILD_MOUNT, [false])
739fi
740AM_CONDITIONAL(BUILD_NEW_MOUNT, test "x$build_new_mount" = xyes)
741
742
1dbbde66
KZ
743AC_ARG_ENABLE([fsck],
744 AS_HELP_STRING([--disable-fsck], [do not build fsck]),
1d12ed57 745 [], enable_fsck=check
1dbbde66 746)
61a074f7 747UL_BUILD_INIT([fsck])
a7b585ea 748UL_REQUIRES_BUILD([fsck], [libmount])
1d12ed57 749AM_CONDITIONAL(BUILD_FSCK, test "x$build_fsck" = xyes)
1dbbde66
KZ
750
751
752AC_ARG_ENABLE([partx],
753 AS_HELP_STRING([--disable-partx], [do not build addpart, delpart, partx]),
754 [], enable_partx=check
755)
61a074f7 756UL_BUILD_INIT([partx])
ecde2536
KZ
757UL_REQUIRES_LINUX([partx])
758UL_REQUIRES_BUILD([partx], [libblkid])
1dbbde66
KZ
759AM_CONDITIONAL(BUILD_PARTX, test "x$build_partx" = xyes)
760
761
1dbbde66
KZ
762AC_ARG_ENABLE([uuidd],
763 AS_HELP_STRING([--disable-uuidd], [do not build the uuid daemon]),
bcdab497 764 [], enable_uuidd=check
1dbbde66 765)
61a074f7 766UL_BUILD_INIT([uuidd])
bcdab497
KZ
767UL_REQUIRES_BUILD([uuidd], [libuuid])
768if test "x$build_uuidd" = xyes; then
1dbbde66
KZ
769 AC_DEFINE(HAVE_UUIDD, 1, [Define to 1 if you want to use uuid daemon.])
770fi
bcdab497 771AM_CONDITIONAL(BUILD_UUIDD, test "x$build_uuidd" = xyes)
1dbbde66
KZ
772
773
0164c245 774AC_ARG_ENABLE([mountpoint],
2023ccc4 775 AS_HELP_STRING([--disable-mountpoint], [do not build mountpoint]),
3d92ed40 776 [], enable_mountpoint=check
0164c245 777)
61a074f7 778UL_BUILD_INIT([mountpoint])
a9127bc1 779UL_REQUIRES_BUILD([mountpoint], [libmount])
3d92ed40 780AM_CONDITIONAL(BUILD_MOUNTPOINT, test "x$build_mountpoint" = xyes)
0164c245
KZ
781
782
de217489
KZ
783AC_ARG_ENABLE([sulogin],
784 AS_HELP_STRING([--disable-sulogin], [do not build sulogin]),
785 [], enable_sulogin=yes
786)
787UL_BUILD_INIT([sulogin])
788AM_CONDITIONAL(BUILD_SULOGIN, test "x$build_sulogin" = xyes)
789
790
10e56b49
KZ
791AC_ARG_ENABLE([fallocate],
792 AS_HELP_STRING([--disable-fallocate], [do not build fallocate]),
793 [], enable_fallocate=check
794)
61a074f7 795UL_BUILD_INIT([fallocate])
10e56b49
KZ
796UL_REQUIRES_LINUX([fallocate])
797UL_REQUIRES_SYSCALL_CHECK([fallocate], [UL_CHECK_SYSCALL([fallocate])])
798AM_CONDITIONAL(BUILD_FALLOCATE, test "x$build_fallocate" = xyes)
799
800if test "x$build_fallocate" = xyes; then
801 dnl check for valid fallocate() function
802 dnl with 32 bits glibc 2.10, fallocate() exists but not fallocate64()
803 dnl when _FILE_OFFSET_BITS==64, fallocate() is redirect to fallocate64()
804 dnl and program can't be linked.
805 dnl AC_CHECK_FUNC can't catch such errors since it's redefining
806 dnl function prototype.
807 AC_MSG_CHECKING([for valid fallocate() function])
808 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
b832c2fe
YD
809#ifdef HAVE_UNISTD_H
810# include <unistd.h>
811#endif
812#ifdef HAVE_SYS_TYPES_H
813# include <sys/types.h>
814#endif
815#ifdef HAVE_LINUX_FALLOC_H
816# include <linux/falloc.h>
817#endif
818#ifdef HAVE_FCNTL_H
819# include <fcntl.h>
820#endif
821]],[[
822 long ret;
b832c2fe 823 ret = fallocate(0, FALLOC_FL_KEEP_SIZE, 0xfffffffful, 0xfffffffful);
b832c2fe
YD
824 if (ret != 0) {
825 return 1;
826 }
827 ]])],[
10e56b49
KZ
828 AC_MSG_RESULT([yes])
829 AC_DEFINE(HAVE_FALLOCATE,1,[Have valid fallocate() function])],[
830 AC_MSG_RESULT([no])])
831fi
832
19a224ad 833
a2ea6670
KZ
834AC_ARG_ENABLE([unshare],
835 AS_HELP_STRING([--disable-unshare], [do not build unshare]),
836 [], enable_unshare=check
837)
61a074f7 838UL_BUILD_INIT([unshare])
a2ea6670
KZ
839UL_REQUIRES_LINUX([unshare])
840UL_REQUIRES_SYSCALL_CHECK([unshare], [UL_CHECK_SYSCALL([unshare])])
841AM_CONDITIONAL(BUILD_UNSHARE, test "x$build_unshare" = xyes)
842if test "x$build_unshare" = xyes; then
843 AC_CHECK_FUNCS([unshare])
844fi
b3425806
SK
845
846
6a97809b
KZ
847AC_ARG_ENABLE([arch],
848 AS_HELP_STRING([--enable-arch], [do build arch]),
849 [], enable_arch=no
850)
61a074f7 851UL_BUILD_INIT([arch])
3c6e292c
KZ
852UL_REQUIRES_LINUX([arch])
853AM_CONDITIONAL(BUILD_ARCH, test "x$build_arch" = xyes)
854
48d7b13a 855
4a8962f3
KZ
856AC_ARG_ENABLE([ddate],
857 AS_HELP_STRING([--enable-ddate], [do build ddate]),
564cea2b 858 [], enable_ddate=no
4a8962f3 859)
61a074f7 860UL_BUILD_INIT([ddate])
0fc74be1 861AM_CONDITIONAL(BUILD_DDATE, test "x$build_ddate" = xyes)
dda92fe0
KZ
862ruman1dir='${mandir}/ru/man1'
863AC_SUBST([ruman1dir])
0fc74be1 864
4a8962f3 865
539feec1
ML
866AC_ARG_ENABLE([eject],
867 AS_HELP_STRING([--disable-eject], [do not build eject]),
868 [], enable_eject=yes
869)
870UL_BUILD_INIT([eject])
871UL_REQUIRES_LINUX([eject])
88a3f049 872AM_CONDITIONAL(BUILD_EJECT, test "x$build_eject" = xyes)
539feec1
ML
873
874
48d7b13a 875AC_ARG_ENABLE([agetty],
7fa4f112 876 AS_HELP_STRING([--disable-agetty], [do not build agetty]),
271d98e0 877 [], enable_agetty=yes
48d7b13a 878)
61a074f7 879UL_BUILD_INIT([agetty])
0fc74be1
KZ
880AM_CONDITIONAL(BUILD_AGETTY, test "x$build_agetty" = xyes)
881
48d7b13a 882
9cb68977 883AC_ARG_ENABLE([cramfs],
7fa4f112 884 AS_HELP_STRING([--disable-cramfs], [do not build fsck.cramfs, mkfs.cramfs]),
271d98e0 885 [], enable_cramfs=check
9cb68977 886)
61a074f7 887UL_BUILD_INIT([cramfs])
d81b5a52
KZ
888AC_CHECK_LIB(z, crc32, [have_z=yes], [have_z=no])
889UL_REQUIRES_HAVE([cramfs], [z], [z library])
49ccbae6 890AM_CONDITIONAL(BUILD_CRAMFS, test "x$build_cramfs" = xyes)
9cb68977 891
a13cdb7a 892
e09ebf22
KZ
893if test "x$have_io" = xyes -o "x$linux_os" = xyes; then
894 build_hwclock=yes
895fi
896AM_CONDITIONAL(BUILD_HWCLOCK, test "x$build_hwclock" = xyes)
897
898
143635c9
KZ
899UL_BUILD_INIT([swapon], [check])
900UL_REQUIRES_LINUX([swapon])
901UL_REQUIRES_BUILD([swapon], [libblkid])
902AM_CONDITIONAL(BUILD_SWAPON, test "x$build_swapon" = xyes)
903
904
61a074f7 905UL_BUILD_INIT([lsblk], [check])
a13cdb7a
KZ
906UL_REQUIRES_LINUX([lsblk])
907UL_REQUIRES_BUILD([lsblk], [libblkid])
9554f7ab 908UL_REQUIRES_BUILD([lsblk], [libmount])
7f7126d7 909AM_CONDITIONAL(BUILD_LSBLK, test "x$build_lsblk" = xyes)
9cb68977 910
a3d3b770 911
61a074f7 912UL_BUILD_INIT([lscpu], [check])
da396d88
KZ
913UL_REQUIRES_LINUX([lscpu])
914UL_REQUIRES_HAVE([lscpu], [cpu_set_t], [cpu_set_t type])
915AM_CONDITIONAL(BUILD_LSCPU, test "x$build_lscpu" = xyes)
916
a3d3b770 917
61a074f7 918UL_BUILD_INIT([chcpu], [check])
da396d88
KZ
919UL_REQUIRES_LINUX([chcpu])
920UL_REQUIRES_HAVE([chcpu], [cpu_set_t], [cpu_set_t type])
921AM_CONDITIONAL(BUILD_CHCPU, test "x$build_chcpu" = xyes)
922
a13cdb7a 923
5b0289b9
KZ
924UL_BUILD_INIT([wdctl], [check])
925UL_REQUIRES_LINUX([wdctl])
926UL_REQUIRES_HAVE([wdctl], [linux_watchdog_h], [linux/watchdog.h header file])
927AM_CONDITIONAL(BUILD_WDCTL, test "x$build_wdctl" = xyes)
928
929
945ac250
KZ
930UL_BUILD_INIT([prlimit], [check])
931UL_REQUIRES_LINUX([prlimit])
932UL_REQUIRES_SYSCALL_CHECK([prlimit], [UL_CHECK_SYSCALL([prlimit64])], [prlimit64])
933AM_CONDITIONAL(BUILD_PRLIMIT, test "x$build_prlimit" = xyes)
934if test "x$build_prlimit" = xyes; then
935 AC_CHECK_FUNCS([prlimit])
936fi
937
938
3dc02ef4
DB
939UL_BUILD_INIT([lslocks], [check])
940UL_REQUIRES_LINUX([lslocks])
941AM_CONDITIONAL(BUILD_LSLOCKS, test "x$build_lslocks" = xyes)
942
943
bd671347
KZ
944AC_ARG_ENABLE([switch_root],
945 AS_HELP_STRING([--disable-switch_root], [do not build switch_root]),
940fd28c 946 [], enable_switch_root=check
bd671347 947)
61a074f7 948UL_BUILD_INIT([switch_root])
a3d3b770
KZ
949UL_REQUIRES_LINUX([switch_root])
950UL_REQUIRES_HAVE([switch_root], [openat], [openat function])
940fd28c 951AM_CONDITIONAL(BUILD_SWITCH_ROOT, test "x$build_switch_root" = xyes)
bd671347
KZ
952
953
11125e7a
KZ
954AC_ARG_ENABLE([pivot_root],
955 AS_HELP_STRING([--disable-pivot_root], [do not build pivot_root]),
956 [], enable_pivot_root=check
957)
61a074f7 958UL_BUILD_INIT([pivot_root])
9f632667
KZ
959UL_REQUIRES_LINUX([switch_root])
960UL_REQUIRES_SYSCALL_CHECK([pivot_root], [UL_CHECK_SYSCALL([pivot_root])])
4a2ecf0a 961AM_CONDITIONAL(BUILD_PIVOT_ROOT, test "x$build_pivot_root" = xyes)
11125e7a
KZ
962
963
48d7b13a 964AC_ARG_ENABLE([elvtune],
7fa4f112 965 AS_HELP_STRING([--enable-elvtune], [build elvtune (only works with 2.2 and 2.4 kernels)]),
271d98e0 966 [], enable_elvtune=no
48d7b13a 967)
61a074f7 968UL_BUILD_INIT([elvtune])
b8d8c653
KZ
969UL_REQUIRES_LINUX([elvtune])
970AM_CONDITIONAL(BUILD_ELVTUNE, test "x$build_elvtune" = xyes)
971
48d7b13a 972
48d7b13a 973AC_ARG_ENABLE([kill],
4be753aa
KZ
974 AS_HELP_STRING([--disable-kill], [do not build kill]),
975 [], enable_kill=check
48d7b13a 976)
61a074f7 977UL_BUILD_INIT([kill])
4be753aa 978UL_REQUIRES_LINUX([kill])
49ccbae6 979AM_CONDITIONAL(BUILD_KILL, test "x$enable_kill" = xyes)
48d7b13a
KZ
980
981
982AC_ARG_ENABLE([last],
7fa4f112 983 AS_HELP_STRING([--enable-last], [build last]),
271d98e0 984 [], enable_last=no
48d7b13a 985)
61a074f7 986UL_BUILD_INIT([last])
2dc68529
KZ
987AM_CONDITIONAL(BUILD_LAST, test "x$build_last" = xyes)
988
48d7b13a 989
c135a8bd
SK
990AC_ARG_ENABLE([line],
991 AS_HELP_STRING([--enable-line], [build line]),
992 [], enable_line=no
993)
61a074f7 994UL_BUILD_INIT([line])
2dc68529
KZ
995AM_CONDITIONAL(BUILD_LINE, test "x$build_line" = xyes)
996
48d7b13a
KZ
997
998AC_ARG_ENABLE([mesg],
7fa4f112 999 AS_HELP_STRING([--enable-mesg], [build mesg]),
271d98e0 1000 [], enable_mesg=no
48d7b13a 1001)
61a074f7 1002UL_BUILD_INIT([mesg])
2dc68529 1003AM_CONDITIONAL(BUILD_MESG, test "x$build_mesg" = xyes)
48d7b13a
KZ
1004
1005
48d7b13a 1006AC_ARG_ENABLE([raw],
7fa4f112 1007 AS_HELP_STRING([--enable-raw], [build raw]),
16ba8d58 1008 [], enable_raw=check
48d7b13a 1009)
61a074f7 1010UL_BUILD_INIT([raw])
16ba8d58
KZ
1011UL_REQUIRES_LINUX([raw])
1012UL_REQUIRES_HAVE([raw], [linux_raw_h], [raw.h header file])
1013AM_CONDITIONAL(BUILD_RAW, test "x$build_raw" = xyes)
48d7b13a
KZ
1014
1015
48d7b13a 1016AC_ARG_ENABLE([rename],
7fa4f112 1017 AS_HELP_STRING([--disable-rename], [do not build rename]),
271d98e0 1018 [], enable_rename=yes
48d7b13a 1019)
61a074f7 1020UL_BUILD_INIT([rename])
d1171542 1021AM_CONDITIONAL(BUILD_RENAME, test "x$build_rename" = xyes)
48d7b13a
KZ
1022
1023
1024AC_ARG_ENABLE([reset],
7fa4f112 1025 AS_HELP_STRING([--enable-reset], [build reset]),
271d98e0 1026 [], enable_reset=no
48d7b13a 1027)
61a074f7 1028UL_BUILD_INIT([reset])
d1171542 1029AM_CONDITIONAL(BUILD_RESET, test "x$build_reset" = xyes)
48d7b13a
KZ
1030
1031
1032AC_ARG_ENABLE([login-utils],
de217489 1033 AS_HELP_STRING([--enable-login-utils], [build chfn, chsh, login, newgrp, vipw]),
271d98e0 1034 [], enable_login_utils=no
48d7b13a 1035)
61a074f7 1036UL_BUILD_INIT([login_utils])
ff0cb84d
KZ
1037UL_REQUIRES_HAVE([login_utils], [security_pam_misc_h], [PAM header file])
1038AM_CONDITIONAL(BUILD_LOGIN_UTILS, test "x$build_login_utils" = xyes)
9cb68977 1039
c94b3604 1040
f17f5f48 1041
48d7b13a 1042AC_ARG_ENABLE([schedutils],
7fa4f112 1043 AS_HELP_STRING([--disable-schedutils], [do not build chrt, ionice, teskset]),
271d98e0 1044 [], enable_schedutils=yes
48d7b13a 1045)
61a074f7 1046UL_BUILD_INIT([schedutils])
17d5e11b
KZ
1047AM_CONDITIONAL(BUILD_SCHEDUTILS, test "x$build_schedutils" = xyes)
1048
61a074f7 1049UL_BUILD_INIT([ionice], [check])
17d5e11b
KZ
1050UL_REQUIRES_BUILD([ionice], [schedutils])
1051UL_REQUIRES_SYSCALL_CHECK([ionice],
1052 [UL_CHECK_SYSCALL([ioprio_set],
f06b4328
SK
1053 [alpha], [442],
1054 [i*86], [289],
1055 [ia64*], [1274],
1056 [powerpc*], [273],
1057 [s390*], [282],
1058 [sparc*], [196],
1059 [sh*], [288],
1060 [x86_64*], [251])],
17d5e11b
KZ
1061 [ioprio_set])
1062
1063UL_REQUIRES_SYSCALL_CHECK([ionice],
1064 [UL_CHECK_SYSCALL([ioprio_get],
f06b4328
SK
1065 [alpha], [443],
1066 [i*86], [290],
1067 [ia64*], [1275],
1068 [powerpc*], [274],
1069 [s390*], [283],
1070 [sparc*], [218],
1071 [sh*], [289],
1072 [x86_64*], [252])],
17d5e11b
KZ
1073 [ioprio_get])
1074
1075AM_CONDITIONAL(BUILD_IONICE, test "x$build_ionice" = xyes)
1076
61a074f7 1077UL_BUILD_INIT([taskset], [check])
17d5e11b
KZ
1078UL_REQUIRES_BUILD([taskset], [schedutils])
1079UL_REQUIRES_SYSCALL_CHECK([taskset],
1080 [UL_CHECK_SYSCALL([sched_getaffinity])],
1081 [sched_getaffinity])
1082AM_CONDITIONAL(BUILD_TASKSET, test "x$build_taskset" = xyes)
48d7b13a
KZ
1083
1084
1085AC_ARG_ENABLE([wall],
7fa4f112 1086 AS_HELP_STRING([--disable-wall], [do not build wall]),
271d98e0 1087 [], enable_wall=yes
48d7b13a 1088)
8fc8888b 1089UL_BUILD_INIT([wall])
f0898116 1090AM_CONDITIONAL(BUILD_WALL, test "x$build_wall" = xyes)
48d7b13a
KZ
1091
1092
1093AC_ARG_ENABLE([write],
7fa4f112 1094 AS_HELP_STRING([--enable-write], [build write]),
271d98e0 1095 [], enable_write=no
48d7b13a 1096)
61a074f7 1097UL_BUILD_INIT([write])
f0898116 1098AM_CONDITIONAL(BUILD_WRITE, test "x$build_write" = xyes)
48d7b13a
KZ
1099
1100
4581bd9c
KZ
1101AC_ARG_ENABLE([chkdupexe],
1102 AS_HELP_STRING([--enable-chkdupexe], [build deprecated chkdupexe]),
1103 [], enable_chkdupexe=no
1104)
1105UL_BUILD_INIT([chkdupexe])
1106AM_CONDITIONAL(BUILD_CHKDUPEXE, test "x$build_chkdupexe" = xyes)
1107
1108if test "x$build_chkdupexe" = xyes; then
1109 AC_PATH_PROG(PERL, perl)
1110 AC_CONFIG_FILES([misc-utils/chkdupexe:misc-utils/chkdupexe.pl])
1111fi
1112
1113
48d7b13a 1114AC_ARG_ENABLE([chsh-only-listed],
7fa4f112 1115 AS_HELP_STRING([--disable-chsh-only-listed], [chsh: allow shells not in /etc/shells]),
271d98e0 1116 [], enable_chsh_only_listed=yes
48d7b13a
KZ
1117)
1118
49ccbae6 1119if test "x$enable_chsh_only_listed" = xyes; then
48d7b13a
KZ
1120 AC_DEFINE(ONLY_LISTED_SHELLS, 1, [Should chsh allow only shells in /etc/shells?])
1121fi
1122
1123
1124AC_ARG_ENABLE([login-chown-vcs],
7fa4f112 1125 AS_HELP_STRING([--enable-login-chown-vcs], [let login chown /dev/vcsN]),
271d98e0 1126 [], enable_login_chown_vcs=no
48d7b13a
KZ
1127)
1128
49ccbae6 1129if test "x$enable_login_chown_vcs" = xyes; then
48d7b13a
KZ
1130 AC_DEFINE(LOGIN_CHOWN_VCS, 1, [Should login chown /dev/vcsN?])
1131fi
1132
1133
bbe289c4
PU
1134AC_ARG_ENABLE([socket-activation],
1135 AS_HELP_STRING([--enable-socket-activation], [build uuidd with support for systemd socket activation]),
1136 [], enable_socket_activation=no
1137)
1138
1139AM_CONDITIONAL(USE_SOCKET_ACTIVATION, test "x$enable_socket_activation" = xyes)
1140
1141if test "x$enable_socket_activation" = xyes; then
1142 AC_DEFINE(USE_SOCKET_ACTIVATION, 1, [Should uuidd support socket activation?])
1143fi
1144
1b68c379
PU
1145AC_ARG_WITH([systemdsystemunitdir],
1146 AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [directory for systemd service files]),
1147 [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
1148
1149if test "x$with_systemdsystemunitdir" != "xno"; then
1150 AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
1151fi
1152
1153AM_CONDITIONAL(WITH_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != "xno" ])
1154
bbe289c4 1155
48d7b13a 1156AC_ARG_ENABLE([login-stat-mail],
7fa4f112 1157 AS_HELP_STRING([--enable-login-stat-mail], [let login stat() the mailbox]),
271d98e0 1158 [], enable_login_stat_mail=no
48d7b13a
KZ
1159)
1160
49ccbae6 1161if test "x$enable_login_stat_mail" = xyes; then
48d7b13a
KZ
1162 AC_DEFINE(LOGIN_STAT_MAIL, 1, [Should login stat() the mailbox?])
1163fi
1164
1165
1166AC_ARG_ENABLE([pg-bell],
7fa4f112 1167 AS_HELP_STRING([--disable-pg-bell], [let pg not ring the bell on invalid keys]),
271d98e0 1168 [], enable_pg_bell=yes
48d7b13a
KZ
1169)
1170
49ccbae6 1171if test "x$enable_pg_bell" = xyes; then
48d7b13a
KZ
1172 AC_DEFINE(PG_BELL, 1, [Should pg ring the bell on invalid keys?])
1173fi
1174
1175
1176AC_ARG_ENABLE([require-password],
7fa4f112 1177 AS_HELP_STRING([--disable-require-password], [do not require the user to enter the password in chfn and chsh]),
271d98e0 1178 [], enable_require_password=yes
48d7b13a
KZ
1179)
1180
49ccbae6 1181if test "x$enable_require_password" = xyes; then
48d7b13a
KZ
1182 AC_DEFINE(REQUIRE_PASSWORD, 1, [Should chfn and chsh require the user to enter the password?])
1183fi
1184
1185
bb4cb69d
MF
1186AC_DEFUN([FS_PATHS_DEFAULT], [/sbin:/sbin/fs.d:/sbin/fs])
1187AC_ARG_ENABLE([fs-paths-default],
1188 AS_HELP_STRING([--enable-fs-paths-default=paths], [default search path for fs helpers @<:@FS_PATHS_DEFAULT@:>@]),
1189 [case "$enableval" in
1190 yes) fs_paths_defaults="FS_PATHS_DEFAULT" ;;
1191 no) fs_paths_defaults="" ;;
1192 *) fs_paths_defaults="$enableval" ;;
1193 esac],
1194 [fs_paths_defaults="FS_PATHS_DEFAULT"]
1195)
1196AC_ARG_ENABLE([fs-paths-extra],
1197 AS_HELP_STRING([--enable-fs-paths-extra=paths], [additional search paths for fs helpers]),
1198 [case "$enableval" in
1199 yes|no) fs_paths_extra="" ;;
f06b4328 1200 *) fs_paths_extra="$enableval" ;;
bb4cb69d
MF
1201 esac],
1202 [fs_paths_extra=""]
1203)
1204fs_paths="$fs_paths_defaults"
1205if test "x$fs_paths_extra" != "x"; then
1206 if test "x$fs_paths" != "x"; then
1207 fs_paths="${fs_paths}:"
1208 fi
1209 fs_paths="${fs_paths}${fs_paths_extra}"
1210fi
1211AC_DEFINE_UNQUOTED([FS_SEARCH_PATH], "$fs_paths", [search path for fs helpers])
1212
1213
48d7b13a 1214AC_ARG_ENABLE([use-tty-group],
7fa4f112 1215 AS_HELP_STRING([--disable-use-tty-group], [do not install wall and write setgid tty]),
271d98e0 1216 [], enable_use_tty_group=yes
48d7b13a 1217)
49ccbae6 1218AM_CONDITIONAL(USE_TTY_GROUP, test "x$enable_use_tty_group" = xyes)
48d7b13a 1219
49ccbae6 1220if test "x$enable_use_tty_group" = xyes; then
48d7b13a
KZ
1221 AC_DEFINE(USE_TTY_GROUP, 1, [Should wall and write be installed setgid tty?])
1222fi
1223
f3831bbd
KZ
1224AC_ARG_ENABLE([makeinstall-chown],
1225 AS_HELP_STRING([--disable-makeinstall-chown], [do not do chown-like operations during "make install"]),
1226 [], enable_makeinstall_chown=yes
1227)
49ccbae6 1228AM_CONDITIONAL(MAKEINSTALL_DO_CHOWN, test "x$enable_makeinstall_chown" = xyes)
f3831bbd 1229
4c24a7ae
KZ
1230AC_ARG_ENABLE([makeinstall-setuid],
1231 AS_HELP_STRING([--disable-makeinstall-setuid], [do not do setuid chmod operations during "make install"]),
1232 [], enable_makeinstall_setuid=yes
1233)
1234AM_CONDITIONAL(MAKEINSTALL_DO_SETUID, test "x$enable_makeinstall_setuid" = xyes)
1235
06bcee19 1236
1f10890f
SK
1237AC_ARG_VAR([SUID_CFLAGS],
1238 [CFLAGS used for binaries which are usually with the suid bit])
1239AC_ARG_VAR([SUID_LDFLAGS],
1240 [LDFLAGS used for binaries which are usually with the suid bit])
06bcee19 1241
9cb68977 1242LIBS=""
48d7b13a 1243
48d7b13a
KZ
1244
1245AC_CONFIG_HEADERS(config.h)
1246
8eeb575c 1247AC_CONFIG_FILES([
f06b4328 1248Makefile
8eeb575c 1249disk-utils/Makefile
562218e6 1250fdisk/Makefile
8eeb575c
KZ
1251getopt/Makefile
1252hwclock/Makefile
562218e6 1253include/Makefile
d00ed891 1254lib/Makefile
8fb4efae 1255libblkid/Makefile
f06b4328 1256libblkid/blkid.pc
8fb4efae
KZ
1257libblkid/docs/Makefile
1258libblkid/docs/version.xml
f06b4328 1259libblkid/samples/Makefile
8fb4efae
KZ
1260libblkid/src/Makefile
1261libblkid/src/blkid.h
f06b4328 1262libblkid/src/partitions/Makefile
8fb4efae
KZ
1263libblkid/src/superblocks/Makefile
1264libblkid/src/topology/Makefile
2aefc0a8 1265libmount/Makefile
2aefc0a8
KZ
1266libmount/docs/Makefile
1267libmount/docs/version.xml
f06b4328
SK
1268libmount/mount.pc
1269libmount/src/Makefile
1270libmount/src/libmount.h
83d20837
KZ
1271libuuid/Makefile
1272libuuid/man/Makefile
1273libuuid/src/Makefile
f06b4328
SK
1274libuuid/uuid.pc
1275login-utils/Makefile
1276man/ru/Makefile
1277misc-utils/Makefile
1b68c379 1278misc-utils/uuidd.service
f06b4328
SK
1279mount/Makefile
1280partx/Makefile
1281po/Makefile.in
1282schedutils/Makefile
8eeb575c 1283sys-utils/Makefile
c0f20acb 1284term-utils/Makefile
f06b4328 1285tests/Makefile
e83446da 1286tests/commands.sh
20ad4963 1287tests/helpers/Makefile
20ad4963 1288text-utils/Makefile
8eeb575c 1289])
48d7b13a 1290
996fb358 1291
48d7b13a 1292AC_OUTPUT