Whamcloud - gitweb
Fixed signed vs. unsigned comparison warning in strncmp().
[tools/e2fsprogs.git] / configure.in
index 1ed81cc..d26ca69 100644 (file)
@@ -1,5 +1,6 @@
 AC_INIT(version.h)
 AC_INIT(version.h)
-AC_PREREQ(2.12)
+AC_PREREQ(2.50)
+AC_CONFIG_AUX_DIR(config)
 MCONFIG=./MCONFIG
 AC_SUBST_FILE(MCONFIG)
 BINARY_TYPE=bin
 MCONFIG=./MCONFIG
 AC_SUBST_FILE(MCONFIG)
 BINARY_TYPE=bin
@@ -10,6 +11,7 @@ E2FSPROGS_VERSION=`grep E2FSPROGS_VERSION ${srcdir}/version.h  \
        | awk '{print $3}' | tr \" " " | awk '{print $1}'`
 DATE=`grep E2FSPROGS_DATE ${srcdir}/version.h | awk '{print $3}' \
        | tr \" " "`
        | awk '{print $3}' | tr \" " " | awk '{print $1}'`
 DATE=`grep E2FSPROGS_DATE ${srcdir}/version.h | awk '{print $3}' \
        | tr \" " "`
+E2FSPROGS_DAY=`echo $DATE | awk -F- '{print $1}'`
 MONTH=`echo $DATE | awk -F- '{print $2}'`
 YEAR=`echo $DATE | awk -F- '{print $3}'`
 
 MONTH=`echo $DATE | awk -F- '{print $2}'`
 YEAR=`echo $DATE | awk -F- '{print $3}'`
 
@@ -42,9 +44,17 @@ echo "Generating configuration file for e2fsprogs version $E2FSPROGS_VERSION"
 echo "Release date is ${E2FSPROGS_MONTH}, ${E2FSPROGS_YEAR}"
 AC_SUBST(E2FSPROGS_YEAR)
 AC_SUBST(E2FSPROGS_MONTH)
 echo "Release date is ${E2FSPROGS_MONTH}, ${E2FSPROGS_YEAR}"
 AC_SUBST(E2FSPROGS_YEAR)
 AC_SUBST(E2FSPROGS_MONTH)
+AC_SUBST(E2FSPROGS_DAY)
 AC_SUBST(E2FSPROGS_VERSION)
 AC_CANONICAL_HOST
 dnl
 AC_SUBST(E2FSPROGS_VERSION)
 AC_CANONICAL_HOST
 dnl
+dnl Use diet libc
+dnl 
+AC_ARG_WITH([diet-libc],
+[  --with-diet-libc      Use diet libc],
+CC="diet cc -nostdinc"
+AC_MSG_RESULT(CC=$CC))dnl
+dnl
 dnl set $(CC) from --with-cc=value
 dnl
 AC_ARG_WITH([cc],
 dnl set $(CC) from --with-cc=value
 dnl
 AC_ARG_WITH([cc],
@@ -86,6 +96,23 @@ if test "$linux_headers" != yes; then
 fi
 AC_SUBST(LINUX_INCLUDE)
 dnl
 fi
 AC_SUBST(LINUX_INCLUDE)
 dnl
+dnl Alpha computers use fast and imprecise floating point code that may
+dnl miss exceptions by default. Force sane options if we're using GCC.
+AC_MSG_CHECKING(for additional special compiler flags)
+if test "$GCC" = yes
+then
+    case "$host_cpu" in
+       alpha)          addcflags="-mieee" ;;
+    esac
+fi
+if test "x$addcflags" != x
+then
+    AC_MSG_RESULT($addcflags)
+    CFLAGS="$addcflags $CFLAGS"
+else
+    AC_MSG_RESULT([[(none)]])
+fi
+dnl
 dnl Set default values for library extentions.  Will be dealt with after
 dnl parsing configuration opions, which may modify these
 dnl
 dnl Set default values for library extentions.  Will be dealt with after
 dnl parsing configuration opions, which may modify these
 dnl
@@ -109,6 +136,24 @@ AC_ARG_WITH([root-prefix],
 root_prefix=$withval,
 root_prefix=NONE)dnl
 dnl
 root_prefix=$withval,
 root_prefix=NONE)dnl
 dnl
