X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=configure.in;h=513b05c2423780eadff98dc870051fc2cd1a3af3;hb=b19d1a959eeea17d6b899a5b994bf3f3691de947;hp=d7fcebf265227fc7c6718e0d20dff7f5f750e63e;hpb=ae85148246952016865e2792b49d6b68649b6063;p=tools%2Fe2fsprogs.git diff --git a/configure.in b/configure.in index d7fcebf..513b05c 100644 --- a/configure.in +++ b/configure.in @@ -1,4 +1,5 @@ AC_INIT(version.h) +AC_PREREQ(2.12) MCONFIG=./MCONFIG AC_SUBST_FILE(MCONFIG) BINARY_TYPE=bin @@ -12,7 +13,9 @@ DATE=`grep E2FSPROGS_DATE ${srcdir}/version.h | awk '{print $3}' \ MONTH=`echo $DATE | awk -F- '{print $2}'` YEAR=`echo $DATE | awk -F- '{print $3}'` -if expr $YEAR ">" 90 >/dev/null ; then +if expr $YEAR ">" 1900 > /dev/null ; then + E2FSPROGS_YEAR=$YEAR +elif expr $YEAR ">" 90 >/dev/null ; then E2FSPROGS_YEAR=19$YEAR else E2FSPROGS_YEAR=20$YEAR @@ -90,12 +93,12 @@ LDFLAGS=$withval, LDFLAGS=)dnl AC_SUBST(LDFLAGS) dnl -dnl Allow separate `usr_prefix' to be specified +dnl Allow separate `root_prefix' to be specified dnl -AC_ARG_WITH([usr-prefix], -[ --with-usr-prefx=PREFIX specify a prefix corresponding to /usr (default ${prefix})], -usr_prefix=$withval, -usr_prefix=NONE)dnl +AC_ARG_WITH([root-prefix], +[ --with-root-prefix=PREFIX override prefix variable for files to be placed in the root], +root_prefix=$withval, +root_prefix=NONE)dnl dnl dnl handle --enable-dll-shlibs dnl @@ -222,7 +225,7 @@ dnl dnl handle --enable-gcc-wall dnl AC_ARG_ENABLE([gcc-wall], -[ --enable-gcc-wall enable GCC anal warnings], +[ --enable-gcc-wall enable GCC anal warnings (DON'T USE IN PRODUCTION)], if test "$enableval" = "no" then W=# @@ -315,7 +318,7 @@ AC_CHECK_TOOL(STRIP, strip, :) AC_PROG_CC AC_PROG_INSTALL AC_C_CROSS -AC_CHECK_HEADERS(stdlib.h unistd.h stdarg.h errno.h mntent.h dirent.h getopt.h linux/fd.h linux/major.h sys/disklabel.h sys/sockio.h net/if.h netinet/in.h) +AC_CHECK_HEADERS(stdlib.h unistd.h stdarg.h errno.h malloc.h mntent.h paths.h dirent.h getopt.h setjmp.h linux/fd.h linux/major.h sys/disklabel.h sys/sockio.h sys/time.h sys/stat.h sys/types.h net/if.h netinet/in.h) AC_FUNC_VPRINTF dnl dnl See if struct dirent has a d_namlen field (like bsd systems), implying @@ -335,6 +338,23 @@ if test "$e2fsprogs_cv_struct_d_namlen" = yes; then AC_DEFINE(HAVE_DIRENT_NAMLEN) fi 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 ], [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 +dnl dnl Word sizes... dnl if test "$cross_compiling" = yes -a "$ac_cv_sizeof_long" = ""; then @@ -371,7 +391,7 @@ AC_MSG_RESULT($e2fsprogs_cv_struct_st_flags) if test "$e2fsprogs_cv_struct_st_flags" = yes; then AC_DEFINE(HAVE_STAT_FLAGS) fi -AC_CHECK_FUNCS(chflags getrusage llseek strdup getmntinfo strcasecmp srandom fchown) +AC_CHECK_FUNCS(chflags getrusage llseek strdup getmntinfo strcasecmp srandom fchown mallinfo) dnl dnl Check to see if ino_t is defined dnl @@ -391,12 +411,8 @@ 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]) -AC_SUBST(EXTRA_PROGS) if test "$linux_headers" = yes; then AC_DEFINE(HAVE_LINUX_FS_H) - # These are some programs that depend on having linux headers around, and - # won't work otherwise. So we only compile them if we can. - EXTRA_PROGS="$EXTRA_PROGS flushb" else LINUX_INCLUDE='-I$(top_srcdir)/include -I$(top_builddir)/include' # Use this include directory with test compiles in the configure script too. @@ -436,31 +452,35 @@ if test "$e2fsprogs_cv_ioctl_ext2" = yes; then AC_DEFINE(HAVE_EXT2_IOCTLS) fi dnl -dnl Linux uses a separate usr_prefix by default +dnl Linux places root files in the / by default dnl case "$host_os" in linux*) - if test "$prefix" = NONE ; then - usr_prefix="\${prefix}/usr"; - echo "On $host_os systems, usr_prefix defaults to $usr_prefix" + if test "$prefix" = NONE -a "$root_prefix" = NONE ; then + root_prefix=""; + echo "On $host_os systems, root_prefix defaults to ''" fi ;; esac -if test "$usr_prefix" = NONE ; then - usr_prefix="\${prefix}" -fi -AC_SUBST(usr_prefix) dnl -dnl On Linux/hurd, force the prefix to be '' +dnl On Linux/hurd, force the prefix to be /usr dnl case "$host_os" in linux* | gnu*) if test "$prefix" = NONE ; then - prefix=''; - echo "On $host_os systems, prefix defaults to ''" + prefix="/usr"; + echo "On $host_os systems, prefix defaults to /usr" fi ;; esac +if test "$root_prefix" = NONE ; then + if test "$prefix" = NONE ; then + root_prefix="$ac_default_prefix" + else + root_prefix="$prefix" + fi +fi +AC_SUBST(root_prefix) dnl dnl See if -static works. dnl @@ -470,6 +490,18 @@ AC_CACHE_VAL(ac_cv_e2fsprogs_use_static, AC_TRY_LINK([#include ],[fflush(stdout);], ac_cv_e2fsprogs_use_static=yes, ac_cv_e2fsprogs_use_static=no) LDFLAGS=$SAVE_LDFLAGS]) +dnl +dnl Regardless of how the test turns out, Solaris doesn't handle -static +dnl This is caused by the socket library requiring the nsl library, which +dnl requires the -dl library, which only works for dynamically linked +dnl programs. It basically means you can't have statically linked programs +dnl which use the network under Solaris. +dnl +case "$host_os" in +solaris2.*) + ac_cv_e2fsprogs_use_static=no +;; +esac AC_MSG_RESULT($ac_cv_e2fsprogs_use_static) LDFLAG_STATIC= if test $ac_cv_e2fsprogs_use_static = yes; then @@ -504,7 +536,12 @@ dnl test -d lib || mkdir lib test -d include || mkdir include test -d include/linux || mkdir include/linux -AC_OUTPUT(MCONFIG lib/substitute_sh Makefile lib/et/Makefile +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 misc/Makefile e2fsck/Makefile debugfs/Makefile tests/Makefile - tests/progs/Makefile doc/Makefile) + tests/progs/Makefile $rmakefile doc/Makefile)