Whamcloud - gitweb
libext2fs: don't allow alloc_stats on bad inode/block numbers
[tools/e2fsprogs.git] / configure.in
index 9fb29cb..0146bfe 100644 (file)
@@ -1,8 +1,8 @@
 AC_INIT(version.h)
 AC_INIT(version.h)
-AC_PREREQ(2.50)
+AC_PREREQ(2.54)
 AC_CONFIG_AUX_DIR(config)
 AC_CONFIG_HEADERS([lib/config.h])
 AC_CONFIG_AUX_DIR(config)
 AC_CONFIG_HEADERS([lib/config.h])
-AH_BOTTOM([#include "dirpaths.h"])
+AH_BOTTOM([#include <dirpaths.h>])
 MCONFIG=./MCONFIG
 AC_SUBST_FILE(MCONFIG)
 BINARY_TYPE=bin
 MCONFIG=./MCONFIG
 AC_SUBST_FILE(MCONFIG)
 BINARY_TYPE=bin
@@ -63,15 +63,6 @@ AC_SUBST(E2FSPROGS_MONTH)
 AC_SUBST(E2FSPROGS_DAY)
 AC_SUBST(E2FSPROGS_VERSION)
 AC_SUBST(E2FSPROGS_PKGVER)
 AC_SUBST(E2FSPROGS_DAY)
 AC_SUBST(E2FSPROGS_VERSION)
 AC_SUBST(E2FSPROGS_PKGVER)
-AC_CANONICAL_HOST
-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, 1, [Define to 1 if dlopen/libdl exists])])
-AC_SUBST(DLOPEN_LIB)
 dnl
 dnl Use diet libc
 dnl 
 dnl
 dnl Use diet libc
 dnl 
@@ -80,8 +71,24 @@ AC_ARG_WITH([diet-libc],
 [  --with-diet-libc        use diet libc],
 CC="diet cc -nostdinc"
 WITH_DIET_LIBC=yes
 [  --with-diet-libc        use diet libc],
 CC="diet cc -nostdinc"
 WITH_DIET_LIBC=yes
+if test -z "$LIBS"
+then
+       LIBS="-lcompat"
+else
+       LIBS="$LIBS -lcompat"
+fi
 AC_MSG_RESULT(CC=$CC))dnl
 dnl
 AC_MSG_RESULT(CC=$CC))dnl
 dnl
+AC_CANONICAL_HOST
+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, 1, [Define to 1 if dlopen/libdl exists])])
+AC_SUBST(DLOPEN_LIB)
+dnl
 AC_ARG_WITH([cc],
 AC_HELP_STRING([--with-cc],[no longer supported, use CC= instead]),
 AC_MSG_ERROR([--with-cc no longer supported; use CC= instead]))
 AC_ARG_WITH([cc],
 AC_HELP_STRING([--with-cc],[no longer supported, use CC= instead]),
 AC_MSG_ERROR([--with-cc no longer supported; use CC= instead]))
@@ -117,6 +124,7 @@ then
 else
     AC_MSG_RESULT([[(none)]])
 fi
 else
     AC_MSG_RESULT([[(none)]])
 fi
+AC_USE_SYSTEM_EXTENSIONS
 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
@@ -164,10 +172,43 @@ else
 fi
 ,
 LINK_INSTALL_FLAGS=-f
 fi
 ,
 LINK_INSTALL_FLAGS=-f
-AC_MSG_RESULT([Disabling symlinks for install])
+AC_MSG_RESULT([Disabling symlinks for install by default])
 )
 AC_SUBST(LINK_INSTALL_FLAGS)
 dnl
 )
 AC_SUBST(LINK_INSTALL_FLAGS)
 dnl