+dnl handle --enable-maintainer-mode
+dnl
+AC_ARG_ENABLE([maintainer-mode],
+[  --enable-maintainer-mode enable makefile rules useful for maintainers],
+if test "$enableval" = "no"
+then
+       MAINTAINER_CMT=#
+       echo "Disabling maintainer mode"
+else
+       MAINTAINER_CMT=
+       echo "Enabling maintainer mode"
+fi
+,
+MAINTAINER_CMT=#
+echo "Disabling maintainer mode by default"
+)
+AC_SUBST(MAINTAINER_CMT)
+dnl
 dnl handle --enable-compression
 dnl
 AC_ARG_ENABLE([compression],
 dnl handle --enable-compression
 dnl
 AC_ARG_ENABLE([compression],
@@ -145,77 +190,6 @@ echo "Enabling htree directory support by default"
 )
 AC_SUBST(HTREE_CMT)
 dnl
 )
 AC_SUBST(HTREE_CMT)
 dnl
-dnl handle --enable-clear-htree
-dnl
-AC_ARG_ENABLE([htree-clear],
-[  --enable-htree-clear          clear htree because we don't trust e2fsck],
-if test "$enableval" = "no"
-then
-       HTREE_CLR_CMT=#
-       echo "Disabling htree clearing"
-else
-       HTREE_CLR_CMT=
-       AC_DEFINE(ENABLE_HTREE_CLEAR)
-       echo "Enabling htree clearing"
-fi
-,
-HTREE_CLR_CMT=#
-echo "Disabling htree clearing by default"
-)
-AC_SUBST(HTREE_CLR_CMT)
-dnl
-dnl handle --enable-emvs-10
-dnl
-EVMS_ABI_CODE=120
-AC_ARG_ENABLE([evms-10],
-[  --enable-evms-10      use EVMS 1.0 ABI (instead of EVMS 1.2)],
-if test "$enableval" != "no"
-then
-       EVMS_ABI_CODE=100
-       echo "Enabling EVMS 1.0.0 ABI"
-fi
-)
-dnl
-dnl handle --enable-emvs-11
-dnl
-AC_ARG_ENABLE([evms-11],
-[  --enable-evms-11      use EVMS 1.1 ABI (instead of EVMS 1.1)],
-if test "$enableval" != "no"
-then
-       EVMS_ABI_CODE=110
-       echo "Enabling EVMS 1.1.0 ABI"
-fi
-)
-if test "$EVMS_ABI_CODE" = "120"
-then
-       echo "Using EVMS 1.2.0 ABI by default"
-fi
-AC_SUBST(EVMS_ABI_CODE)
-dnl
-dnl handle --enable-dll-shlibs
-dnl
-AC_ARG_ENABLE([dll-shlibs],
-[  --enable-dll-shlibs   select DLL libraries],
-if test "$enableval" = "no"
-then
-       DLL_CMT=#
-       MAKEFILE_DLL=/dev/null
-       echo "Disabling DLL shared libraries"
-else
-       DLL_CMT=
-       MAKEFILE_DLL=$srcdir/lib/Makefile.dll-lib
-       BINARY_TYPE=dllbin
-       LIB_EXT=.sa
-       echo "Enabling DLL shared libraries"
-fi
-,
-MAKEFILE_DLL=/dev/null
-DLL_CMT=#
-echo "Disabling DLL shared libraries by default"
-)
-AC_SUBST(DLL_CMT)
-AC_SUBST_FILE(MAKEFILE_DLL)
-dnl
 dnl handle --enable-elf-shlibs
 dnl
 AC_ARG_ENABLE([elf-shlibs],
 dnl handle --enable-elf-shlibs
 dnl
 AC_ARG_ENABLE([elf-shlibs],
@@ -258,6 +232,12 @@ else
        BSDLIB_CMT=
        MAKEFILE_BSDLIB=$srcdir/lib/Makefile.bsd-lib
        LIB_EXT=.so
        BSDLIB_CMT=
        MAKEFILE_BSDLIB=$srcdir/lib/Makefile.bsd-lib
        LIB_EXT=.so
+       [case "$host_os" in
+       darwin*)
+               MAKEFILE_BSDLIB=$srcdir/lib/Makefile.darwin-lib
+               LIB_EXT=.dylib
+       ;;
+       esac]
        echo "Enabling BSD shared libraries"
 fi
 ,
        echo "Enabling BSD shared libraries"
 fi
 ,
@@ -334,6 +314,36 @@ fi
 echo "Disabling journal debugging by default"
 )
 dnl
 echo "Disabling journal debugging by default"
 )
 dnl
