X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=configure.in;h=6ed9a5b3bad42c5c3579b478f46f0793d14da01b;hb=fb6c9e9d411724f1bc1868edb991dba21dc09654;hp=c38f0a8a318e5bf2063f18b0e314e9a0069cb258;hpb=0b5b9f90eec5cb383c660fe10ef2c88193e80fe7;p=tools%2Fe2fsprogs.git diff --git a/configure.in b/configure.in index c38f0a8..6ed9a5b 100644 --- a/configure.in +++ b/configure.in @@ -1,6 +1,8 @@ AC_INIT(version.h) -AC_PREREQ(2.50) +AC_PREREQ(2.54) AC_CONFIG_AUX_DIR(config) +AC_CONFIG_HEADERS([lib/config.h]) +AH_BOTTOM([#include ]) MCONFIG=./MCONFIG AC_SUBST_FILE(MCONFIG) BINARY_TYPE=bin @@ -61,7 +63,6 @@ AC_SUBST(E2FSPROGS_MONTH) AC_SUBST(E2FSPROGS_DAY) AC_SUBST(E2FSPROGS_VERSION) AC_SUBST(E2FSPROGS_PKGVER) -AC_CANONICAL_HOST dnl dnl Use diet libc dnl @@ -70,8 +71,24 @@ AC_ARG_WITH([diet-libc], [ --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_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])) @@ -85,17 +102,11 @@ AC_HELP_STRING([--with-ldopts],[no longer supported, use LDFLAGS= instead]), AC_MSG_ERROR([--with-ldopts no longer supported; use LDFLAGS= instead])) dnl AC_PROG_CC -AC_PROG_CPP -dnl -dnl On systems without linux header files, we add an extra include directory -dnl that holds enough to fake it (hopefully). Note that the $(top_srcdir) here -dnl is quoted so that it gets expanded by make, not by configure. -dnl -AC_CHECK_HEADER(linux/fs.h, [linux_headers=yes], [linux_headers=no]) -if test "$linux_headers" != yes; then - LINUX_INCLUDE='-I$(top_builddir)/include' +if test "$GCC" = yes; then + RDYNAMIC="-rdynamic" + AC_SUBST(RDYNAMIC) fi -AC_SUBST(LINUX_INCLUDE) +AC_PROG_CPP 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. @@ -146,26 +157,99 @@ AC_MSG_RESULT([Disabling maintainer mode by default]) ) AC_SUBST(MAINTAINER_CMT) dnl +dnl handle --enable-symlink-install +dnl +AC_ARG_ENABLE([symlink-install], +[ --enable-symlink-install use symlinks when installing instead of hard links], +if test "$enableval" = "no" +then + LINK_INSTALL_FLAGS=-f + AC_MSG_RESULT([Disabling symlinks for install]) +else + LINK_INSTALL_FLAGS=-sf + AC_MSG_RESULT([Enabling symlinks for install]) +fi +, +LINK_INSTALL_FLAGS=-f +AC_MSG_RESULT([Disabling symlinks for install by default]) +) +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], +[ --enable-symlink-build use symlinks while building instead of hard links], +if test "$enableval" = "no" +then + LINK_BUILD_FLAGS= + AC_MSG_RESULT([Disabling symlinks for build]) +else + LINK_BUILD_FLAGS=-s + AC_MSG_RESULT([Enabling symlinks for build]) +fi +, +LINK_BUILD_FLAGS= +AC_MSG_RESULT([Disabling symlinks for build by default]) +) +AC_SUBST(LINK_BUILD_FLAGS) +dnl dnl handle --enable-verbose-makecmds dnl AC_ARG_ENABLE([verbose-makecmds], -[ --enable-verbose-makecmds enable verbose make command output], +[ --enable-verbose-makecmds enable verbose make command output], if test "$enableval" = "no" then AC_MSG_RESULT([Disabling verbose make commands]) E=@echo + ES=echo Q=@ else AC_MSG_RESULT([Enabling verbose make commands]) E=@\\# + ES=\\# Q= fi , AC_MSG_RESULT([Disabling verbose make commands]) E=@echo +ES=echo Q=@ ) AC_SUBST(E) +AC_SUBST(ES) AC_SUBST(Q) dnl dnl handle --enable-compression @@ -176,7 +260,8 @@ if test "$enableval" = "no" then AC_MSG_RESULT([Disabling compression support]) else - AC_DEFINE(ENABLE_COMPRESSION) + AC_DEFINE(ENABLE_COMPRESSION, 1, + [Define to 1 if ext2 compression enabled]) AC_MSG_RESULT([Enabling compression support]) AC_MSG_WARN([Compression support is experimental]) fi @@ -186,6 +271,7 @@ AC_MSG_RESULT([Disabling compression support by default]) dnl dnl handle --enable-htree dnl +AH_TEMPLATE([ENABLE_HTREE], [Define to 1 if ext3/4 htree support enabled]) AC_ARG_ENABLE([htree], [ --enable-htree enable EXPERIMENTAL htree directory support], if test "$enableval" = "no" @@ -194,12 +280,12 @@ then AC_MSG_RESULT([Disabling htree directory support]) else HTREE_CMT= - AC_DEFINE(ENABLE_HTREE) + AC_DEFINE(ENABLE_HTREE, 1) AC_MSG_RESULT([Enabling htree directory support]) fi , HTREE_CMT= -AC_DEFINE(ENABLE_HTREE) +AC_DEFINE(ENABLE_HTREE, 1) AC_MSG_RESULT([Enabling htree directory support by default]) ) AC_SUBST(HTREE_CMT) @@ -295,27 +381,18 @@ AC_MSG_RESULT([Disabling profiling libraries by default]) AC_SUBST(PROFILE_CMT) AC_SUBST_FILE(MAKEFILE_PROFILE) dnl -dnl handle --enable-checker +dnl handle --enable-gcov 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 - 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 -, -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 @@ -333,7 +410,8 @@ if test "$enableval" = "no" then AC_MSG_RESULT([Disabling journal debugging]) else - AC_DEFINE(CONFIG_JBD_DEBUG) + AC_DEFINE(CONFIG_JBD_DEBUG, 1, + [Define to 1 if debugging ext3/4 journal code]) AC_MSG_RESULT([Enabling journal debugging]) fi , @@ -348,7 +426,8 @@ if test "$enableval" = "no" then AC_MSG_RESULT([Disabling blkid debugging]) else - AC_DEFINE(CONFIG_BLKID_DEBUG) + AC_DEFINE(CONFIG_BLKID_DEBUG, 1, + [Define to 1 if debugging the blkid library]) AC_MSG_RESULT([Enabling blkid debugging]) fi , @@ -359,18 +438,20 @@ dnl handle --enable-testio-debug dnl AC_ARG_ENABLE([testio-debug], [ --disable-testio-debug disable the use of the test I/O manager for debugging], +AH_TEMPLATE([CONFIG_TESTIO_DEBUG], + [Define to 1 if the testio I/O manager should be enabled]) if test "$enableval" = "no" then AC_MSG_RESULT([Disabling testio debugging]) TEST_IO_CMT="#" else TEST_IO_CMT= - AC_DEFINE(CONFIG_TESTIO_DEBUG) + AC_DEFINE(CONFIG_TESTIO_DEBUG, 1) AC_MSG_RESULT([Enabling testio debugging]) fi , AC_MSG_RESULT([Enabling testio debugging by default]) -AC_DEFINE(CONFIG_TESTIO_DEBUG) +AC_DEFINE(CONFIG_TESTIO_DEBUG, 1) TEST_IO_CMT= ) AC_SUBST(TEST_IO_CMT) @@ -396,8 +477,8 @@ then 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 @@ -436,6 +517,7 @@ DEPSTATIC_LIBBLKID= PROFILED_LIBBLKID= DEPPROFILED_LIBBLKID= BLKID_CMT= +AH_TEMPLATE([CONFIG_BUILD_FINDFS], [Define to 1 to compile findfs]) AC_ARG_ENABLE([libblkid], [ --disable-libblkid do not build private blkid library], if test "$enableval" = "no" @@ -447,9 +529,9 @@ then 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=# + PROFILED_LIBBLKID=$LIBBLKID AC_MSG_RESULT([Disabling private blkid library]) else LIBBLKID='$(LIB)/libblkid'$LIB_EXT @@ -458,7 +540,7 @@ else DEPSTATIC_LIBBLKID=$STATIC_LIBBLKID PROFILED_LIBBLKID='$(LIB)/libblkid'$PROFILED_LIB_EXT DEPPROFILED_LIBBLKID=$PROFILED_LIBBLKID - AC_DEFINE(CONFIG_BUILD_FINDFS) + AC_DEFINE(CONFIG_BUILD_FINDFS, 1) AC_MSG_RESULT([Enabling private blkid library]) fi , @@ -468,7 +550,7 @@ STATIC_LIBBLKID='$(LIB)/libblkid'$STATIC_LIB_EXT DEPSTATIC_LIBBLKID=$STATIC_LIBBLKID PROFILED_LIBBLKID='$(LIB)/libblkid'$PROFILED_LIB_EXT DEPPROFILED_LIBBLKID=$PROFILED_LIBBLKID -AC_DEFINE(CONFIG_BUILD_FINDFS) +AC_DEFINE(CONFIG_BUILD_FINDFS, 1) AC_MSG_RESULT([Enabling private blkid library by default]) ) AC_SUBST(LIBBLKID) @@ -479,6 +561,63 @@ AC_SUBST(PROFILED_LIBBLKID) AC_SUBST(DEPPROFILED_LIBBLKID) AC_SUBST(BLKID_CMT) 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], +[ --enable-quota enable quota support], +if test "$enableval" = "no" +then + QUOTA_CMT=# + AC_MSG_RESULT([Disabling quota support]) +else + QUOTA_CMT= + AC_DEFINE(CONFIG_QUOTA, 1) + AC_MSG_RESULT([Enabling quota support]) + QUOTA_MAN_COMMENT="" + AC_SUBST(QUOTA_MAN_COMMENT) +fi +, +QUOTA_CMT=# +AC_MSG_RESULT([Disabling quota support by default]) +) +dnl +dnl Define stuff expected for quota library +dnl +LIBQUOTA='$(LIB)/libquota'$LIB_EXT +DEPLIBQUOTA=$LIBQUOTA +STATIC_LIBQUOTA='$(LIB)/libquota'$STATIC_LIB_EXT +DEPSTATIC_LIBQUOTA=$STATIC_LIBQUOTA +PROFILED_LIBQUOTA='$(LIB)/libquota'$PROFILED_LIB_EXT +DEPPROFILED_LIBQUOTA=$PROFILED_LIBQUOTA +AC_SUBST(LIBQUOTA) +AC_SUBST(DEPLIBQUOTA) +AC_SUBST(STATIC_LIBQUOTA) +AC_SUBST(DEPSTATIC_LIBQUOTA) +AC_SUBST(PROFILED_LIBQUOTA) +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], @@ -533,6 +672,30 @@ RESIZER_CMT= ) AC_SUBST(RESIZER_CMT) dnl +dnl handle --enable-defrag +dnl +AC_ARG_ENABLE([defrag], +[ --disable-defrag disable support of e4defrag program], +if test "$enableval" = "no" +then + AC_MSG_RESULT([Disabling e4defrag support]) + DEFRAG_CMT="#" +else + DEFRAG_CMT= + AC_MSG_RESULT([Enabling e4defrag support]) +fi +, +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 dnl See whether to install the `fsck' wrapper program (that calls e2fsck) dnl AC_ARG_ENABLE([fsck], @@ -607,6 +770,7 @@ fi dnl dnl dnl +AH_TEMPLATE([USE_UUIDD], [Define to 1 to build uuidd]) AC_ARG_ENABLE([uuidd], [ --disable-uuidd disable building the uuid daemon], [if test "$enableval" = "no" @@ -614,14 +778,20 @@ then AC_MSG_RESULT([Not building uuidd]) UUIDD_CMT="#" else - AC_DEFINE(USE_UUIDD) + AC_DEFINE(USE_UUIDD, 1) UUIDD_CMT="" AC_MSG_RESULT([Building uuidd]) fi] , -AC_DEFINE(USE_UUIDD) -UUIDD_CMT="" -AC_MSG_RESULT([Building uuidd by default]) +AC_DEFINE(USE_UUIDD, 1) +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 @@ -636,8 +806,8 @@ GETTEXT_PACKAGE=e2fsprogs PACKAGE=e2fsprogs VERSION="$E2FSPROGS_VERSION" VERSION=0.14.1 -AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE") -AC_DEFINE_UNQUOTED(VERSION, "$VERSION") +AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [package name for gettext]) +AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [version for gettext]) AC_SUBST(GETTEXT_PACKAGE) AC_SUBST(PACKAGE) AC_SUBST(VERSION) @@ -685,13 +855,50 @@ if test $cross_compiling = no; then else AC_CHECK_PROGS(BUILD_CC, gcc cc) fi -AC_CHECK_HEADERS(dirent.h errno.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/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 -#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 @@ -704,16 +911,20 @@ AC_CHECK_HEADERS(net/if.h,,, 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)],, +AC_CHECK_MEMBER(struct dirent.d_reclen,[AC_DEFINE(HAVE_RECLEN_DIRENT, 1, + [Define to 1 if dirent has d_reclen])],, [#include ]) -dnl Check to see if ssize_t was decleared -AC_CHECK_TYPE(ssize_t,[AC_DEFINE(HAVE_TYPE_SSIZE_T)],, +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])],, [#include ]) 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 -AC_CHECK_DECL(llseek,[AC_DEFINE(HAVE_LLSEEK_PROTOTYPE)],, +AC_CHECK_DECL(llseek,[AC_DEFINE(HAVE_LLSEEK_PROTOTYPE, 1, + [Define to 1 if llseek declared in unistd.h])],, [#include ]) dnl dnl Check to see if lseek64() is declared in unistd.h. Glibc's header files @@ -724,7 +935,8 @@ dnl dnl Warning! Use of --enable-gcc-wall may throw off this test. dnl dnl -AC_CHECK_DECL(lseek64,[AC_DEFINE(HAVE_LSEEK64_PROTOTYPE)],, +AC_CHECK_DECL(lseek64,[AC_DEFINE(HAVE_LSEEK64_PROTOTYPE, 1, + [Define to 1 if lseek64 declared in unistd.h])],, [#define _LARGEFILE_SOURCE #define _LARGEFILE64_SOURCE #include ]) @@ -735,16 +947,23 @@ AC_CHECK_SIZEOF(short) 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_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_OFF_T) 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 @@ -791,18 +1010,85 @@ if test "$e2fsprogs_cv_struct_st_flags" = yes; then [e2fsprogs_cv_struct_st_flags_immut=no])) AC_MSG_RESULT($e2fsprogs_cv_struct_st_flags_immut) if test "$e2fsprogs_cv_struct_st_flags_immut" = yes; then - AC_DEFINE(HAVE_STAT_FLAGS) + AC_DEFINE(HAVE_STAT_FLAGS, 1, + [Define to 1 if struct stat has st_flags]) fi fi 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]),, + AC_DEFINE_UNQUOTED(HAVE_SA_LEN,1, + [Define to 1 if if struct sockaddr contains sa_len]),, [#include #include ]) dnl -AC_CHECK_FUNCS(chflags getrusage llseek lseek64 open64 fstat64 ftruncate64 getmntinfo strtoull strcasecmp srandom jrand48 fchown mallinfo fdatasync strnlen strptime strdup sysconf pathconf posix_memalign memalign valloc __secure_getenv prctl mmap utime setresuid setresgid usleep nanosleep getdtablesize getrlimit) +dnl This will add -lblkid to the AC_CHECK_FUNCS search if we are using +dnl the system-provided blkid library +dnl +if test -n "$BLKID_CMT"; then + AC_SEARCH_LIBS([blkid_probe_all], [blkid]) +fi +dnl +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 @@ -811,14 +1097,6 @@ SOCKET_LIB='' 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) @@ -827,21 +1105,22 @@ AC_CACHE_VAL(ac_cv_have_optreset, ac_cv_have_optreset=yes, ac_cv_have_optreset=no)])dnl AC_MSG_RESULT($ac_cv_have_optreset) if test $ac_cv_have_optreset = yes; then - AC_DEFINE(HAVE_OPTRESET) + AC_DEFINE(HAVE_OPTRESET, 1, [Define to 1 if optreset for getopt is present]) fi dnl dnl Test for sem_init, and which library it might require: dnl +AH_TEMPLATE([HAVE_SEM_INIT], [Define to 1 if sem_init() exists]) SEM_INIT_LIB='' AC_CHECK_FUNC(sem_init, , AC_CHECK_LIB(pthread, sem_init, - AC_DEFINE(HAVE_SEM_INIT) + AC_DEFINE(HAVE_SEM_INIT, 1) SEM_INIT_LIB=-lpthread, AC_CHECK_LIB(rt, sem_init, - AC_DEFINE(HAVE_SEM_INIT) + AC_DEFINE(HAVE_SEM_INIT, 1) SEM_INIT_LIB=-lrt, AC_CHECK_LIB(posix4, sem_init, - AC_DEFINE(HAVE_SEM_INIT) + AC_DEFINE(HAVE_SEM_INIT, 1) SEM_INIT_LIB=-lposix4))))dnl AC_SUBST(SEM_INIT_LIB) dnl @@ -860,7 +1139,7 @@ dnl We use the EXT2 ioctls only under Linux dnl case "$host_os" in linux*) - AC_DEFINE(HAVE_EXT2_IOCTLS) + AC_DEFINE(HAVE_EXT2_IOCTLS, 1, [Define to 1 if Ext2 ioctls present]) ;; esac dnl @@ -945,9 +1224,24 @@ AC_SUBST(root_sbindir) AC_SUBST(root_libdir) AC_SUBST(root_sysconfdir) dnl -dnl See if -static works. +dnl Allow specification of the multiarch arch +dnl +AC_ARG_WITH([multiarch], +[ --with-multiarch=ARCH specify the multiarch triplet], +if test "$withval" = "lib64"; then + libdir=/usr/lib64 + root_libdir=/lib64 +else + libdir=$libdir/$withval + root_libdir=$root_libdir/$withval +fi +)dnl dnl -AC_MSG_CHECKING([whether linker accepts -static]) +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 +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 ],[fflush(stdout);], @@ -979,7 +1273,8 @@ dnl case "$host_os" in darwin*) AC_MSG_RESULT([Using Apple Darwin / GNU libintl workaround]) - AC_DEFINE(_INTL_REDIRECT_MACROS) + AC_DEFINE(_INTL_REDIRECT_MACROS, 1, + [Define to 1 if Apple Darwin libintl workaround is needed]) ;; esac dnl @@ -1000,21 +1295,25 @@ fi AC_SUBST(DO_TEST_SUITE) dnl dnl Only include the intl include files if we're building with them -dnl -INTL_FLAGS= +dnl +INCLUDES='-I. -I$(top_builddir)/lib -I$(top_srcdir)/lib' +if test -n "$CPPFLAGS" ; then + INCLUDES="$INCLUDES $CPPFLAGS" +fi if test "$USE_INCLUDED_LIBINTL" = "yes" ; then - INTL_FLAGS='-I$(top_builddir)/intl -I$(top_srcdir)/intl' + 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(INTL_FLAGS) +AC_SUBST(INCLUDES) +AM_MKINSTALLDIRS 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" -else - BUILD_CFLAGS= - BUILD_LDFLAGS= fi AC_SUBST(BUILD_CFLAGS) AC_SUBST(BUILD_LDFLAGS) @@ -1027,11 +1326,13 @@ 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 \ - util/Makefile util/subst.conf util/gen-tarball \ + e2fsprogs-RHEL-6.spec \ + e2fsprogs-SUSE_LINUX-11.spec \ + 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/blkid/Makefile lib/blkid/blkid_types.h \ + lib/blkid/Makefile lib/blkid/blkid_types.h lib/quota/Makefile \ 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 \