+dnl handle --enable-relative-symlinks
+dnl
+relative_symlink_defined=
+AC_ARG_ENABLE([relative-symlinks],
+[  --enable-relative-symlinks use relative symlinks when installing],
+if test "$enableval" = "no"
+then
+       SYMLINK_RELATIVE=
+       relative_symlink_defined=yes
+       AC_MSG_RESULT([Disabling relative symlinks for install])
+else
+       SYMLINK_RELATIVE=--relative
+       relative_symlink_defined=yes
+       AC_MSG_RESULT([Enabling relative symlinks for install])
+fi)
+AC_ARG_ENABLE([symlink-relative-symlinks],,
+if test "$enableval" = "no"
+then
+       SYMLINK_RELATIVE=yes
+       AC_MSG_RESULT([Disabling relative symlinks for install])
+else
+       SYMLINK_RELATIVE=--relative
+       AC_MSG_RESULT([Enabling relative symlinks for install])
+fi
+,
+if test -z "$relative_symlink_defined"
+then
+       SYMLINK_RELATIVE=
+AC_MSG_RESULT([Disabling relative symlinks for install by default])
+fi
+)
+AC_SUBST(SYMLINK_RELATIVE)
+dnl
 dnl handle --enable-symlink-build
 dnl
 AC_ARG_ENABLE([symlink-build],
 dnl handle --enable-symlink-build
 dnl
 AC_ARG_ENABLE([symlink-build],
@@ -182,7 +223,7 @@ else
 fi
 ,
 LINK_BUILD_FLAGS=
 fi
 ,
 LINK_BUILD_FLAGS=
-AC_MSG_RESULT([Disabling symlinks for build])
+AC_MSG_RESULT([Disabling symlinks for build by default])
 )
 AC_SUBST(LINK_BUILD_FLAGS)
 dnl
 )
 AC_SUBST(LINK_BUILD_FLAGS)
 dnl
@@ -194,18 +235,22 @@ if test "$enableval" = "no"
 then
        AC_MSG_RESULT([Disabling verbose make commands])
        E=@echo
 then
        AC_MSG_RESULT([Disabling verbose make commands])
        E=@echo
+       ES=echo
        Q=@
 else
        AC_MSG_RESULT([Enabling verbose make commands])
        E=@\\#
        Q=@
 else
        AC_MSG_RESULT([Enabling verbose make commands])
        E=@\\#
+       ES=\\#
        Q= 
 fi
 ,
 AC_MSG_RESULT([Disabling verbose make commands])
 E=@echo
        Q= 
 fi
 ,
 AC_MSG_RESULT([Disabling verbose make commands])
 E=@echo
+ES=echo
 Q=@
 )
 AC_SUBST(E)
 Q=@
 )
 AC_SUBST(E)
+AC_SUBST(ES)
 AC_SUBST(Q)
 dnl
 dnl handle --enable-compression
 AC_SUBST(Q)
 dnl
 dnl handle --enable-compression
@@ -337,27 +382,18 @@ AC_MSG_RESULT([Disabling profiling libraries by default])
 AC_SUBST(PROFILE_CMT)
 AC_SUBST_FILE(MAKEFILE_PROFILE)
 dnl
 AC_SUBST(PROFILE_CMT)
 AC_SUBST_FILE(MAKEFILE_PROFILE)
 dnl
-dnl handle --enable-checker
+dnl handle --enable-gcov
 dnl
 dnl
-AC_ARG_ENABLE([checker],
-[  --enable-checker      build checker libraries],
-if test "$enableval" = "no"
+AC_ARG_ENABLE([gcov],
+[  --enable-gcov                 build for coverage testing using gcov],
+if test "$enableval" = "yes"
 then
 then
-       CHECKER_CMT=#
-       MAKEFILE_CHECKER=/dev/null
-       AC_MSG_RESULT([Disabling checker libraries])
-else
-       CHECKER_CMT=
-       MAKEFILE_CHECKER=$srcdir/lib/Makefile.checker
-       AC_MSG_RESULT([Building checker libraries])
+       CFLAGS="-g -fprofile-arcs -ftest-coverage"
+       LDFLAGS="-fprofile-arcs -ftest-coverage"
+       AC_MSG_RESULT([Enabling gcov support])
 fi
 fi
-,
-CHECKER_CMT=#
-MAKEFILE_CHECKER=/dev/null
-AC_MSG_RESULT([Disabling checker libraries by default])
 )
 )
-AC_SUBST(CHECKER_CMT)
-AC_SUBST_FILE(MAKEFILE_CHECKER)
+
 dnl
 dnl Substitute library extensions
 dnl
 dnl
 dnl Substitute library extensions
 dnl
