diff options
Diffstat (limited to 'c++/configure.in')
-rw-r--r-- | c++/configure.in | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/c++/configure.in b/c++/configure.in index c46e53c..5c08201 100644 --- a/c++/configure.in +++ b/c++/configure.in @@ -281,6 +281,54 @@ else fi AC_SUBST(LT_STATIC_EXEC) +case "$host_cpu-$host_vendor-$host_os" in + *linux*) + 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]]) + + LINUX_LFS="no" + case "X-$enable_linux_lfs" in + X-yes) + LINUX_LFS=yes + ;; + X-no) + ;; + X-|*) + AC_CHECK_FUNCS(getdents64, + dnl Add the large file support flags to the + dnl CXXFLAGS macro if we're on a Linux system + dnl which austensibly supports LFS. (We think it + dnl 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) + + CXXFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE $CXXFLAGS" + 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> + CXXFLAGS="-D_POSIX_SOURCE $CXXFLAGS" + + 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 + dnl correctly in <stdio.h> + CXXFLAGS="-D_BSD_SOURCE $CXXFLAGS" + ;; +esac + dnl ---------------------------------------------------------------------- dnl Checks for compiler characteristics. dnl |