diff options
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 51 |
1 files changed, 34 insertions, 17 deletions
diff --git a/configure.in b/configure.in index cd304ad..95b0714 100644 --- a/configure.in +++ b/configure.in @@ -441,27 +441,44 @@ dnl result could effect the outcome of the sizeof macros below. dnl case "$host_cpu-$host_vendor-$host_os" in *linux*) - AC_CHECK_FUNCS(getdents64, - dnl Add the large file support flags to the CPPFLAGS macro if - dnl we're on a Linux system which austensibly supports LFS. (We - dnl think it does if it has the ``getdents64'' syscall). - CPPFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE $CPPFLAGS" - if test $cc_vers_all -gt 2095000 -a $cc_vers_all -lt 2096000; then - dnl For GCC compilers 2.95.x, the -malign-double flag plays - dnl havoc with the LFS stuff. Remove it. It apparently works - dnl for 2.96, though, so... - CFLAGS_saved=$CFLAGS - CFLAGS="" - for flag in X $CFLAGS_saved; do - if test "$flag" != "X" -a "$flag" != "-malign-double"; then - CFLAGS="$CFLAGS $flag" - fi - done - fi) + dnl ---------------------------------------------------------------------- + dnl Enable large file support on linux? Store the result in the LINUX_LFS + dnl variable for posterity + AC_ARG_ENABLE(linux-lfs, + [ --enable-linux-lfs Enable support for large (64-bit) files on linux. [default=check]]) + + case "X-$enable_linux_lfs" in + X-yes) + LINUX_LFS=yes + ;; + X-no) + LINUX_LFS=no + ;; + X-|*) + LINUX_LFS=no + AC_CHECK_FUNCS(getdents64, + dnl Add the large file support flags to the CPPFLAGS macro if + dnl we're on a Linux system which austensibly supports LFS. (We + dnl think it does if it has the ``getdents64'' syscall). + LINUX_LFS=yes + ) + ;; + esac + + AC_MSG_CHECKING(for large file support on linux mode) + if test "X$LINUX_LFS" = "Xyes"; then + AC_MSG_RESULT(enabled) + + CPPFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE $CPPFLAGS" + else + AC_MSG_RESULT(disabled) + fi + dnl Add POSIX support on Linux systems, so <features.h> defines dnl __USE_POSIX, which is required to get the prototype for fdopen dnl defined correctly in <stdio.h> CPPFLAGS="-D_POSIX_SOURCE $CPPFLAGS" + dnl Also add BSD support on Linux systems, so <features.h> defines dnl __USE_BSD, which is required to get the prototype for strdup dnl defined correctly in <string.h> and snprintf & vsnprintf defined |