@@ -442,8 +478,8 @@ then
        AC_CHECK_LIB(uuid, uuid_generate,
                [LIBUUID=`$PKG_CONFIG --libs uuid`;
                 STATIC_LIBUUID=`$PKG_CONFIG --static --libs uuid`],
        AC_CHECK_LIB(uuid, uuid_generate,
                [LIBUUID=`$PKG_CONFIG --libs uuid`;
                 STATIC_LIBUUID=`$PKG_CONFIG --static --libs uuid`],
-               [AC_MSG_ERROR([external uuid library not found])],
-               [$LIBUUID])
+               [AC_MSG_ERROR([external uuid library not found])])
+       PROFILED_LIBUUID=$LIBUUID
        UUID_CMT=#
        AC_MSG_RESULT([Disabling private uuid library])
 else
        UUID_CMT=#
        AC_MSG_RESULT([Disabling private uuid library])
 else
@@ -494,9 +530,9 @@ then
        AC_CHECK_LIB(blkid, blkid_get_cache,
                [LIBBLKID=`$PKG_CONFIG --libs blkid`;
                 STATIC_LIBBLKID=`$PKG_CONFIG --static --libs blkid`],
        AC_CHECK_LIB(blkid, blkid_get_cache,
                [LIBBLKID=`$PKG_CONFIG --libs blkid`;
                 STATIC_LIBBLKID=`$PKG_CONFIG --static --libs blkid`],
-               [AC_MSG_ERROR([external blkid library not found])],
-               [$LIBBLKID])
+               [AC_MSG_ERROR([external blkid library not found])], -luuid)
        BLKID_CMT=#
        BLKID_CMT=#
+       PROFILED_LIBBLKID=$LIBBLKID
        AC_MSG_RESULT([Disabling private blkid library])
 else
        LIBBLKID='$(LIB)/libblkid'$LIB_EXT
        AC_MSG_RESULT([Disabling private blkid library])
 else
        LIBBLKID='$(LIB)/libblkid'$LIB_EXT
@@ -528,18 +564,26 @@ AC_SUBST(BLKID_CMT)
 dnl
 dnl handle --enable-quota
 dnl
 dnl
 dnl handle --enable-quota
 dnl
+QUOTA_MAN_COMMENT='.\"'
+QUOTA_CMT=
+AC_SUBST(QUOTA_MAN_COMMENT)
 PKG_PROG_PKG_CONFIG
 AH_TEMPLATE([CONFIG_QUOTA], [Define to 1 to enable quota support])
 AC_ARG_ENABLE([quota],
 PKG_PROG_PKG_CONFIG
 AH_TEMPLATE([CONFIG_QUOTA], [Define to 1 to enable quota support])
 AC_ARG_ENABLE([quota],
-[  --enable-libquota     enable quota support],
+[  --enable-quota        enable quota support],
 if test "$enableval" = "no"
 then
 if test "$enableval" = "no"
 then
+       QUOTA_CMT=#
        AC_MSG_RESULT([Disabling quota support])
 else
        AC_MSG_RESULT([Disabling quota support])
 else
+       QUOTA_CMT=
        AC_DEFINE(CONFIG_QUOTA, 1)
        AC_MSG_RESULT([Enabling quota support])
        AC_DEFINE(CONFIG_QUOTA, 1)
        AC_MSG_RESULT([Enabling quota support])
+       QUOTA_MAN_COMMENT=""
+       AC_SUBST(QUOTA_MAN_COMMENT)
 fi
 ,
 fi
 ,
+QUOTA_CMT=#
 AC_MSG_RESULT([Disabling quota support by default])
 )
 dnl
 AC_MSG_RESULT([Disabling quota support by default])
 )
 dnl
@@ -559,6 +603,22 @@ AC_SUBST(PROFILED_LIBQUOTA)
 AC_SUBST(DEPPROFILED_LIBQUOTA)
 AC_SUBST(QUOTA_CMT)
 dnl
 AC_SUBST(DEPPROFILED_LIBQUOTA)
 AC_SUBST(QUOTA_CMT)
 dnl
