]> git.ipfire.org Git - thirdparty/util-linux.git/blob - configure.ac
build-sys: release++ (v2.15-rc1)
[thirdparty/util-linux.git] / configure.ac
1 AC_INIT(util-linux-ng, 2.15-rc1, kzak@redhat.com)
2
3 AC_PREREQ(2.60)
4
5 AC_CONFIG_AUX_DIR(config)
6 AC_CONFIG_MACRO_DIR([m4])
7
8 AM_INIT_AUTOMAKE([check-news -Wall foreign 1.9 dist-bzip2])
9
10 AC_CONFIG_SRCDIR(mount/mount.c)
11
12 AC_PREFIX_DEFAULT([/usr])
13
14 dnl blkid version definition (the library SONAME is
15 dnl "libblkid.so.$BLKID_VERSION_MAJOR", see blkid/Makefile.am)
16 dnl ----------------------------------------------------------
17 BLKID_VERSION_MAJOR=1
18 BLKID_VERSION_MINOR=99
19 BLKID_VERSION_RELEASE=0
20 BLKID_DATE="10-Feb-2009"
21
22 BLKID_VERSION=$BLKID_VERSION_MAJOR.$BLKID_VERSION_MINOR.$BLKID_VERSION_RELEASE
23 BLKID_VERSION_INFO=`expr $BLKID_VERSION_MAJOR + $BLKID_VERSION_MINOR`:$BLKID_VERSION_RELEASE:$BLKID_VERSION_MINOR
24
25 # Check whether exec_prefix=/usr:
26 case $exec_prefix:$prefix in
27 NONE:NONE | NONE:/usr | /usr:*)
28 AC_MSG_NOTICE([Default --exec-prefix detected.])
29 case $bindir in
30 '${exec_prefix}/bin') bindir=/bin
31 AC_MSG_NOTICE([ --bindir defaults to /bin]) ;;
32 esac
33 case $sbindir in
34 '${exec_prefix}/sbin') sbindir=/sbin
35 AC_MSG_NOTICE([ --sbindir defaults to /sbin]) ;;
36 esac
37 case $libdir in
38 '${exec_prefix}/lib') libdir=/lib
39 AC_MSG_NOTICE([ --libdir defaults to /lib]) ;;
40 esac ;;
41 esac
42
43 # lib64
44 case ${libdir} in
45 *lib64) libdirname=lib64 ;;
46 *) libdirname=lib
47 esac
48 AC_SUBST([libdirname])
49
50 AC_PROG_CC_STDC
51 AC_GNU_SOURCE
52 AC_CANONICAL_HOST
53 AC_C_BIGENDIAN
54
55 dnl libtool-2
56 LT_INIT
57
58 PKG_PROG_PKG_CONFIG
59
60 linux_os=no
61 case ${host_os} in
62 *linux*)
63 linux_os=yes
64 ;;
65 esac
66 AM_CONDITIONAL([LINUX], test "x$linux_os" = xyes)
67
68 AC_PATH_PROG(PERL, perl)
69 AC_PATH_PROG(BLKID, blkid, [], [$PATH:/sbin])
70 AC_PATH_PROG(VOLID, vol_id, [], [$PATH:/lib/udev])
71
72 AC_SYS_LARGEFILE
73
74 AC_CHECK_HEADERS([linux/compiler.h linux/blkpg.h linux/major.h], [], [], [
75 #ifdef HAVE_LINUX_COMPILER_H
76 #include <linux/compiler.h>
77 #endif
78 ])
79 AC_CHECK_HEADERS(
80 [err.h \
81 errno.h \
82 getopt.h \
83 langinfo.h \
84 linux/fd.h \
85 linux/tiocl.h \
86 linux/version.h \
87 locale.h \
88 stdlib.h \
89 pty.h \
90 mntent.h \
91 rpcsvc/nfs_prot.h \
92 scsi/scsi.h \
93 stdlib.h \
94 sys/disk.h \
95 sys/disklabel.h \
96 sys/ioctl.h \
97 sys/io.h \
98 sys/mkdev.h \
99 sys/prctl.h \
100 sys/queue.h \
101 sys/stat.h \
102 sys/types.h \
103 sys/user.h \
104 unistd.h ])
105 AC_CHECK_HEADERS([linux/raw.h],
106 [AM_CONDITIONAL([HAVE_RAW], [true])],
107 [AM_CONDITIONAL([HAVE_RAW], [false])])
108
109 AC_CHECK_FUNCS(
110 [inet_aton \
111 fsync \
112 getdomainname \
113 get_current_dir_name \
114 nanosleep \
115 personality \
116 updwtmp \
117 lchown \
118 llseek \
119 lseek64 \
120 strtoull \
121 inotify_init \
122 prctl \
123 __secure_getenv \
124 rpmatch])
125 AC_FUNC_FSEEKO
126
127 dnl Static compilation
128 m4_define([UTIL_STATIC_PROGRAMS], [losetup, mount, umount, fdisk, sfdisk, blkid])
129
130 AC_ARG_ENABLE([static-programs],
131 [AS_HELP_STRING([--enable-static-programs=LIST],
132 [link static the programs in LIST (comma-separated,
133 supported for ]m4_defn([UTIL_STATIC_PROGRAMS])[)])])
134
135 case $enable_static_programs in
136 yes) enable_static_programs=m4_quote(UTIL_STATIC_PROGRAMS) ;;
137 no) enable_static_programs= ;;
138 esac
139
140 dnl Set all the individual AM_CONDITIONALs
141 m4_foreach([UTIL_PRG], m4_defn([UTIL_STATIC_PROGRAMS]), [
142 case ,$enable_static_programs, in
143 *,UTIL_PRG,*) static_[]UTIL_PRG=yes ;;
144 esac
145 AM_CONDITIONAL([HAVE_STATIC_]m4_toupper(UTIL_PRG),
146 [test "x$static_[]UTIL_PRG" = xyes])
147 ])
148
149 dnl UTIL_CHECK_LIB(LIBRARY, FUNCTION, [VARSUFFIX = $1]))
150 dnl The VARSUFFIX is optional and overrides the default behaviour. For example:
151 dnl UTIL_CHECK_LIB(yyy, func, xxx) generates have_xxx and HAVE_LIBXXX
152 dnl UTIL_CHECK_LIB(yyy, func) generates have_yyy and HAVE_LIBYYY
153 dnl ---------------------------------
154 AC_DEFUN([UTIL_CHECK_LIB], [
155 m4_define([suffix], m4_default([$3],$1))
156 [have_]suffix=yes
157 m4_ifdef([$3],
158 [AC_CHECK_LIB([$1], [$2], [AC_DEFINE(AS_TR_CPP([HAVE_LIB]suffix), 1)], [[have_]suffix=no])],
159 [AC_CHECK_LIB([$1], [$2], [], [[have_]suffix=no])])
160 AM_CONDITIONAL(AS_TR_CPP([HAVE_]suffix), [test [$have_]suffix = yes])
161 ])
162
163 UTIL_CHECK_LIB(uuid, uuid_is_null)
164 if test "x$have_uuid" = xno; then
165 AC_MSG_WARN([uuid library is not found; mkswap(8) will not generate UUIDs])
166 fi
167
168 UTIL_CHECK_LIB(util, openpty)
169 UTIL_CHECK_LIB(termcap, tgetnum)
170
171
172 AC_ARG_WITH([fsprobe],
173 [AS_HELP_STRING([--with-fsprobe=LIB], [library to guess filesystems, LIB should be builtin|blkid|volume_id, default is blkid])],
174 [], [with_fsprobe=blkid]
175 )
176
177 build_libblkid=no
178 have_blkid_evaluate=no
179 have_blkid=no
180 have_volume_id=no
181
182 if test "x$with_fsprobe" = xblkid; then
183 PKG_CHECK_MODULES(BLKID, blkid, [have_blkid=yes], [])
184 AC_CHECK_LIB(blkid, blkid_evaluate_spec, [have_blkid_evaluate=yes], [])
185 elif test "x$with_fsprobe" = xvolume_id; then
186 PKG_CHECK_MODULES(VOLUME_ID, volume_id, [have_volume_id=yes], [])
187 elif test "x$with_fsprobe" = xbuiltin; then
188 have_blkid=yes
189 build_libblkid=yes
190 have_blkid_evaluate=yes
191 AC_SUBST(BLKID_VERSION_MAJOR)
192 AC_SUBST(BLKID_VERSION_MINOR)
193 AC_SUBST(BLKID_VERSION_RELEASE)
194 AC_SUBST(BLKID_VERSION)
195 AC_SUBST(BLKID_VERSION_INFO)
196 AC_DEFINE_UNQUOTED(BLKID_VERSION, "$BLKID_VERSION", [libblkid version string])
197 AC_DEFINE_UNQUOTED(BLKID_DATE, "$BLKID_DATE", [libblkid date string])
198 fi
199
200 if test "x$have_blkid" = xyes; then
201 AC_DEFINE(HAVE_LIBBLKID, 1, [Define to 1 if you have the -lblkid.])
202 if test "x$have_blkid_evaluate" = xyes; then
203 AC_DEFINE(HAVE_BLKID_EVALUATE_SPEC, 1, [Define to 1 if you have the blkid_evaluate_spec().])
204 fi
205 fi
206
207 AM_CONDITIONAL(HAVE_BLKID, test "x$have_blkid" = xyes)
208 AM_CONDITIONAL(HAVE_VOLUME_ID, test "x$have_volume_id" = xyes)
209 AM_CONDITIONAL(BUILD_LIBBLKID, test "x$build_libblkid" = xyes)
210
211
212 AC_ARG_ENABLE([mount],
213 AS_HELP_STRING([--disable-mount], [do not build mount utilities]),
214 [], enable_mount=check
215 )
216 build_mount=yes
217 if test "${enable_mount}" = "no"; then
218 build_mount=no
219 elif test "x$linux_os" = xyes; then
220 if test "x$have_blkid" = xno && test "x$have_volume_id" = xno; then
221 AC_MSG_ERROR([blkid or volume_id is needed to build util-linux-ng mount utilities])
222 fi
223 else
224 AC_MSG_WARN([non-linux system; do not build mount utilities])
225 build_mount=no
226 fi
227 AM_CONDITIONAL(BUILD_MOUNT, test "x$build_mount" = xyes)
228
229
230 AC_ARG_ENABLE([fsck],
231 AS_HELP_STRING([--enable-fsck], [do build fsck]),
232 [], enable_fsck=no
233 )
234 if test "x$enable_fsck" = xyes; then
235 if test "x$have_blkid" = xno && test "x$have_volume_id" = xno; then
236 AC_MSG_ERROR([libblkid or libvolume_id is needed to build util-linux-ng fsck])
237 fi
238 fi
239 AM_CONDITIONAL(BUILD_FSCK, test "x$enable_fsck" = xyes)
240
241
242 dnl UTIL_PKG_STATIC(VARIABLE, MODULES)
243 dnl ----------------------------------
244 AC_DEFUN([UTIL_PKG_STATIC], [
245 if AC_RUN_LOG([pkg-config --exists --print-errors "$2"]); then
246 $1=`pkg-config --libs --static "$2"`
247 else
248 AC_MSG_ERROR([pkg-config description of $2, needed for static build, is not available])
249 fi
250 ])
251
252 # These default values should work in most cases:
253 : ${BLKID_LIBS='-lblkid -luuid'}
254 : ${VOLUME_ID_LIBS='-lvolume_id'}
255
256 # ... but for static build, we need to consult pkg-config:
257 if test -n "$enable_static_programs"; then
258 case $with_fsprobe in
259 blkid) UTIL_PKG_STATIC([BLKID_LIBS_STATIC], [blkid]) ;;
260 volume_id) UTIL_PKG_STATIC([VOLUME_ID_LIBS_STATIC], [libvolume_id]) ;;
261 esac
262 fi
263
264 AC_ARG_VAR([BLKID_LIBS_STATIC], [-l options for linking statically with blkid])
265 AC_ARG_VAR([VOLUME_ID_LIBS_STATIC], [-l options for linking statically with volume_id])
266
267
268 AM_GNU_GETTEXT_VERSION([0.14.1])
269 AM_GNU_GETTEXT([external])
270 if test -d "$srcdir/po"
271 then
272 ALL_LINGUAS=`cd $srcdir/po > /dev/null && echo *.po | sed 's/\.po//g'`
273 else
274 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"
275 fi
276
277 AC_ARG_WITH([ncurses],
278 AS_HELP_STRING([--with-ncurses], [build with non-wide ncurses, default is wide version
279 (--without-ncurses disables all ncurses(w) support)]),
280 [], with_ncurses=auto
281 )
282 AM_CONDITIONAL(HAVE_NCURSES, false)
283
284 if test "x$with_ncurses" != xno; then
285 have_ncurses=no
286 AC_CHECK_HEADERS([ncurses.h ncurses/ncurses.h], [
287 if test "x$with_ncurses" = xauto; then
288 UTIL_CHECK_LIB(ncursesw, initscr, ncurses)
289 if test "x$have_ncurses" = xyes; then
290 NCURSES_LIBS="-lncursesw"
291 fi
292 fi
293 if test "x$have_ncurses" = xno; then
294 UTIL_CHECK_LIB(ncurses, initscr)
295 if test "x$have_ncurses" = xyes; then
296 NCURSES_LIBS="-lncurses"
297 fi
298 fi
299 ])
300 if test "x$have_ncurses" = xno; then
301 AC_MSG_ERROR([ncurses or ncursesw selected, but library not found (--without-ncurses to disable)])
302 fi
303 fi
304 AC_SUBST([NCURSES_LIBS])
305
306
307 AC_ARG_WITH([slang],
308 AS_HELP_STRING([--with-slang], [compile cfdisk with slang]),
309 [], with_slang=no
310 )
311
312 have_tinfo=no
313 AC_CHECK_LIB(tinfo, tgetent, [have_tinfo=yes])
314 AM_CONDITIONAL(HAVE_TINFO, test "x$have_tinfo" = xyes)
315
316 use_slang=no
317 if test "x$with_slang" = xyes; then
318 AC_CHECK_HEADERS([slcurses.h slang/slcurses.h], [use_slang=yes])
319 if test "x$use_slang" = xno; then
320 AC_MSG_ERROR([slang selected but slcurses.h not found])
321 fi
322 fi
323 AM_CONDITIONAL(USE_SLANG, test "x$use_slang" = xyes)
324
325
326 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
327 #define _XOPEN_SOURCE
328 #include <unistd.h>
329 ]], [[
330 char *c = crypt("abc","pw");
331 ]])],[],[
332 LIBS="$LIBS -lcrypt"
333 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
334 #define _XOPEN_SOURCE
335 #include <unistd.h>
336 ]], [[
337 char *c = crypt("abc","pw");
338 ]])],[
339 AC_DEFINE(NEED_LIBCRYPT, 1, [Do we need -lcrypt?])
340 need_libcrypt=yes
341 ],[
342 AC_MSG_ERROR([crypt() is not available])
343 ])
344 ])
345
346 AM_CONDITIONAL(NEED_LIBCRYPT, test "x$need_libcrypt" = xyes)
347
348 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
349 #include <stdio.h>
350 ]], [[
351 printf(__progname);
352 ]])],
353 [AC_DEFINE(HAVE___PROGNAME, 1, Do we have __progname?)
354 ])
355
356
357 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
358 #include <wchar.h>
359 #include <wctype.h>
360 #include <stdio.h>
361 ]], [[
362 wchar_t wc;
363 wint_t w;
364 w = fgetwc(stdin);
365 if (w == WEOF) exit(1);
366 wc = w;
367 fputwc(wc,stdout);
368 ]])],
369 [AC_DEFINE(HAVE_WIDECHAR,1,Do we have wide character support?)
370 ])
371
372
373 dnl UTIL_CHECK_SYSCALL(SYSCALL, FALLBACK, ...)
374 dnl Only specify FALLBACK if the SYSCALL
375 dnl you're checking for is a "newish" one
376 dnl -------------------------------------
377 AC_DEFUN([UTIL_CHECK_SYSCALL], [
378 dnl This macro uses host_cpu.
379 AC_REQUIRE([AC_CANONICAL_HOST])
380 AC_CACHE_CHECK([for syscall $1],
381 [util_cv_syscall_$1],
382 [_UTIL_SYSCALL_CHECK_DECL([SYS_$1],
383 [syscall=SYS_$1],
384 [dnl Our libc failed use, so see if we can get the kernel
385 dnl headers to play ball ...
386 _UTIL_SYSCALL_CHECK_DECL([_NR_$1],
387 [syscall=_NR_$1],
388 [
389 syscall=no
390 if test "x$linux_os" = xyes; then
391 case $host_cpu in
392 _UTIL_CHECK_SYSCALL_FALLBACK(m4_shift($@))
393 esac
394 fi
395 ])
396 ])
397 util_cv_syscall_$1=$syscall
398 ])
399 AM_CONDITIONAL([HAVE_]m4_toupper($1), [test "x$util_cv_syscall_$1" != xno])
400 case $util_cv_syscall_$1 in #(
401 no) AC_MSG_WARN([Unable to detect syscall $1.]) ;;
402 SYS_*) ;;
403 *) AC_DEFINE_UNQUOTED([SYS_$1], [$util_cv_syscall_$1],
404 [Fallback syscall number for $1]) ;;
405 esac
406 ])
407
408 dnl _UTIL_SYSCALL_CHECK_DECL(SYMBOL, ACTION-IF-FOUND, ACTION-IF-NOT-FOUND)
409 dnl Check if SYMBOL is declared, using the headers needed for syscall checks.
410 dnl -------------------------------------
411 m4_define([_UTIL_SYSCALL_CHECK_DECL],
412 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
413 #include <sys/syscall.h>
414 #include <unistd.h>
415 ]], [[int test = $1;]])],
416 [$2], [$3])
417 ])
418
419 dnl _UTIL_CHECK_SYSCALL_FALLBACK(PATTERN, VALUE, ...)
420 dnl Helper macro to create the body for the above `case'.
421 dnl -------------------------------------
422 m4_define([_UTIL_CHECK_SYSCALL_FALLBACK],
423 [m4_ifval([$1],
424 [#(
425 $1) syscall="$2" ;;dnl
426 _UTIL_CHECK_SYSCALL_FALLBACK(m4_shiftn(2, $@))])dnl
427 ])
428
429
430 UTIL_CHECK_SYSCALL([pivot_root])
431 UTIL_CHECK_SYSCALL([sched_getaffinity])
432 UTIL_CHECK_SYSCALL([ioprio_set],
433 [alpha], [442],
434 [i*86], [289],
435 [ia64*], [1274],
436 [powerpc*], [273],
437 [s390*], [282],
438 [sparc*], [196],
439 [sh*], [288],
440 [x86_64*], [251])
441 UTIL_CHECK_SYSCALL([ioprio_get],
442 [alpha], [443],
443 [i*86], [290],
444 [ia64*], [1275],
445 [powerpc*], [274],
446 [s390*], [283],
447 [sparc*], [218],
448 [sh*], [289],
449 [x86_64*], [252])
450
451
452 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
453 #include <time.h>
454 #include <unistd.h>
455 ]], [[
456 int a = 0;
457 struct tm *tm = localtime(0);
458 if (a == -1) /* false */
459 sleep(tm->tm_gmtoff);
460 ]])],
461 [AC_DEFINE(HAVE_TM_GMTOFF,1,[Does struct tm have a field tm_gmtoff?])
462 ])
463
464 AC_CHECK_MEMBERS([struct termios.c_line],,,
465 [[#include <termios.h>]])
466
467 AC_CHECK_DECLS([
468 ADDR_NO_RANDOMIZE,
469 FDPIC_FUNCPTRS,
470 MMAP_PAGE_ZERO,
471 ADDR_COMPAT_LAYOUT,
472 READ_IMPLIES_EXEC,
473 ADDR_LIMIT_32BIT,
474 WHOLE_SECONDS,
475 STICKY_TIMEOUTS,
476 ADDR_LIMIT_3GB], [], [], [#include <linux/personality.h>])
477
478 AC_CHECK_HEADERS([sys/swap.h])
479
480 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
481 [[
482 #ifdef HAVE_SYS_SWAP_H
483 # include <sys/swap.h>
484 #endif
485 #include <unistd.h>
486 ]],
487 [[swapon("/dev/null", 0);]])],
488 [AC_DEFINE(SWAPON_HAS_TWO_ARGS, 1, [Is swapon() declared with two parameters?])
489 ],
490 [AC_MSG_NOTICE([Your libc thinks that swapon has 1 arg only.])
491 ])
492
493
494 dnl UTIL_SET_ARCH(ARCHNAME, PATTERN)
495 dnl ---------------------------------
496 AC_DEFUN([UTIL_SET_ARCH], [
497 cpu_$1=false
498 case "$host" in
499 $2) cpu_$1=true ;;
500 esac
501 AM_CONDITIONAL(AS_TR_CPP(ARCH_$1), [test "x$cpu_$1" = xtrue])
502 ])
503
504 UTIL_SET_ARCH(I86, i?86-*)
505 UTIL_SET_ARCH(86_64, x86_64*)
506 UTIL_SET_ARCH(IA64, ia64*)
507 UTIL_SET_ARCH(S390, s390*)
508 UTIL_SET_ARCH(SPARC, sparc*)
509 UTIL_SET_ARCH(PPC, ppc*|powerpc*)
510 UTIL_SET_ARCH(M68K, m68*)
511 UTIL_SET_ARCH(MIPS, mips*)
512 UTIL_SET_ARCH(HPPA, hppa*)
513
514 AC_ARG_ENABLE([arch],
515 AS_HELP_STRING([--enable-arch], [do build arch]),
516 [], enable_arch=no
517 )
518 AM_CONDITIONAL(BUILD_ARCH, test "x$enable_arch" = xyes)
519
520 AC_ARG_ENABLE([agetty],
521 AS_HELP_STRING([--disable-agetty], [do not build agetty]),
522 [], enable_agetty=yes
523 )
524 AM_CONDITIONAL(BUILD_AGETTY, test "x$enable_agetty" = xyes)
525
526 AC_ARG_ENABLE([cramfs],
527 AS_HELP_STRING([--disable-cramfs], [do not build fsck.cramfs, mkfs.cramfs]),
528 [], enable_cramfs=check
529 )
530
531 if test "x$enable_cramfs" = xno; then
532 build_cramfs=no
533 else
534 build_cramfs=yes
535 dnl Trick: leave the third parameter empty to get the default action.
536 AC_CHECK_LIB(z, crc32, [], build_cramfs=no)
537 case $enable_cramfs:$build_cramfs in
538 yes:no) AC_MSG_ERROR([cramfs selected but libz not found]);;
539 esac
540 fi
541 AM_CONDITIONAL(BUILD_CRAMFS, test "x$build_cramfs" = xyes)
542
543
544 AC_ARG_ENABLE([elvtune],
545 AS_HELP_STRING([--enable-elvtune], [build elvtune (only works with 2.2 and 2.4 kernels)]),
546 [], enable_elvtune=no
547 )
548 AM_CONDITIONAL(BUILD_ELVTUNE, test "x$enable_elvtune" = xyes)
549
550
551 AC_ARG_ENABLE([init],
552 AS_HELP_STRING([--enable-init], [build simpleinit, shutdown, initctl]),
553 [], enable_init=no
554 )
555 AM_CONDITIONAL(BUILD_INIT, test "x$enable_init" = xyes)
556
557
558 AC_ARG_ENABLE([kill],
559 AS_HELP_STRING([--enable-kill], [build kill]),
560 [], enable_kill=no
561 )
562 AM_CONDITIONAL(BUILD_KILL, test "x$enable_kill" = xyes)
563
564
565 AC_ARG_ENABLE([last],
566 AS_HELP_STRING([--enable-last], [build last]),
567 [], enable_last=no
568 )
569 AM_CONDITIONAL(BUILD_LAST, test "x$enable_last" = xyes)
570
571
572 AC_ARG_ENABLE([mesg],
573 AS_HELP_STRING([--enable-mesg], [build mesg]),
574 [], enable_mesg=no
575 )
576 AM_CONDITIONAL(BUILD_MESG, test "x$enable_mesg" = xyes)
577
578
579 AC_ARG_ENABLE([partx],
580 AS_HELP_STRING([--enable-partx], [build addpart, delpart, partx]),
581 [], enable_partx=no
582 )
583 AM_CONDITIONAL(BUILD_PARTX, test "x$enable_partx" = xyes)
584
585
586 AC_ARG_ENABLE([raw],
587 AS_HELP_STRING([--enable-raw], [build raw]),
588 [], enable_raw=no
589 )
590 AM_CONDITIONAL(BUILD_RAW, test "x$enable_raw" = xyes)
591
592
593 AC_ARG_ENABLE([rdev],
594 AS_HELP_STRING([--enable-rdev], [build rdev on i386]),
595 [], enable_rdev=no
596 )
597 AM_CONDITIONAL(BUILD_RDEV, test "x$enable_rdev" = xyes)
598
599
600 AC_ARG_ENABLE([rename],
601 AS_HELP_STRING([--disable-rename], [do not build rename]),
602 [], enable_rename=yes
603 )
604 AM_CONDITIONAL(BUILD_RENAME, test "x$enable_rename" = xyes)
605
606
607 AC_ARG_ENABLE([reset],
608 AS_HELP_STRING([--enable-reset], [build reset]),
609 [], enable_reset=no
610 )
611 AM_CONDITIONAL(BUILD_RESET, test "x$enable_reset" = xyes)
612
613
614 AC_ARG_ENABLE([login-utils],
615 AS_HELP_STRING([--enable-login-utils], [build chfn, chsh, login, newgrp, vipw]),
616 [], enable_login_utils=no
617 )
618 AM_CONDITIONAL(BUILD_LOGIN_UTILS, test "x$enable_login_utils" = xyes)
619
620 AC_ARG_WITH([pam],
621 [AS_HELP_STRING([--without-pam], [compile login-utils without PAM support])])
622
623 AM_CONDITIONAL(HAVE_PAM, false)
624 if test "x$enable_login_utils" = xyes && test "x$with_pam" != xno; then
625 AC_CHECK_HEADERS([security/pam_misc.h],
626 [AM_CONDITIONAL(HAVE_PAM, true)],
627 [if test "x$with_pam" = xyes; then
628 AC_MSG_ERROR([PAM selected but security/pam_misc.h not found])
629 fi
630 ])
631 fi
632
633 AC_ARG_WITH([selinux],
634 AS_HELP_STRING([--with-selinux], [compile with SELinux support]),
635 [], with_selinux=no
636 )
637
638 if test "x$with_selinux" = xno; then
639 AM_CONDITIONAL(HAVE_SELINUX, false)
640 else
641 UTIL_CHECK_LIB(selinux, getprevcon)
642 case "$with_selinux:$have_selinux" in
643 yes:no) AC_MSG_ERROR([SELinux selected but libselinux not found]);;
644 esac
645 fi
646
647 if test "x$have_selinux" = xyes; then
648 SELINUX_LIBS="-lselinux -lsepol"
649 SELINUX_LIBS_STATIC="-lselinux -lsepol"
650 fi
651 AC_SUBST([SELINUX_LIBS])
652 AC_SUBST([SELINUX_LIBS_STATIC])
653
654 AC_ARG_WITH([audit],
655 AS_HELP_STRING([--with-audit], [compile with audit support]),
656 [], with_audit=no
657 )
658
659 if test "x$with_audit" = xno; then
660 AM_CONDITIONAL(HAVE_AUDIT, false)
661 else
662 UTIL_CHECK_LIB(audit, audit_log_user_message)
663 case "$with_audit:$have_audit" in
664 yes:no)
665 AC_MSG_ERROR([Audit selected but libaudit not found (or doesn't support audit_log_user_message())])
666 ;;
667 esac
668 fi
669
670 AC_ARG_ENABLE([schedutils],
671 AS_HELP_STRING([--disable-schedutils], [do not build chrt, ionice, teskset]),
672 [], enable_schedutils=yes
673 )
674 AM_CONDITIONAL(BUILD_SCHEDUTILS, test "x$enable_schedutils" = xyes)
675
676
677 AC_ARG_ENABLE([wall],
678 AS_HELP_STRING([--disable-wall], [do not build wall]),
679 [], enable_wall=yes
680 )
681 AM_CONDITIONAL(BUILD_WALL, test "x$enable_wall" = xyes)
682
683
684 AC_ARG_ENABLE([write],
685 AS_HELP_STRING([--enable-write], [build write]),
686 [], enable_write=no
687 )
688 AM_CONDITIONAL(BUILD_WRITE, test "x$enable_write" = xyes)
689
690
691 AC_ARG_ENABLE([chsh-only-listed],
692 AS_HELP_STRING([--disable-chsh-only-listed], [chsh: allow shells not in /etc/shells]),
693 [], enable_chsh_only_listed=yes
694 )
695
696 if test "x$enable_chsh_only_listed" = xyes; then
697 AC_DEFINE(ONLY_LISTED_SHELLS, 1, [Should chsh allow only shells in /etc/shells?])
698 fi
699
700
701 AC_ARG_ENABLE([login-chown-vcs],
702 AS_HELP_STRING([--enable-login-chown-vcs], [let login chown /dev/vcsN]),
703 [], enable_login_chown_vcs=no
704 )
705
706 if test "x$enable_login_chown_vcs" = xyes; then
707 AC_DEFINE(LOGIN_CHOWN_VCS, 1, [Should login chown /dev/vcsN?])
708 fi
709
710
711 AC_ARG_ENABLE([login-stat-mail],
712 AS_HELP_STRING([--enable-login-stat-mail], [let login stat() the mailbox]),
713 [], enable_login_stat_mail=no
714 )
715
716 if test "x$enable_login_stat_mail" = xyes; then
717 AC_DEFINE(LOGIN_STAT_MAIL, 1, [Should login stat() the mailbox?])
718 fi
719
720
721 AC_ARG_ENABLE([pg-bell],
722 AS_HELP_STRING([--disable-pg-bell], [let pg not ring the bell on invalid keys]),
723 [], enable_pg_bell=yes
724 )
725
726 if test "x$enable_pg_bell" = xyes; then
727 AC_DEFINE(PG_BELL, 1, [Should pg ring the bell on invalid keys?])
728 fi
729
730
731 AC_ARG_ENABLE([require-password],
732 AS_HELP_STRING([--disable-require-password], [do not require the user to enter the password in chfn and chsh]),
733 [], enable_require_password=yes
734 )
735
736 if test "x$enable_require_password" = xyes; then
737 AC_DEFINE(REQUIRE_PASSWORD, 1, [Should chfn and chsh require the user to enter the password?])
738 fi
739
740
741 AC_ARG_ENABLE([use-tty-group],
742 AS_HELP_STRING([--disable-use-tty-group], [do not install wall and write setgid tty]),
743 [], enable_use_tty_group=yes
744 )
745 AM_CONDITIONAL(USE_TTY_GROUP, test "x$enable_use_tty_group" = xyes)
746
747 if test "x$enable_use_tty_group" = xyes; then
748 AC_DEFINE(USE_TTY_GROUP, 1, [Should wall and write be installed setgid tty?])
749 fi
750
751 AC_ARG_ENABLE([makeinstall-chown],
752 AS_HELP_STRING([--disable-makeinstall-chown], [do not do chown-like operations during "make install"]),
753 [], enable_makeinstall_chown=yes
754 )
755 AM_CONDITIONAL(MAKEINSTALL_DO_CHOWN, test "x$enable_makeinstall_chown" = xyes)
756
757
758 AC_ARG_VAR([SUID_CFLAGS],
759 [CFLAGS used for binaries which are usually with the suid bit])
760 AC_ARG_VAR([SUID_LDFLAGS],
761 [LDFLAGS used for binaries which are usually with the suid bit])
762
763 LIBS=""
764
765
766 AC_CONFIG_HEADERS(config.h)
767
768 AC_CONFIG_FILES([
769 Makefile
770 disk-utils/Makefile
771 fdisk/Makefile
772 fsck/Makefile
773 getopt/Makefile
774 hwclock/Makefile
775 include/Makefile
776 lib/Makefile
777 libs/Makefile
778 libs/blkid/blkid.pc
779 libs/blkid/Makefile
780 libs/blkid/bin/Makefile
781 libs/blkid/src/Makefile
782 libs/blkid/src/probers/Makefile
783 login-utils/Makefile
784 misc-utils/Makefile
785 mount/Makefile
786 partx/Makefile
787 po/Makefile.in
788 schedutils/Makefile
789 sys-utils/Makefile
790 text-utils/Makefile
791 tests/Makefile
792 tests/helpers/Makefile
793 tests/commands.sh
794 misc-utils/chkdupexe:misc-utils/chkdupexe.pl
795 ])
796
797 AC_OUTPUT