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"
535 MAKEFILE_LIBRARY=$srcdir/lib/Makefile.library
536 AC_SUBST_FILE(MAKEFILE_LIBRARY)
539 AC_ARG_ENABLE([old-bitops],
540 [ --enable-old-bitops Use old (non-standard but native) bitmask operations],
541 if test "$enableval" = "no"
543 echo "Using new (standard) bitmask operations"
545 AC_DEFINE(EXT2_OLD_BITOPS)
546 echo "Using old (native) bitmask operations"
550 echo "Using standard bitmask operations by default"
553 dnl Add internationalization support, using gettext.
556 VERSION="$E2FSPROGS_VERSION"
557 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
558 AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
564 dnl End of configuration options
566 AC_SUBST(BINARY_TYPE)
568 AC_PATH_PROG(LN, ln, ln)
570 AC_PATH_PROG(MV, mv, mv)
571 AC_PATH_PROG(CP, cp, cp)
572 AC_PATH_PROG(RM, rm, rm)
573 AC_PATH_PROG(CHMOD, chmod, :)
574 AC_PATH_PROG(AWK, awk, awk)
575 AC_PATH_PROG(SED, sed, sed)
576 AC_PATH_PROG(PERL, perl, perl)
577 AC_PATH_PROG(LDCONFIG, ldconfig, :)
578 AC_CHECK_TOOL(AR, ar, ar)
579 AC_CHECK_TOOL(RANLIB, ranlib, :)
580 AC_CHECK_TOOL(STRIP, strip, :)
582 # See if we need a separate native compiler.
583 if test $cross_compiling = no; then
587 AC_CHECK_PROGS(BUILD_CC, gcc cc)
589 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/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)
591 dnl Check to see if dirent has member d_reclen. On cygwin those d_reclen
592 dnl is not decleared.
593 AC_MSG_CHECKING(whether d_reclen declared in dirent)
594 AC_CACHE_VAL(e2fsprogs_cv_have_d_reclen_dirent,
596 [#include <dirent.h>], [struct dirent de; de.d_reclen = 0; ],
597 [e2fsprogs_cv_have_d_reclen_dirent=yes],
598 [e2fsprogs_cv_have_d_reclen_dirent=no]))
599 AC_MSG_RESULT($e2fsprogs_cv_have_d_reclen_dirent)
600 if test "$e2fsprogs_cv_have_d_reclen_dirent" = yes; then
601 AC_DEFINE(HAVE_RECLEN_DIRENT)
603 dnl Check to see if ssize_t was decleared
604 AC_MSG_CHECKING(whether ssize_t declared)
605 AC_CACHE_VAL(e2fsprogs_cv_have_ssize_t,
607 [#include <sys/types.h>], [ssize_t a = 0; ],
608 [e2fsprogs_cv_have_ssize_t=yes],
609 [e2fsprogs_cv_have_ssize_t=no]))
610 AC_MSG_RESULT($e2fsprogs_cv_have_ssize_t)
611 if test "$e2fsprogs_cv_have_ssize_t" = yes; then
612 AC_DEFINE(HAVE_TYPE_SSIZE_T)
615 dnl Check to see if llseek() is declared in unistd.h. On some libc's
616 dnl it is, and on others it isn't..... Thank you glibc developers....
618 dnl Warning! Use of --enable-gcc-wall may throw off this test.
621 AC_MSG_CHECKING(whether llseek declared in unistd.h)
622 AC_CACHE_VAL(e2fsprogs_cv_have_llseek_prototype,
624 [#include <unistd.h>], [extern int llseek(int);],
625 [e2fsprogs_cv_have_llseek_prototype=no],
626 [e2fsprogs_cv_have_llseek_prototype=yes]))
627 AC_MSG_RESULT($e2fsprogs_cv_have_llseek_prototype)
628 if test "$e2fsprogs_cv_have_llseek_prototype" = yes; then
629 AC_DEFINE(HAVE_LLSEEK_PROTOTYPE)
632 dnl Check to see if lseek64() is declared in unistd.h. Glibc's header files
633 dnl are so convoluted that I can't tell whether it will always be defined,
634 dnl and if it isn't defined while lseek64 is defined in the library,
635 dnl disaster will strike.
637 dnl Warning! Use of --enable-gcc-wall may throw off this test.
640 AC_MSG_CHECKING(whether lseek64 declared in unistd.h)
641 AC_CACHE_VAL(e2fsprogs_cv_have_lseek64_prototype,
643 [#define _LARGEFILE_SOURCE
644 #define _LARGEFILE64_SOURCE
645 #include <unistd.h>], [extern int lseek64(int);],
646 [e2fsprogs_cv_have_lseek64_prototype=no],
647 [e2fsprogs_cv_have_lseek64_prototype=yes]))
648 AC_MSG_RESULT($e2fsprogs_cv_have_lseek64_prototype)
649 if test "$e2fsprogs_cv_have_lseek64_prototype" = yes; then
650 AC_DEFINE(HAVE_LSEEK64_PROTOTYPE)
655 if test "$cross_compiling" = yes -a "$ac_cv_sizeof_long" = ""; then
656 # if cross-compiling, with no cached values, just assume something common.
660 ac_cv_sizeof_long_long=8
661 AC_MSG_WARN([Cross-compiling, so cannot check type sizes; assuming short=2, int=4, long=4, long long=8])
663 AC_CHECK_SIZEOF(short)
665 AC_CHECK_SIZEOF(long)
666 AC_CHECK_SIZEOF(long long)
667 SIZEOF_SHORT=$ac_cv_sizeof_short
668 SIZEOF_INT=$ac_cv_sizeof_int
669 SIZEOF_LONG=$ac_cv_sizeof_long
670 SIZEOF_LONG_LONG=$ac_cv_sizeof_long_long
671 AC_SUBST(SIZEOF_SHORT)
673 AC_SUBST(SIZEOF_LONG)
674 AC_SUBST(SIZEOF_LONG_LONG)
677 dnl See if we have inttypes.h and if intptr_t is defined
679 AC_CHECK_HEADERS([inttypes.h])
680 AC_CHECK_TYPE(intptr_t,long)
682 dnl See if struct stat has a st_flags field, in which case we can get file
683 dnl flags somewhat portably. Also check for the analogous setter, chflags().
685 AC_MSG_CHECKING(whether struct stat has a st_flags field)
686 AC_CACHE_VAL(e2fsprogs_cv_struct_st_flags,
687 AC_TRY_COMPILE([#include <sys/stat.h>],
688 [struct stat stat; stat.st_flags = 0;],
689 [e2fsprogs_cv_struct_st_flags=yes],
690 [e2fsprogs_cv_struct_st_flags=no]))
691 AC_MSG_RESULT($e2fsprogs_cv_struct_st_flags)
692 if test "$e2fsprogs_cv_struct_st_flags" = yes; then
693 AC_MSG_CHECKING(whether st_flags field is useful)
694 AC_CACHE_VAL(e2fsprogs_cv_struct_st_flags_immut,
695 AC_TRY_COMPILE([#include <sys/stat.h>],
696 [struct stat stat; stat.st_flags |= UF_IMMUTABLE;],
697 [e2fsprogs_cv_struct_st_flags_immut=yes],
698 [e2fsprogs_cv_struct_st_flags_immut=no]))
699 AC_MSG_RESULT($e2fsprogs_cv_struct_st_flags_immut)
700 if test "$e2fsprogs_cv_struct_st_flags_immut" = yes; then
701 AC_DEFINE(HAVE_STAT_FLAGS)
705 dnl Check for the presence of SA_LEN
707 AC_MSG_CHECKING(whether struct sockaddr contains sa_len)
708 AC_CACHE_VAL(e2fsprogs_cv_sockaddr_sa_len,
709 [AC_TRY_COMPILE([#include <sys/types.h>
710 #include <sys/socket.h>
714 e2fsprogs_cv_sockaddr_sa_len=yes,e2fsprogs_cv_sockaddr_sa_len=no)])
715 AC_MSG_RESULT([$]e2fsprogs_cv_sockaddr_sa_len)
716 if test $e2fsprogs_cv_sockaddr_sa_len = yes; then
717 AC_DEFINE_UNQUOTED(HAVE_SA_LEN,1,[Define if struct sockaddr contains sa_len])
720 AC_CHECK_FUNCS(chflags getrusage llseek lseek64 open64 getmntinfo strtoull strcasecmp srandom fchown mallinfo fdatasync strnlen strptime sysconf pathconf posix_memalign memalign valloc)
722 dnl Check to see if -lsocket is required (solaris) to make something
723 dnl that uses socket() to compile; this is needed for the UUID library
726 AC_CHECK_LIB(socket, socket, [SOCKET_LIB=-lsocket])
729 dnl Check to see if libdl exists for the sake of dlopen
732 AC_CHECK_LIB(dl, dlopen,
734 AC_DEFINE(HAVE_DLOPEN)])
737 dnl See if optreset exists
739 AC_MSG_CHECKING(for optreset)
740 AC_CACHE_VAL(ac_cv_have_optreset,
741 [AC_EGREP_HEADER(optreset, unistd.h,
742 ac_cv_have_optreset=yes, ac_cv_have_optreset=no)])dnl
743 AC_MSG_RESULT($ac_cv_have_optreset)
744 if test $ac_cv_have_optreset = yes; then
745 AC_DEFINE(HAVE_OPTRESET)
748 dnl We use the EXT2 ioctls only under Linux
752 AC_DEFINE(HAVE_EXT2_IOCTLS)
756 dnl OS-specific uncomment control
778 dnl Linux and Hurd places root files in the / by default
781 linux* | gnu* | k*bsd*-gnu)
782 if test "$prefix" = NONE -a "$root_prefix" = NONE ; then
784 echo "On $host_os systems, root_prefix defaults to ''"
789 dnl On Linux/hurd, force the prefix to be /usr
792 linux* | gnu* | k*bsd*-gnu)
793 if test "$prefix" = NONE ; then
795 echo "On $host_os systems, prefix defaults to /usr"
796 if test "$mandir" = '${prefix}/man' ; then
797 echo "...and mandir defaults to /usr/share/man"
798 mandir=/usr/share/man
803 if test "$root_prefix" = NONE ; then
804 if test "$prefix" = NONE ; then
805 root_prefix="$ac_default_prefix"
807 root_prefix="$prefix"
810 root_sbindir=$sbindir
812 root_sysconfdir=$sysconfdir
814 root_bindir='${root_prefix}/bin'
815 root_sbindir='${root_prefix}/sbin'
816 root_libdir='${root_prefix}/lib'
817 root_sysconfdir='${root_prefix}/etc'
819 AC_SUBST(root_prefix)
820 AC_SUBST(root_bindir)
821 AC_SUBST(root_sbindir)
822 AC_SUBST(root_libdir)
823 AC_SUBST(root_sysconfdir)
825 dnl See if -static works.
827 AC_MSG_CHECKING([whether linker accepts -static])
828 AC_CACHE_VAL(ac_cv_e2fsprogs_use_static,
829 [SAVE_LDFLAGS=$LDFLAGS; LDFLAGS="$LDFLAGS -static"
830 AC_TRY_LINK([#include <stdio.h>],[fflush(stdout);],
831 ac_cv_e2fsprogs_use_static=yes, ac_cv_e2fsprogs_use_static=no)
832 LDFLAGS=$SAVE_LDFLAGS])
834 dnl Regardless of how the test turns out, Solaris doesn't handle -static
835 dnl This is caused by the socket library requiring the nsl library, which
836 dnl requires the -dl library, which only works for dynamically linked
837 dnl programs. It basically means you can't have statically linked programs
838 dnl which use the network under Solaris.
842 ac_cv_e2fsprogs_use_static=no
845 AC_MSG_RESULT($ac_cv_e2fsprogs_use_static)
847 if test $ac_cv_e2fsprogs_use_static = yes; then
848 LDFLAG_STATIC=-static
850 AC_SUBST(LDFLAG_STATIC)
852 dnl Work around mysterious Darwin / GNU libintl problem
853 dnl (__asm__ redirection doesn't work for some mysterious reason. Looks like
854 dnl Apple hacked gcc somehow?)
858 echo "Using Apple Darwin / GNU libintl workaround"
859 AC_DEFINE(_INTL_REDIRECT_MACROS)
863 dnl Make the ss and et directories work correctly.
865 SS_DIR=`cd ${srcdir}/lib/ss; pwd`
866 ET_DIR=`cd ${srcdir}/lib/et; pwd`
870 dnl Only try to run the test suite if we're not cross compiling.
872 if test "$cross_compiling" = yes ; then
877 AC_SUBST(DO_TEST_SUITE)
879 dnl Only include the intl include files if we're building with them
882 if test "$USE_INCLUDED_LIBINTL" = "yes" ; then
883 INTL_FLAGS='-I$(top_builddir)/intl -I$(top_srcdir)/intl'
887 dnl Make our output files, being sure that we create the some miscellaneous
890 test -d lib || mkdir lib
891 test -d include || mkdir include
892 test -d include/linux || mkdir include/linux
893 test -d include/asm || mkdir include/asm
894 for i in MCONFIG Makefile e2fsprogs.spec \
895 util/Makefile util/subst.conf util/gen-tarball \
896 lib/et/Makefile lib/ss/Makefile lib/ext2fs/Makefile lib/e2p/Makefile \
897 lib/uuid/Makefile lib/uuid/uuid_types.h \
898 lib/blkid/Makefile lib/blkid/blkid_types.h \
899 lib/evms/Makefile misc/Makefile ext2ed/Makefile e2fsck/Makefile \
900 debugfs/Makefile tests/Makefile tests/progs/Makefile \
901 resize/Makefile doc/Makefile intl/Makefile po/Makefile.in ; do
902 if test -d `dirname ${srcdir}/$i` ; then
903 outlist="$outlist $i"