+dnl handle --disable-backtrace
+dnl
+AH_TEMPLATE([DISABLE_BACKTRACE], [Define to 1 to disable use of backtrace])
+AC_ARG_ENABLE([backtrace],
+[  --disable-backtrace   disable use backtrace],
+if test "$enableval" = "no"
+then
+       AC_MSG_RESULT([Disabling use of backtrace])
+       AC_DEFINE(DISABLE_BACKTRACE, 1)
+else
+       AC_MSG_RESULT([Enabling use of backtrace])
+fi
+,
+AC_MSG_RESULT([Enabling use of backtrace by default])
+)
+dnl
 dnl handle --enable-debugfs
 dnl
 AC_ARG_ENABLE([debugfs],
 dnl handle --enable-debugfs
 dnl
 AC_ARG_ENABLE([debugfs],
@@ -626,8 +686,14 @@ else
        AC_MSG_RESULT([Enabling e4defrag support])
 fi
 ,
        AC_MSG_RESULT([Enabling e4defrag support])
 fi
 ,
-AC_MSG_RESULT([Enabling e4defrag support by default])
-DEFRAG_CMT=
+if test -z "$WITH_DIET_LIBC"
+then
+       AC_MSG_RESULT([Enabling e4defrag support by default])
+       DEFRAG_CMT=
+else
+       AC_MSG_RESULT([Disabling e4defrag support by default])
+       DEFRAG_CMT="#"
+fi
 )
 AC_SUBST(DEFRAG_CMT)
 dnl
 )
 AC_SUBST(DEFRAG_CMT)
 dnl
@@ -719,8 +785,14 @@ else
 fi]
 ,
 AC_DEFINE(USE_UUIDD, 1)
 fi]
 ,
 AC_DEFINE(USE_UUIDD, 1)
-UUIDD_CMT=""
-AC_MSG_RESULT([Building uuidd by default])
+if test -z "$UUID_CMT"
+then
+       UUIDD_CMT=""
+       AC_MSG_RESULT([Building uuidd by default])
+else
+       UUIDD_CMT="#"
+       AC_MSG_RESULT([Disabling uuidd by default])
+fi
 )
 AC_SUBST(UUIDD_CMT)
 dnl
 )
 AC_SUBST(UUIDD_CMT)
 dnl
