7 dnl This is to figure out the version number and the date....
9 E2FSPROGS_VERSION=`grep E2FSPROGS_VERSION ${srcdir}/version.h \
10 | awk '{print $3}' | tr \" " " | awk '{print $1}'`
11 DATE=`grep E2FSPROGS_DATE ${srcdir}/version.h | awk '{print $3}' \
13 E2FSPROGS_DAY=`echo $DATE | awk -F- '{print $1}'`
14 MONTH=`echo $DATE | awk -F- '{print $2}'`
15 YEAR=`echo $DATE | awk -F- '{print $3}'`
17 if expr $YEAR ">" 1900 > /dev/null ; then
19 elif expr $YEAR ">" 90 >/dev/null ; then
20 E2FSPROGS_YEAR=19$YEAR
22 E2FSPROGS_YEAR=20$YEAR
26 Jan) E2FSPROGS_MONTH="January" ;;
27 Feb) E2FSPROGS_MONTH="February" ;;
28 Mar) E2FSPROGS_MONTH="March" ;;
29 Apr) E2FSPROGS_MONTH="April" ;;
30 May) E2FSPROGS_MONTH="May" ;;
31 Jun) E2FSPROGS_MONTH="June" ;;
32 Jul) E2FSPROGS_MONTH="July" ;;
33 Aug) E2FSPROGS_MONTH="August" ;;
34 Sep) E2FSPROGS_MONTH="September" ;;
35 Oct) E2FSPROGS_MONTH="October" ;;
36 Nov) E2FSPROGS_MONTH="November" ;;
37 Dec) E2FSPROGS_MONTH="December" ;;
38 *) echo "Unknown month $MONTH??" ;;
42 echo "Generating configuration file for e2fsprogs version $E2FSPROGS_VERSION"
43 echo "Release date is ${E2FSPROGS_MONTH}, ${E2FSPROGS_YEAR}"
44 AC_SUBST(E2FSPROGS_YEAR)
45 AC_SUBST(E2FSPROGS_MONTH)
46 AC_SUBST(E2FSPROGS_DAY)
47 AC_SUBST(E2FSPROGS_VERSION)
50 dnl Should we compile EVMS plugin or not. Complicated logic, spread
51 dnl over several different command-line options...
57 AC_ARG_WITH([diet-libc],
58 [ --with-diet-libc Use diet libc],
59 CC="diet cc -nostdinc"
61 AC_MSG_RESULT(CC=$CC))dnl
63 dnl set $(CC) from --with-cc=value
66 [ --with-cc=COMPILER select compiler to use],
67 AC_MSG_RESULT(CC=$withval)
69 if test -z "$CC" ; then CC=cc; fi
70 [AC_MSG_RESULT(CC defaults to $CC)])dnl
75 dnl set $(LD) from --with-linker=value
78 [ --with-linker=LINKER select linker to use],
79 AC_MSG_RESULT(LD=$withval)
81 if test -z "$LD" ; then LD=$CC; fi
82 [AC_MSG_RESULT(LD defaults to $LD)])dnl
86 dnl set $(CCOPTS) from --with-ccopts=value
89 [ --with-ccopts=CCOPTS select compiler command line options],
90 AC_MSG_RESULT(CCOPTS is $withval)
94 dnl On systems without linux header files, we add an extra include directory
95 dnl that holds enough to fake it (hopefully). Note that the $(top_srcdir) here
96 dnl is quoted so that it gets expanded by make, not by configure.
98 AC_CHECK_HEADER(linux/fs.h, [linux_headers=yes], [linux_headers=no])
99 if test "$linux_headers" != yes; then
100 LINUX_INCLUDE='-I$(top_builddir)/include'
102 AC_SUBST(LINUX_INCLUDE)
104 dnl Alpha computers use fast and imprecise floating point code that may
105 dnl miss exceptions by default. Force sane options if we're using GCC.
106 AC_MSG_CHECKING(for additional special compiler flags)
110 alpha) addcflags="-mieee" ;;
113 if test "x$addcflags" != x
115 AC_MSG_RESULT($addcflags)
116 CFLAGS="$addcflags $CFLAGS"
118 AC_MSG_RESULT([[(none)]])
121 dnl Set default values for library extentions. Will be dealt with after
122 dnl parsing configuration opions, which may modify these
128 dnl set $(LDFLAGS) from --with-ldopts=value
130 AC_ARG_WITH([ldopts],
131 [ --with-ldopts=LDOPTS select linker command line options],
132 AC_MSG_RESULT(LDFLAGS is $withval)
137 dnl Allow separate `root_prefix' to be specified
139 AC_ARG_WITH([root-prefix],
140 [ --with-root-prefix=PREFIX override prefix variable for files to be placed in the root],
141 root_prefix=$withval,
144 dnl handle --enable-compression
146 AC_ARG_ENABLE([compression],
147 [ --enable-compression enable EXPERIMENTAL compression support],
148 if test "$enableval" = "no"
150 echo "Disabling compression support"
152 AC_DEFINE(ENABLE_COMPRESSION)
153 echo "Enabling compression support"
154 echo "WARNING: Compression support is experimental"
157 echo "Disabling compression support by default"
160 dnl handle --enable-htree
162 AC_ARG_ENABLE([htree],
163 [ --enable-htree enable EXPERIMENTAL htree directory support],
164 if test "$enableval" = "no"
167 echo "Disabling htree directory support"
170 AC_DEFINE(ENABLE_HTREE)
171 echo "Enabling htree directory support"
175 AC_DEFINE(ENABLE_HTREE)
176 echo "Enabling htree directory support by default"
180 dnl handle --enable-clear-htree
182 AC_ARG_ENABLE([htree-clear],
183 [ --enable-htree-clear clear htree because we don't trust e2fsck],
184 if test "$enableval" = "no"
187 echo "Disabling htree clearing"
190 AC_DEFINE(ENABLE_HTREE_CLEAR)
191 echo "Enabling htree clearing"
195 echo "Disabling htree clearing by default"
197 AC_SUBST(HTREE_CLR_CMT)
199 dnl handle --enable-evms
201 AC_ARG_ENABLE([evms],
202 [ --disable-evms don't build EVMS plugin],
203 if test "$enableval" == "no"
206 echo "Disabling EVMS plugin"
210 dnl handle --enable-emvs-10
213 AC_ARG_ENABLE([evms-10],
214 [ --enable-evms-10 use EVMS 1.0 ABI (instead of EVMS 1.2)],
215 if test "$enableval" != "no"
218 echo "Enabling EVMS 1.0.0 ABI"
222 dnl handle --enable-emvs-11
224 AC_ARG_ENABLE([evms-11],
225 [ --enable-evms-11 use EVMS 1.1 ABI (instead of EVMS 1.2)],
226 if test "$enableval" != "no"
229 echo "Enabling EVMS 1.1.0 ABI"
232 if test "$EVMS_ABI_CODE" = "120"
234 echo "Using EVMS 1.2.0 ABI by default"
236 AC_SUBST(EVMS_ABI_CODE)
238 dnl handle --enable-dll-shlibs
240 AC_ARG_ENABLE([dll-shlibs],
241 [ --enable-dll-shlibs select DLL libraries],
242 if test "$enableval" = "no"
245 MAKEFILE_DLL=/dev/null
246 echo "Disabling DLL shared libraries"
249 MAKEFILE_DLL=$srcdir/lib/Makefile.dll-lib
252 echo "Enabling DLL shared libraries"
255 MAKEFILE_DLL=/dev/null
257 echo "Disabling DLL shared libraries by default"
260 AC_SUBST_FILE(MAKEFILE_DLL)
262 dnl handle --enable-elf-shlibs
264 AC_ARG_ENABLE([elf-shlibs],
265 [ --enable-elf-shlibs select ELF shared libraries],
266 if test "$enableval" = "no"
269 MAKEFILE_ELF=/dev/null
270 echo "Disabling ELF shared libraries"
273 MAKEFILE_ELF=$srcdir/lib/Makefile.elf-lib
276 MAKEFILE_ELF=$srcdir/lib/Makefile.solaris-lib
281 echo "Enabling ELF shared libraries"
284 MAKEFILE_ELF=/dev/null
286 echo "Disabling ELF shared libraries by default"
289 AC_SUBST_FILE(MAKEFILE_ELF)
291 dnl handle --enable-bsd-shlibs
293 AC_ARG_ENABLE([bsd-shlibs],
294 [ --enable-bsd-shlibs select BSD shared libraries],
295 if test "$enableval" = "no"
298 MAKEFILE_BSDLIB=/dev/null
299 echo "Disabling BSD shared libraries"
302 MAKEFILE_BSDLIB=$srcdir/lib/Makefile.bsd-lib
306 MAKEFILE_BSDLIB=$srcdir/lib/Makefile.darwin-lib
310 echo "Enabling BSD shared libraries"
313 MAKEFILE_BSDLIB=/dev/null
315 echo "Disabling BSD shared libraries by default"
318 AC_SUBST_FILE(MAKEFILE_BSDLIB)
320 dnl handle --enable-profile
322 AC_ARG_ENABLE([profile],
323 [ --enable-profile build profiling libraries],
324 if test "$enableval" = "no"
327 MAKEFILE_PROFILE=/dev/null
328 echo "Disabling profiling libraries"
331 MAKEFILE_PROFILE=$srcdir/lib/Makefile.profile
332 PROFILED_LIB_EXT=_p.a
333 echo "Building profiling libraries"
337 MAKEFILE_PROFILE=/dev/null
338 echo "Disabling profiling libraries by default"
340 AC_SUBST(PROFILE_CMT)
341 AC_SUBST_FILE(MAKEFILE_PROFILE)
343 dnl handle --enable-checker
345 AC_ARG_ENABLE([checker],
346 [ --enable-checker build checker libraries],
347 if test "$enableval" = "no"
350 MAKEFILE_CHECKER=/dev/null
351 echo "Disabling checker libraries"
354 MAKEFILE_CHECKER=$srcdir/lib/Makefile.checker
355 echo "Building checker libraries"
359 MAKEFILE_CHECKER=/dev/null
360 echo "Disabling checker libraries by default"
362 AC_SUBST(CHECKER_CMT)
363 AC_SUBST_FILE(MAKEFILE_CHECKER)
365 dnl Substitute library extensions
368 AC_SUBST(STATIC_LIB_EXT)
369 AC_SUBST(PROFILED_LIB_EXT)
371 dnl handle --enable-jbd-debug
373 AC_ARG_ENABLE([jbd-debug],
374 [ --enable-jbd-debug enable journal debugging],
375 if test "$enableval" = "no"
377 echo "Disabling journal debugging"
379 AC_DEFINE(CONFIG_JBD_DEBUG)
380 echo "Enabling journal debugging"
383 echo "Disabling journal debugging by default"
386 dnl handle --enable-blkid-debug
388 AC_ARG_ENABLE([blkid-debug],
389 [ --enable-blkid-debug enable blkid debugging],
390 if test "$enableval" = "no"
392 echo "Disabling blkid debugging"
394 AC_DEFINE(CONFIG_BLKID_DEBUG)
395 echo "Enabling blkid debugging"
398 echo "Disabling blkid debugging by default"
401 dnl handle --enable-testio-debug
403 AC_ARG_ENABLE([testio-debug],
404 [ --enable-testio-debug enable the use of the test I/O manager for debugging],
405 if test "$enableval" = "no"
407 echo "Disabling testio debugging"
409 AC_DEFINE(CONFIG_TESTIO_DEBUG)
410 echo "Enabling testio debugging"
413 echo "Disabling testio debugging by default"
416 dnl handle --enable-swapfs
418 AC_ARG_ENABLE([swapfs],
419 [ --disable-swapfs disable support of legacy byte-swapped filesystems],
420 if test "$enableval" = "no"
423 echo "Disabling swapfs support"
426 AC_DEFINE(ENABLE_SWAPFS)
427 echo "Enabling swapfs support"
431 echo "Enabling swapfs support by default"
432 AC_DEFINE(ENABLE_SWAPFS)
436 dnl handle --enable-debugfs
438 AC_ARG_ENABLE([debugfs],
439 [ --disable-debugfs disable support of debugfs program],
440 if test "$enableval" = "no"
442 echo "Disabling debugfs support"
446 echo "Enabling debugfs support"
449 echo "Enabling debugfs support by default"
452 AC_SUBST(DEBUGFS_CMT)
454 dnl handle --enable-imager
456 AC_ARG_ENABLE([imager],
457 [ --disable-imager disable support of e2image program],
458 if test "$enableval" = "no"
460 echo "Disabling e2image support"
464 echo "Enabling e2image support"
467 echo "Enabling e2image support by default"
472 dnl handle --enable-resizer
474 AC_ARG_ENABLE([resizer],
475 [ --disable-resizer disable support of e2resize program],
476 if test "$enableval" = "no"
478 echo "Disabling e2resize support"
482 echo "Enabling e2resize support"
485 echo "Enabling e2resize support by default"
488 AC_SUBST(RESIZER_CMT)
490 dnl handle --enable-dynamic-e2fsck
492 AC_ARG_ENABLE([dynamic-e2fsck],
493 [ --enable-dynamic-e2fsck build e2fsck dynamically],
494 if test "$enableval" = "no"
497 echo "Building e2fsck statically"
500 echo "Building e2fsck dynamically"
504 echo "Building e2fsck statically by default"
506 AC_SUBST(E2FSCK_TYPE)
508 dnl See whether to install the `fsck' wrapper program (that calls e2fsck)
510 AC_ARG_ENABLE([fsck],
511 [ --enable-fsck build fsck wrapper program],
512 [if test "$enableval" = "no"
514 FSCK_PROG='' FSCK_MAN=''
515 echo "Not building fsck wrapper"
517 FSCK_PROG=fsck FSCK_MAN=fsck.8
518 echo "Building fsck wrapper"
523 FSCK_PROG='' FSCK_MAN=''
524 echo "Not building fsck wrapper by default"
527 FSCK_PROG=fsck FSCK_MAN=fsck.8
528 echo "Building fsck wrapper by default"
534 dnl See whether to install the `e2initrd-helper' program
536 AC_ARG_ENABLE([e2initrd-helper],
537 [ --enable-e2initrd-helper build e2initrd-helper program],
538 [if test "$enableval" = "no"
540 E2INITRD_PROG='' E2INITRD_MAN=''
541 echo "Not building e2initrd helper"
543 E2INITRD_PROG=e2initrd_helper E2INITRD_MAN=e2initrd_helper.8
544 echo "Building e2initrd helper"
547 E2INITRD_PROG=e2initrd_helper E2INITRD_MAN=e2initrd_helper.8
548 echo "Building e2initrd helper by default"
550 AC_SUBST(E2INITRD_PROG)
551 AC_SUBST(E2INITRD_MAN)
554 MAKEFILE_LIBRARY=$srcdir/lib/Makefile.library
555 AC_SUBST_FILE(MAKEFILE_LIBRARY)
558 AC_ARG_ENABLE([old-bitops],
559 [ --enable-old-bitops Use old (non-standard but native) bitmask operations],
560 if test "$enableval" = "no"
562 echo "Using new (standard) bitmask operations"
564 AC_DEFINE(EXT2_OLD_BITOPS)
565 echo "Using old (native) bitmask operations"
569 echo "Using standard bitmask operations by default"
572 dnl Add internationalization support, using gettext.
575 VERSION="$E2FSPROGS_VERSION"
576 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
577 AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
583 dnl End of configuration options
585 AC_SUBST(BINARY_TYPE)
587 AC_PATH_PROG(LN, ln, ln)
589 AC_PATH_PROG(MV, mv, mv)
590 AC_PATH_PROG(CP, cp, cp)
591 AC_PATH_PROG(RM, rm, rm)
592 AC_PATH_PROG(CHMOD, chmod, :)
593 AC_PATH_PROG(AWK, awk, awk)
594 AC_PATH_PROG(SED, sed, sed)
595 AC_PATH_PROG(PERL, perl, perl)
596 AC_PATH_PROG(LDCONFIG, ldconfig, :)
597 AC_CHECK_TOOL(AR, ar, ar)
598 AC_CHECK_TOOL(RANLIB, ranlib, :)
599 AC_CHECK_TOOL(STRIP, strip, :)
601 # See if we need a separate native compiler.
602 if test $cross_compiling = no; then
606 AC_CHECK_PROGS(BUILD_CC, gcc cc)
608 AC_CHECK_HEADERS(stdlib.h unistd.h stdarg.h stdint.h errno.h malloc.h mntent.h paths.h dirent.h getopt.h setjmp.h signal.h termios.h linux/fd.h linux/major.h sys/disk.h sys/disklabel.h sys/ioctl.h sys/mkdev.h sys/mount.h sys/queue.h sys/sockio.h sys/socket.h sys/sysmacros.h sys/time.h sys/stat.h sys/types.h sys/wait.h sys/resource.h net/if.h net/if_dl.h netinet/in.h)
610 dnl Check to see if dirent has member d_reclen. On cygwin those d_reclen
611 dnl is not decleared.
612 AC_MSG_CHECKING(whether d_reclen declared in dirent)
613 AC_CACHE_VAL(e2fsprogs_cv_have_d_reclen_dirent,
615 [#include <dirent.h>], [struct dirent de; de.d_reclen = 0; ],
616 [e2fsprogs_cv_have_d_reclen_dirent=yes],
617 [e2fsprogs_cv_have_d_reclen_dirent=no]))
618 AC_MSG_RESULT($e2fsprogs_cv_have_d_reclen_dirent)
619 if test "$e2fsprogs_cv_have_d_reclen_dirent" = yes; then
620 AC_DEFINE(HAVE_RECLEN_DIRENT)
622 dnl Check to see if ssize_t was decleared
623 AC_MSG_CHECKING(whether ssize_t declared)
624 AC_CACHE_VAL(e2fsprogs_cv_have_ssize_t,
626 [#include <sys/types.h>], [ssize_t a = 0; ],
627 [e2fsprogs_cv_have_ssize_t=yes],
628 [e2fsprogs_cv_have_ssize_t=no]))
629 AC_MSG_RESULT($e2fsprogs_cv_have_ssize_t)
630 if test "$e2fsprogs_cv_have_ssize_t" = yes; then
631 AC_DEFINE(HAVE_TYPE_SSIZE_T)
634 dnl Check to see if llseek() is declared in unistd.h. On some libc's
635 dnl it is, and on others it isn't..... Thank you glibc developers....
637 dnl Warning! Use of --enable-gcc-wall may throw off this test.
640 AC_MSG_CHECKING(whether llseek declared in unistd.h)
641 AC_CACHE_VAL(e2fsprogs_cv_have_llseek_prototype,
643 [#include <unistd.h>], [extern int llseek(int);],
644 [e2fsprogs_cv_have_llseek_prototype=no],
645 [e2fsprogs_cv_have_llseek_prototype=yes]))
646 AC_MSG_RESULT($e2fsprogs_cv_have_llseek_prototype)
647 if test "$e2fsprogs_cv_have_llseek_prototype" = yes; then
648 AC_DEFINE(HAVE_LLSEEK_PROTOTYPE)
651 dnl Check to see if lseek64() is declared in unistd.h. Glibc's header files
652 dnl are so convoluted that I can't tell whether it will always be defined,
653 dnl and if it isn't defined while lseek64 is defined in the library,
654 dnl disaster will strike.
656 dnl Warning! Use of --enable-gcc-wall may throw off this test.
659 AC_MSG_CHECKING(whether lseek64 declared in unistd.h)
660 AC_CACHE_VAL(e2fsprogs_cv_have_lseek64_prototype,
662 [#define _LARGEFILE_SOURCE
663 #define _LARGEFILE64_SOURCE
664 #include <unistd.h>], [extern int lseek64(int);],
665 [e2fsprogs_cv_have_lseek64_prototype=no],
666 [e2fsprogs_cv_have_lseek64_prototype=yes]))
667 AC_MSG_RESULT($e2fsprogs_cv_have_lseek64_prototype)
668 if test "$e2fsprogs_cv_have_lseek64_prototype" = yes; then
669 AC_DEFINE(HAVE_LSEEK64_PROTOTYPE)
674 if test "$cross_compiling" = yes -a "$ac_cv_sizeof_long" = ""; then
675 # if cross-compiling, with no cached values, just assume something common.
679 ac_cv_sizeof_long_long=8
680 AC_MSG_WARN([Cross-compiling, so cannot check type sizes; assuming short=2, int=4, long=4, long long=8])
682 AC_CHECK_SIZEOF(short)
684 AC_CHECK_SIZEOF(long)
685 AC_CHECK_SIZEOF(long long)
686 SIZEOF_SHORT=$ac_cv_sizeof_short
687 SIZEOF_INT=$ac_cv_sizeof_int
688 SIZEOF_LONG=$ac_cv_sizeof_long
689 SIZEOF_LONG_LONG=$ac_cv_sizeof_long_long
690 AC_SUBST(SIZEOF_SHORT)
692 AC_SUBST(SIZEOF_LONG)
693 AC_SUBST(SIZEOF_LONG_LONG)
696 dnl See if we have inttypes.h and if intptr_t is defined
698 AC_CHECK_HEADERS([inttypes.h])
699 AC_CHECK_TYPE(intptr_t,long)
701 dnl See if struct stat has a st_flags field, in which case we can get file
702 dnl flags somewhat portably. Also check for the analogous setter, chflags().
704 AC_MSG_CHECKING(whether struct stat has a st_flags field)
705 AC_CACHE_VAL(e2fsprogs_cv_struct_st_flags,
706 AC_TRY_COMPILE([#include <sys/stat.h>],
707 [struct stat stat; stat.st_flags = 0;],
708 [e2fsprogs_cv_struct_st_flags=yes],
709 [e2fsprogs_cv_struct_st_flags=no]))
710 AC_MSG_RESULT($e2fsprogs_cv_struct_st_flags)
711 if test "$e2fsprogs_cv_struct_st_flags" = yes; then
712 AC_MSG_CHECKING(whether st_flags field is useful)
713 AC_CACHE_VAL(e2fsprogs_cv_struct_st_flags_immut,
714 AC_TRY_COMPILE([#include <sys/stat.h>],
715 [struct stat stat; stat.st_flags |= UF_IMMUTABLE;],
716 [e2fsprogs_cv_struct_st_flags_immut=yes],
717 [e2fsprogs_cv_struct_st_flags_immut=no]))
718 AC_MSG_RESULT($e2fsprogs_cv_struct_st_flags_immut)
719 if test "$e2fsprogs_cv_struct_st_flags_immut" = yes; then
720 AC_DEFINE(HAVE_STAT_FLAGS)
724 dnl Check for the presence of SA_LEN
726 AC_MSG_CHECKING(whether struct sockaddr contains sa_len)
727 AC_CACHE_VAL(e2fsprogs_cv_sockaddr_sa_len,
728 [AC_TRY_COMPILE([#include <sys/types.h>
729 #include <sys/socket.h>
733 e2fsprogs_cv_sockaddr_sa_len=yes,e2fsprogs_cv_sockaddr_sa_len=no)])
734 AC_MSG_RESULT([$]e2fsprogs_cv_sockaddr_sa_len)
735 if test $e2fsprogs_cv_sockaddr_sa_len = yes; then
736 AC_DEFINE_UNQUOTED(HAVE_SA_LEN,1,[Define if struct sockaddr contains sa_len])
739 AC_CHECK_FUNCS(chflags getrusage llseek lseek64 open64 getmntinfo strtoull strcasecmp srandom fchown mallinfo fdatasync strnlen strptime sysconf pathconf posix_memalign memalign valloc)
741 dnl Check to see if -lsocket is required (solaris) to make something
742 dnl that uses socket() to compile; this is needed for the UUID library
745 AC_CHECK_LIB(socket, socket, [SOCKET_LIB=-lsocket])
748 dnl Check to see if libdl exists for the sake of dlopen
751 AC_CHECK_LIB(dl, dlopen,
753 AC_DEFINE(HAVE_DLOPEN)])
756 dnl See if optreset exists
758 AC_MSG_CHECKING(for optreset)
759 AC_CACHE_VAL(ac_cv_have_optreset,
760 [AC_EGREP_HEADER(optreset, unistd.h,
761 ac_cv_have_optreset=yes, ac_cv_have_optreset=no)])dnl
762 AC_MSG_RESULT($ac_cv_have_optreset)
763 if test $ac_cv_have_optreset = yes; then
764 AC_DEFINE(HAVE_OPTRESET)
767 dnl We use the EXT2 ioctls only under Linux
771 AC_DEFINE(HAVE_EXT2_IOCTLS)
775 dnl OS-specific uncomment control
797 dnl Linux and Hurd places root files in the / by default
800 linux* | gnu* | k*bsd*-gnu)
801 if test "$prefix" = NONE -a "$root_prefix" = NONE ; then
803 echo "On $host_os systems, root_prefix defaults to ''"
808 dnl On Linux/hurd, force the prefix to be /usr
811 linux* | gnu* | k*bsd*-gnu)
812 if test "$prefix" = NONE ; then
814 echo "On $host_os systems, prefix defaults to /usr"
815 if test "$mandir" = '${prefix}/man' ; then
816 echo "...and mandir defaults to /usr/share/man"
817 mandir=/usr/share/man
822 if test "$root_prefix" = NONE ; then
823 if test "$prefix" = NONE ; then
824 root_prefix="$ac_default_prefix"
826 root_prefix="$prefix"
829 root_sbindir=$sbindir
831 root_sysconfdir=$sysconfdir
833 root_bindir='${root_prefix}/bin'
834 root_sbindir='${root_prefix}/sbin'
835 root_libdir='${root_prefix}/lib'
836 root_sysconfdir='${root_prefix}/etc'
838 AC_SUBST(root_prefix)
839 AC_SUBST(root_bindir)
840 AC_SUBST(root_sbindir)
841 AC_SUBST(root_libdir)
842 AC_SUBST(root_sysconfdir)
844 dnl See if -static works.
846 AC_MSG_CHECKING([whether linker accepts -static])
847 AC_CACHE_VAL(ac_cv_e2fsprogs_use_static,
848 [SAVE_LDFLAGS=$LDFLAGS; LDFLAGS="$LDFLAGS -static"
849 AC_TRY_LINK([#include <stdio.h>],[fflush(stdout);],
850 ac_cv_e2fsprogs_use_static=yes, ac_cv_e2fsprogs_use_static=no)
851 LDFLAGS=$SAVE_LDFLAGS])
853 dnl Regardless of how the test turns out, Solaris doesn't handle -static
854 dnl This is caused by the socket library requiring the nsl library, which
855 dnl requires the -dl library, which only works for dynamically linked
856 dnl programs. It basically means you can't have statically linked programs
857 dnl which use the network under Solaris.
861 ac_cv_e2fsprogs_use_static=no
864 AC_MSG_RESULT($ac_cv_e2fsprogs_use_static)
866 if test $ac_cv_e2fsprogs_use_static = yes; then
867 LDFLAG_STATIC=-static
869 AC_SUBST(LDFLAG_STATIC)
871 dnl Work around mysterious Darwin / GNU libintl problem
872 dnl (__asm__ redirection doesn't work for some mysterious reason. Looks like
873 dnl Apple hacked gcc somehow?)
877 echo "Using Apple Darwin / GNU libintl workaround"
878 AC_DEFINE(_INTL_REDIRECT_MACROS)
882 dnl Make the ss and et directories work correctly.
884 SS_DIR=`cd ${srcdir}/lib/ss; pwd`
885 ET_DIR=`cd ${srcdir}/lib/et; pwd`
889 dnl Only try to run the test suite if we're not cross compiling.
891 if test "$cross_compiling" = yes ; then
896 AC_SUBST(DO_TEST_SUITE)
898 dnl Only include the intl include files if we're building with them
901 if test "$USE_INCLUDED_LIBINTL" = "yes" ; then
902 INTL_FLAGS='-I$(top_builddir)/intl -I$(top_srcdir)/intl'
906 dnl Make our output files, being sure that we create the some miscellaneous
909 test -d lib || mkdir lib
910 test -d include || mkdir include
911 test -d include/linux || mkdir include/linux
912 test -d include/asm || mkdir include/asm
913 for i in MCONFIG Makefile e2fsprogs.spec \
914 util/Makefile util/subst.conf util/gen-tarball \
915 lib/et/Makefile lib/ss/Makefile lib/ext2fs/Makefile lib/e2p/Makefile \
916 lib/uuid/Makefile lib/uuid/uuid_types.h \
917 lib/blkid/Makefile lib/blkid/blkid_types.h \
918 lib/evms/Makefile misc/Makefile ext2ed/Makefile e2fsck/Makefile \
919 debugfs/Makefile tests/Makefile tests/progs/Makefile \
920 resize/Makefile doc/Makefile intl/Makefile po/Makefile.in ; do
921 if test -d `dirname ${srcdir}/$i` ; then
922 outlist="$outlist $i"