+dnl handle --enable-blkid-debug
+dnl
+AC_ARG_ENABLE([blkid-debug],
+[  --enable-blkid-debug    enable blkid debugging],
+if test "$enableval" = "no"
+then
+       echo "Disabling blkid debugging"
+else
+       AC_DEFINE(CONFIG_BLKID_DEBUG)
+       echo "Enabling blkid debugging"
+fi
+,
+echo "Disabling blkid debugging by default"
+)
+dnl
+dnl handle --enable-testio-debug
+dnl
+AC_ARG_ENABLE([testio-debug],
+[  --enable-testio-debug   enable the use of the test I/O manager for debugging],
+if test "$enableval" = "no"
+then
+       echo "Disabling testio debugging"
+else
+       AC_DEFINE(CONFIG_TESTIO_DEBUG)
+       echo "Enabling testio debugging"
+fi
+,
+echo "Disabling testio debugging by default"
+)
+dnl
 dnl handle --enable-swapfs
 dnl
 AC_ARG_ENABLE([swapfs],
 dnl handle --enable-swapfs
 dnl
 AC_ARG_ENABLE([swapfs],
@@ -452,35 +462,69 @@ esac]
 AC_SUBST(FSCK_PROG)
 AC_SUBST(FSCK_MAN)
 dnl
 AC_SUBST(FSCK_PROG)
 AC_SUBST(FSCK_MAN)
 dnl
+dnl See whether to install the `e2initrd-helper' program
 dnl
 dnl
-MAKEFILE_LIBRARY=$srcdir/lib/Makefile.library
-AC_SUBST_FILE(MAKEFILE_LIBRARY)
-dnl
+AC_ARG_ENABLE([e2initrd-helper],
+[  --enable-e2initrd-helper build e2initrd-helper program],
+[if test "$enableval" = "no"
+then
+       E2INITRD_PROG='' E2INITRD_MAN=''
+       echo "Not building e2initrd helper"
+else
+       E2INITRD_PROG=e2initrd_helper E2INITRD_MAN=e2initrd_helper.8
+       echo "Building e2initrd helper"
+fi]
+,
+E2INITRD_PROG=e2initrd_helper E2INITRD_MAN=e2initrd_helper.8
+echo "Building e2initrd helper by default"
+)
+AC_SUBST(E2INITRD_PROG)
+AC_SUBST(E2INITRD_MAN)
+dnl handle --enable-blkid-devmapper
 dnl
 dnl
-AC_ARG_ENABLE([old-bitops],
-[  --enable-old-bitops   Use old (non-standard but native) bitmask operations],
-if test "$enableval" = "no"
+AC_ARG_ENABLE([blkid-devmapper],
+[  --enable-blkid-devmapper  build with device-mapper support],
+[if test "$enableval" = "no"
 then
 then
-       echo "Using new (standard) bitmask operations"
+       echo "Disabling device-mapper support"
+       DEVMAPPER_REQ=''
+       DEVMAPPER_LIBS=''
+       STATIC_DEVMAPPER_LIBS=''
 else
 else
-       AC_DEFINE(EXT2_OLD_BITOPS)
-       echo "Using old (native) bitmask operations"
+       AC_DEFINE(HAVE_DEVMAPPER)
+       echo "Enabling device-mapper support"
 
 
-fi
+       DEVMAPPER_REQ='libselinux libsepol'
+       DEVMAPPER_PC_LIBS='-ldevmapper'
+       DEVMAPPER_LIBS='-ldevmapper -lselinux -lsepol'
+       STATIC_DEVMAPPER_LIBS='/usr/lib/libdevmapper.a /usr/lib/libselinux.a /usr/lib/libsepol.a'
+
+fi]
 ,
 ,
-echo "Using standard bitmask operations by default"
+echo "Disabling device-mapper support by default"
 )
 )
+AC_SUBST(DEVMAPPER_REQ)
+AC_SUBST(DEVMAPPER_PC_LIBS)
+AC_SUBST(DEVMAPPER_LIBS)
+AC_SUBST(STATIC_DEVMAPPER_LIBS)
+dnl
+dnl
+dnl
+MAKEFILE_LIBRARY=$srcdir/lib/Makefile.library
+AC_SUBST_FILE(MAKEFILE_LIBRARY)
 dnl
 dnl Add internationalization support, using gettext.
 dnl
 dnl
 dnl Add internationalization support, using gettext.
 dnl
+GETTEXT_PACKAGE=e2fsprogs
 PACKAGE=e2fsprogs
 VERSION="$E2FSPROGS_VERSION"
 PACKAGE=e2fsprogs
 VERSION="$E2FSPROGS_VERSION"
+VERSION=0.14.1
 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
 AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
 AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
+AC_SUBST(GETTEXT_PACKAGE)
 AC_SUBST(PACKAGE)
 AC_SUBST(VERSION)
 
 AC_SUBST(PACKAGE)
 AC_SUBST(VERSION)
 
-ALL_LINGUAS="it nyc tr de de-utf"
 AM_GNU_GETTEXT
 dnl
 dnl End of configuration options
 AM_GNU_GETTEXT
 dnl
 dnl End of configuration options
@@ -493,7 +537,8 @@ AC_PATH_PROG(MV, mv, mv)
 AC_PATH_PROG(CP, cp, cp)
 AC_PATH_PROG(RM, rm, rm)
 AC_PATH_PROG(CHMOD, chmod, :)
 AC_PATH_PROG(CP, cp, cp)
 AC_PATH_PROG(RM, rm, rm)
 AC_PATH_PROG(CHMOD, chmod, :)
-AC_PATH_PROG(AWK, awk, awk)
+AC_PROG_AWK
+AC_PROG_EGREP
 AC_PATH_PROG(SED, sed, sed)
 AC_PATH_PROG(PERL, perl, perl)
 AC_PATH_PROG(LDCONFIG, ldconfig, :)
 AC_PATH_PROG(SED, sed, sed)
 AC_PATH_PROG(PERL, perl, perl)
 AC_PATH_PROG(LDCONFIG, ldconfig, :)
@@ -508,25 +553,36 @@ if test $cross_compiling = no; then
 else
   AC_CHECK_PROGS(BUILD_CC, gcc cc)
 fi
 else
   AC_CHECK_PROGS(BUILD_CC, gcc cc)
 fi
-AC_CHECK_HEADERS(stdlib.h unistd.h stdarg.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/disklabel.h sys/ioctl.h sys/mkdev.h sys/mount.h sys/sockio.h sys/sysmacros.h sys/time.h sys/stat.h sys/types.h net/if.h netinet/in.h)
+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/disklabel.h sys/ioctl.h sys/mkdev.h sys/prctl.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_dl.h netinet/in.h)
+AC_CHECK_HEADERS(sys/disk.h sys/mount.h,,,
+[[
+#if HAVE_SYS_QUEUE_H
+#include <sys/queue.h>
+#endif
+]])
+AC_CHECK_HEADERS(net/if.h,,,
+[[
+#if HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#if HAVE_SYS_SOCKET
+#include <sys/socket.h>
+#endif
+]])
 AC_FUNC_VPRINTF
 AC_FUNC_VPRINTF
+dnl Check to see if dirent has member d_reclen. On cygwin those d_reclen
+dnl is not decleared.
+AC_CHECK_MEMBER(struct dirent.d_reclen,[AC_DEFINE(HAVE_RECLEN_DIRENT)],,
+               [#include <dirent.h>])
+dnl Check to see if ssize_t was decleared
+AC_CHECK_TYPE(ssize_t,[AC_DEFINE(HAVE_TYPE_SSIZE_T)],,
+             [#include <sys/types.h>])
 dnl
 dnl Check to see if llseek() is declared in unistd.h.  On some libc's 
 dnl it is, and on others it isn't..... Thank you glibc developers....
 dnl
 dnl
 dnl Check to see if llseek() is declared in unistd.h.  On some libc's 
 dnl it is, and on others it isn't..... Thank you glibc developers....
 dnl
-dnl Warning!  Use of --enable-gcc-wall may throw off this test.
-dnl
-dnl
-AC_MSG_CHECKING(whether llseek declared in unistd.h)
-AC_CACHE_VAL(e2fsprogs_cv_have_llseek_prototype,
-       AC_TRY_COMPILE(
-[#include <unistd.h>], [extern int llseek(int);],
-       [e2fsprogs_cv_have_llseek_prototype=no],
-       [e2fsprogs_cv_have_llseek_prototype=yes]))
-AC_MSG_RESULT($e2fsprogs_cv_have_llseek_prototype)
-if test "$e2fsprogs_cv_have_llseek_prototype" = yes; then
-   AC_DEFINE(HAVE_LLSEEK_PROTOTYPE)
-fi
+AC_CHECK_DECL(llseek,[AC_DEFINE(HAVE_LLSEEK_PROTOTYPE)],,
+             [#include <unistd.h>])
 dnl
 dnl Check to see if lseek64() is declared in unistd.h.  Glibc's header files
 dnl are so convoluted that I can't tell whether it will always be defined,
 dnl
 dnl Check to see if lseek64() is declared in unistd.h.  Glibc's header files
 dnl are so convoluted that I can't tell whether it will always be defined,
@@ -536,18 +592,10 @@ dnl
 dnl Warning!  Use of --enable-gcc-wall may throw off this test.
 dnl
 dnl
 dnl Warning!  Use of --enable-gcc-wall may throw off this test.
 dnl
 dnl
-AC_MSG_CHECKING(whether lseek64 declared in unistd.h)
-AC_CACHE_VAL(e2fsprogs_cv_have_lseek64_prototype,
-       AC_TRY_COMPILE(
-[#define _LARGEFILE_SOURCE
-#define _LARGEFILE64_SOURCE
-#include <unistd.h>], [extern int lseek64(int);],
-       [e2fsprogs_cv_have_lseek64_prototype=no],
-       [e2fsprogs_cv_have_lseek64_prototype=yes]))
-AC_MSG_RESULT($e2fsprogs_cv_have_lseek64_prototype)
-if test "$e2fsprogs_cv_have_lseek64_prototype" = yes; then
-   AC_DEFINE(HAVE_LSEEK64_PROTOTYPE)
-fi
+AC_CHECK_DECL(lseek64,[AC_DEFINE(HAVE_LSEEK64_PROTOTYPE)],,
+               [#define _LARGEFILE_SOURCE
+                #define _LARGEFILE64_SOURCE
+                #include <unistd.h>])
 dnl
 dnl Word sizes...
 dnl
 dnl
 dnl Word sizes...
 dnl
@@ -572,6 +620,14 @@ AC_SUBST(SIZEOF_INT)
 AC_SUBST(SIZEOF_LONG)
 AC_SUBST(SIZEOF_LONG_LONG)
 AC_C_BIGENDIAN
 AC_SUBST(SIZEOF_LONG)
 AC_SUBST(SIZEOF_LONG_LONG)
 AC_C_BIGENDIAN
+/bin/sh $ac_aux_dir/parse-types.sh
+ASM_TYPES_HEADER=./asm_types.h
+AC_SUBST_FILE(ASM_TYPES_HEADER)
+dnl
+dnl See if we have inttypes.h and if intptr_t is defined
+dnl
+AC_CHECK_HEADERS([inttypes.h])
+AC_CHECK_TYPES(intptr_t)
 dnl
 dnl See if struct stat has a st_flags field, in which case we can get file
 dnl flags somewhat portably.  Also check for the analogous setter, chflags().
 dnl
 dnl See if struct stat has a st_flags field, in which case we can get file
 dnl flags somewhat portably.  Also check for the analogous setter, chflags().
@@ -595,7 +651,15 @@ if test "$e2fsprogs_cv_struct_st_flags" = yes; then
          AC_DEFINE(HAVE_STAT_FLAGS)
   fi
 fi
          AC_DEFINE(HAVE_STAT_FLAGS)
   fi
 fi
-AC_CHECK_FUNCS(chflags getrusage llseek lseek64 open64 getmntinfo strtoull strcasecmp srandom fchown mallinfo fdatasync strnlen sysconf pathconf)
+dnl
+dnl Check for the presence of SA_LEN
+dnl
+AC_CHECK_MEMBER(struct sockaddr.sa_len,
+               AC_DEFINE_UNQUOTED(HAVE_SA_LEN,1,[Define if struct sockaddr contains sa_len]),,
+       [#include <sys/types.h>
+        #include <sys/socket.h>])
+dnl
+AC_CHECK_FUNCS(chflags getrusage llseek lseek64 open64 fstat64 getmntinfo strtoull strcasecmp srandom fchown mallinfo fdatasync strnlen strptime sysconf pathconf posix_memalign memalign valloc __secure_getenv prctl)
 dnl
 dnl Check to see if -lsocket is required (solaris) to make something
 dnl that uses socket() to compile; this is needed for the UUID library
 dnl
 dnl Check to see if -lsocket is required (solaris) to make something
 dnl that uses socket() to compile; this is needed for the UUID library
@@ -604,6 +668,14 @@ SOCKET_LIB=''
 AC_CHECK_LIB(socket, socket, [SOCKET_LIB=-lsocket])
 AC_SUBST(SOCKET_LIB)
 dnl
 AC_CHECK_LIB(socket, socket, [SOCKET_LIB=-lsocket])
 AC_SUBST(SOCKET_LIB)
 dnl
+dnl Check to see if libdl exists for the sake of dlopen
+dnl
+DLOPEN_LIB=''
+AC_CHECK_LIB(dl, dlopen, 
+[DLOPEN_LIB=-ldl
+AC_DEFINE(HAVE_DLOPEN)])
+AC_SUBST(DLOPEN_LIB)
+dnl
 dnl See if optreset exists
 dnl
 AC_MSG_CHECKING(for optreset)
 dnl See if optreset exists
 dnl
 AC_MSG_CHECKING(for optreset)
@@ -623,20 +695,28 @@ linux*)
        ;;
 esac
 dnl
        ;;
 esac
 dnl
-dnl Uncomment only if Linux
+dnl OS-specific uncomment control
 dnl
 LINUX_CMT="#"
 dnl
 LINUX_CMT="#"
+CYGWIN_CMT="#"
+UNIX_CMT=
 case "$host_os" in
 linux*)
        LINUX_CMT=
        ;;
 case "$host_os" in
 linux*)
        LINUX_CMT=
        ;;
+cygwin)
+       CYGWIN_CMT=
+       UNIX_CMT="#"
+       ;;
 esac
 AC_SUBST(LINUX_CMT)
 esac
 AC_SUBST(LINUX_CMT)
+AC_SUBST(CYGWIN_CMT)
+AC_SUBST(UNIX_CMT)
 dnl
 dnl Linux and Hurd places root files in the / by default
 dnl
 case "$host_os" in
 dnl
 dnl Linux and Hurd places root files in the / by default
 dnl
 case "$host_os" in
-linux* | gnu*)
+linux* | gnu* | k*bsd*-gnu)
        if test "$prefix" = NONE -a "$root_prefix" = NONE ; then
                root_prefix="";
                echo "On $host_os systems, root_prefix defaults to ''"
        if test "$prefix" = NONE -a "$root_prefix" = NONE ; then
                root_prefix="";
                echo "On $host_os systems, root_prefix defaults to ''"
@@ -647,7 +727,7 @@ dnl
 dnl On Linux/hurd, force the prefix to be /usr
 dnl
 case "$host_os" in
 dnl On Linux/hurd, force the prefix to be /usr
 dnl
 case "$host_os" in
-linux* | gnu*)
+linux* | gnu* | k*bsd*-gnu)
        if test "$prefix" = NONE ; then
                prefix="/usr";
                echo "On $host_os systems, prefix defaults to /usr"
        if test "$prefix" = NONE ; then
                prefix="/usr";
                echo "On $host_os systems, prefix defaults to /usr"
@@ -707,6 +787,17 @@ if test $ac_cv_e2fsprogs_use_static = yes; then
 fi
 AC_SUBST(LDFLAG_STATIC)
 dnl
 fi
 AC_SUBST(LDFLAG_STATIC)
 dnl
+dnl Work around mysterious Darwin / GNU libintl problem
+dnl (__asm__ redirection doesn't work for some mysterious reason.  Looks like
+dnl Apple hacked gcc somehow?)
+dnl
+case "$host_os" in
+darwin*)
+       echo "Using Apple Darwin / GNU libintl workaround"
+       AC_DEFINE(_INTL_REDIRECT_MACROS)
+       ;;
+esac
+dnl
 dnl Make the ss and et directories work correctly.
 dnl
 SS_DIR=`cd ${srcdir}/lib/ss; pwd`
 dnl Make the ss and et directories work correctly.
 dnl
 SS_DIR=`cd ${srcdir}/lib/ss; pwd`
@@ -723,6 +814,26 @@ else
 fi
 AC_SUBST(DO_TEST_SUITE)
 dnl
 fi
 AC_SUBST(DO_TEST_SUITE)
 dnl
+dnl Only include the intl include files if we're building with them
+dnl 
+INTL_FLAGS=
+if test "$USE_INCLUDED_LIBINTL" = "yes" ; then
+       INTL_FLAGS='-I$(top_builddir)/intl -I$(top_srcdir)/intl'
+fi
+AC_SUBST(INTL_FLAGS)
+dnl
+dnl Build CFLAGS
+dnl
+if test $cross_compiling = no; then
+   BUILD_CFLAGS="$CFLAGS"
+   BUILD_LDFLAGS="$LDFLAGS"
+else
+   BUILD_CFLAGS=
+   BUILD_LDFLAGS=
+fi
+AC_SUBST(BUILD_CFLAGS)
+AC_SUBST(BUILD_LDFLAGS)
+dnl
 dnl Make our output files, being sure that we create the some miscellaneous 
 dnl directories
 dnl
 dnl Make our output files, being sure that we create the some miscellaneous 
 dnl directories
 dnl
@@ -730,13 +841,21 @@ test -d lib || mkdir lib
 test -d include || mkdir include
 test -d include/linux || mkdir include/linux
 test -d include/asm || mkdir include/asm
 test -d include || mkdir include
 test -d include/linux || mkdir include/linux
 test -d include/asm || mkdir include/asm
-rmakefile=
-if test -d ${srcdir}/resize ; then
-   rmakefile=resize/Makefile
-fi
-AC_OUTPUT(MCONFIG Makefile util/Makefile util/subst.conf lib/et/Makefile 
-       lib/ss/Makefile lib/ext2fs/Makefile lib/e2p/Makefile lib/uuid/Makefile
-       lib/blkid/Makefile lib/blkid/blkid_types.h lib/evms/Makefile
-       misc/Makefile ext2ed/Makefile e2fsck/Makefile debugfs/Makefile \
-       tests/Makefile tests/progs/Makefile $rmakefile doc/Makefile 
-       intl/Makefile po/Makefile.in)
+for i in MCONFIG Makefile e2fsprogs.spec \
+       util/Makefile util/subst.conf util/gen-tarball \
+       lib/et/Makefile lib/ss/Makefile lib/e2p/Makefile \
+       lib/ext2fs/Makefile lib/ext2fs/ext2_types.h \
+       lib/uuid/Makefile lib/uuid/uuid_types.h \
+       lib/blkid/Makefile lib/blkid/blkid_types.h \
+       lib/ss/ss.pc lib/uuid/uuid.pc lib/et/com_err.pc \
+       lib/e2p/e2p.pc lib/blkid/blkid.pc lib/ext2fs/ext2fs.pc \
+       misc/Makefile ext2ed/Makefile e2fsck/Makefile \
+       debugfs/Makefile tests/Makefile tests/progs/Makefile \
+       resize/Makefile doc/Makefile intl/Makefile po/Makefile.in ; do
+       if test -d `dirname ${srcdir}/$i` ; then
+               outlist="$outlist $i"
+       fi
+done
+AC_OUTPUT($outlist)
+if test -f util/gen-tarball; then chmod +x util/gen-tarball; fi
+