@@ -784,13 +856,50 @@ 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(dirent.h errno.h execinfo.h getopt.h malloc.h mntent.h paths.h semaphore.h setjmp.h signal.h stdarg.h stdint.h stdlib.h termios.h termio.h unistd.h utime.h linux/falloc.h linux/fd.h linux/major.h net/if_dl.h netinet/in.h sys/disklabel.h sys/file.h sys/ioctl.h sys/mkdev.h sys/mman.h sys/prctl.h sys/queue.h sys/resource.h sys/select.h sys/socket.h sys/sockio.h sys/stat.h sys/syscall.h sys/sysmacros.h sys/time.h sys/types.h sys/un.h sys/wait.h)
-AC_CHECK_HEADERS(sys/disk.h sys/mount.h,,,
-[[
-#if HAVE_SYS_QUEUE_H
-#include <sys/queue.h>
-#endif
-]])
+AC_CHECK_HEADERS(m4_flatten([
+       dirent.h
+       errno.h
+       execinfo.h
+       getopt.h
+       malloc.h
+       mntent.h
+       paths.h
+       semaphore.h
+       setjmp.h
+       signal.h
+       stdarg.h
+       stdint.h
+       stdlib.h
+       termios.h
+       termio.h
+       unistd.h
+       utime.h
+       linux/falloc.h
+       linux/fd.h
+       linux/major.h
+       linux/loop.h
+       net/if_dl.h
+       netinet/in.h
+       sys/disklabel.h
+       sys/disk.h
+       sys/file.h
+       sys/ioctl.h
+       sys/mkdev.h
+       sys/mman.h
+       sys/mount.h
+       sys/prctl.h
+       sys/resource.h
+       sys/select.h
+       sys/socket.h
+       sys/sockio.h
+       sys/stat.h
+       sys/syscall.h
+       sys/sysmacros.h
+       sys/time.h
+       sys/types.h
+       sys/un.h
+       sys/wait.h
+]))
 AC_CHECK_HEADERS(net/if.h,,,
 [[
 #if HAVE_SYS_TYPES_H
 AC_CHECK_HEADERS(net/if.h,,,
 [[
 #if HAVE_SYS_TYPES_H
@@ -806,6 +915,7 @@ dnl is not decleared.
 AC_CHECK_MEMBER(struct dirent.d_reclen,[AC_DEFINE(HAVE_RECLEN_DIRENT, 1,
                       [Define to 1 if dirent has d_reclen])],,
                [#include <dirent.h>])
 AC_CHECK_MEMBER(struct dirent.d_reclen,[AC_DEFINE(HAVE_RECLEN_DIRENT, 1,
                       [Define to 1 if dirent has d_reclen])],,
                [#include <dirent.h>])
+AC_CHECK_MEMBERS([struct stat.st_atim])
 dnl Check to see if ssize_t was declared
 AC_CHECK_TYPE(ssize_t,[AC_DEFINE(HAVE_TYPE_SSIZE_T, 1,
                [Define to 1 if ssize_t declared])],,
 dnl Check to see if ssize_t was declared
 AC_CHECK_TYPE(ssize_t,[AC_DEFINE(HAVE_TYPE_SSIZE_T, 1,
                [Define to 1 if ssize_t declared])],,
@@ -838,16 +948,23 @@ AC_CHECK_SIZEOF(short)
 AC_CHECK_SIZEOF(int)
 AC_CHECK_SIZEOF(long)
 AC_CHECK_SIZEOF(long long)
 AC_CHECK_SIZEOF(int)
 AC_CHECK_SIZEOF(long)
 AC_CHECK_SIZEOF(long long)
+AC_CHECK_SIZEOF(off_t)
 SIZEOF_SHORT=$ac_cv_sizeof_short
 SIZEOF_INT=$ac_cv_sizeof_int
 SIZEOF_LONG=$ac_cv_sizeof_long
 SIZEOF_LONG_LONG=$ac_cv_sizeof_long_long
 SIZEOF_SHORT=$ac_cv_sizeof_short
 SIZEOF_INT=$ac_cv_sizeof_int
 SIZEOF_LONG=$ac_cv_sizeof_long
 SIZEOF_LONG_LONG=$ac_cv_sizeof_long_long
+SIZEOF_OFF_T=$ac_cv_sizeof_off_t
 AC_SUBST(SIZEOF_SHORT)
 AC_SUBST(SIZEOF_INT)
 AC_SUBST(SIZEOF_LONG)
 AC_SUBST(SIZEOF_LONG_LONG)
 AC_SUBST(SIZEOF_SHORT)
 AC_SUBST(SIZEOF_INT)
 AC_SUBST(SIZEOF_LONG)
 AC_SUBST(SIZEOF_LONG_LONG)
+AC_SUBST(SIZEOF_OFF_T)
 AC_C_BIGENDIAN
 AC_C_BIGENDIAN
-BUILD_CC="$BUILD_CC" CPP="$CPP" /bin/sh $ac_aux_dir/parse-types.sh
+if test $cross_compiling = no; then
+  BUILD_CC="$BUILD_CC" CPP="$CPP" /bin/sh $ac_aux_dir/parse-types.sh
+else
+  CROSS_COMPILE="1" BUILD_CC="$BUILD_CC" CPP="$CPP" /bin/sh $ac_aux_dir/parse-types.sh
+fi
 ASM_TYPES_HEADER=./asm_types.h
 AC_SUBST_FILE(ASM_TYPES_HEADER)
 dnl
 ASM_TYPES_HEADER=./asm_types.h
 AC_SUBST_FILE(ASM_TYPES_HEADER)
 dnl
@@ -914,7 +1031,65 @@ if test -n "$BLKID_CMT"; then
   AC_SEARCH_LIBS([blkid_probe_all], [blkid])
 fi
 dnl
   AC_SEARCH_LIBS([blkid_probe_all], [blkid])
 fi
 dnl
-AC_CHECK_FUNCS(chflags getrusage llseek lseek64 open64 fstat64 ftruncate64 getmntinfo strtoull strcasecmp srandom jrand48 fchown mallinfo fdatasync quotactl strnlen strptime strdup sysconf pathconf posix_memalign memalign valloc __secure_getenv prctl mmap msync utime setresuid setresgid usleep nanosleep getdtablesize getrlimit sync_file_range posix_fadvise fallocate fallocate64 blkid_probe_get_topology mbstowcs backtrace)
+AC_CHECK_FUNCS(m4_flatten([
+       __secure_getenv
+       backtrace
+       blkid_probe_get_topology
+       blkid_probe_enable_partitions
+       chflags
+       fadvise64
+       fallocate
+       fallocate64
+       fchown
+       fdatasync
+       fstat64
+       ftruncate64
+       futimes
+       getcwd
+       getdtablesize
+       getmntinfo
+       getpwuid_r
+       getrlimit
+       getrusage
+       jrand48
+       llseek
+       lseek64
+       mallinfo
+       mbstowcs
+       memalign
+       mempcpy
+       mmap
+       msync
+       nanosleep
+       open64
+       pathconf
+       posix_fadvise
+       posix_fadvise64
+       posix_memalign
+       prctl
+       pread
+       pwrite
+       pread64
+       pwrite64
+       secure_getenv
+       setmntent
+       setresgid
+       setresuid
+       snprintf
+       srandom
+       stpcpy
+       strcasecmp
+       strdup
+       strnlen
+       strptime
+       strtoull
+       sync_file_range
+       sysconf
+       usleep
+       utime
+       utimes
+       valloc
+]))
 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
@@ -1054,13 +1229,20 @@ dnl Allow specification of the multiarch arch
 dnl
 AC_ARG_WITH([multiarch],
 [  --with-multiarch=ARCH specify the multiarch triplet],
 dnl
 AC_ARG_WITH([multiarch],
 [  --with-multiarch=ARCH specify the multiarch triplet],
-libdir=$libdir/$withval
-root_libdir=$root_libdir/$withval
+if test "$withval" = "lib64"; then
+    libdir=/usr/lib64
+    root_libdir=/lib64
+else
+    libdir=$libdir/$withval
+    root_libdir=$root_libdir/$withval
+fi
 )dnl
 dnl
 )dnl
 dnl
-dnl See if -static works.
+dnl See if -static works.  This could fail if the linker does not
+dnl support -static, or if required external libraries are not available
+dnl in static form.
 dnl
 dnl
-AC_MSG_CHECKING([whether linker accepts -static])
+AC_MSG_CHECKING([whether we can link with -static])
 AC_CACHE_VAL(ac_cv_e2fsprogs_use_static,
 [SAVE_LDFLAGS=$LDFLAGS; LDFLAGS="$LDFLAGS -static"
 AC_TRY_LINK([#include <stdio.h>],[fflush(stdout);],
 AC_CACHE_VAL(ac_cv_e2fsprogs_use_static,
 [SAVE_LDFLAGS=$LDFLAGS; LDFLAGS="$LDFLAGS -static"
 AC_TRY_LINK([#include <stdio.h>],[fflush(stdout);],
@@ -1122,16 +1304,17 @@ fi
 if test "$USE_INCLUDED_LIBINTL" = "yes" ; then
        INCLUDES=$INCLUDES' -I$(top_builddir)/intl -I$(top_srcdir)/intl'
 fi
 if test "$USE_INCLUDED_LIBINTL" = "yes" ; then
        INCLUDES=$INCLUDES' -I$(top_builddir)/intl -I$(top_srcdir)/intl'
 fi
+if test -n "$WITH_DIET_LIBC" ; then
+       INCLUDES="$INCLUDES -D_REENTRANT"
+fi
 AC_SUBST(INCLUDES)
 AC_SUBST(INCLUDES)
+AM_MKINSTALLDIRS
 dnl
 dnl Build CFLAGS
 dnl
 if test $cross_compiling = no; then
 dnl
 dnl Build CFLAGS
 dnl
 if test $cross_compiling = no; then
-   BUILD_CFLAGS="$CFLAGS"
+   BUILD_CFLAGS="$CFLAGS $CPPFLAGS $INCLUDES -DHAVE_CONFIG_H"
    BUILD_LDFLAGS="$LDFLAGS"
    BUILD_LDFLAGS="$LDFLAGS"
-else
-   BUILD_CFLAGS=
-   BUILD_LDFLAGS=
 fi
 AC_SUBST(BUILD_CFLAGS)
 AC_SUBST(BUILD_LDFLAGS)
 fi
 AC_SUBST(BUILD_CFLAGS)
 AC_SUBST(BUILD_LDFLAGS)
@@ -1144,7 +1327,7 @@ test -d include || mkdir include
 test -d include/linux || mkdir include/linux
 test -d include/asm || mkdir include/asm
 for i in MCONFIG Makefile e2fsprogs.spec \
 test -d include/linux || mkdir include/linux
 test -d include/asm || mkdir include/asm
 for i in MCONFIG Makefile e2fsprogs.spec \
-       util/Makefile util/subst.conf util/gen-tarball \
+       util/Makefile util/subst.conf util/gen-tarball util/install-symlink \
        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/et/Makefile lib/ss/Makefile lib/e2p/Makefile \
        lib/ext2fs/Makefile lib/ext2fs/ext2_types.h \
        lib/uuid/Makefile lib/uuid/uuid_types.h \