diff src/configure.ac @ 13140:eb45750114ed v8.0.1444

patch 8.0.1444: missing -D_FILE_OFFSET_BITS=64 may cause problems commit https://github.com/vim/vim/commit/ec0557f08b2660118eaedb94471e5ab0f87cf2a3 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Jan 31 14:41:37 2018 +0100 patch 8.0.1444: missing -D_FILE_OFFSET_BITS=64 may cause problems Problem: Missing -D_FILE_OFFSET_BITS=64 may cause problems if a library is compiled with it. Solution: Include -D_FILE_OFFSET_BITS if some CFLAGS has it. (James McCoy, closes #2600)
author Christian Brabandt <cb@256bit.org>
date Wed, 31 Jan 2018 14:45:05 +0100
parents 35e148715059
children 825841608429
line wrap: on
line diff
--- a/src/configure.ac
+++ b/src/configure.ac
@@ -4366,6 +4366,20 @@ if test "$GCC" = yes; then
 fi
 AC_SUBST(DEPEND_CFLAGS_FILTER)
 
+dnl On some systems AC_SYS_LARGEFILE determines that -D_FILE_OFFSET_BITS=64
+dnl isn't required, but the CFLAGS for some of the libraries we're using
+dnl include the define.  Since the define changes the size of some datatypes
+dnl (e.g. ino_t and off_t), all of Vim's modules must be compiled with a
+dnl consistent value.  It's therefore safest to force the use of the define
+dnl if it's present in any of the *_CFLAGS variables.
+AC_MSG_CHECKING(whether we need to force -D_FILE_OFFSET_BITS=64)
+if echo "$CFLAGS $LUA_CFLAGS $MZSCHEME_CFLAGS $PERL_CFLAGS $PYTHON_GETPATH_CFLAGS $PYTHON_CFLAGS $PYTHON3_CFLAGS $TCL_CFLAGS $RUBY_CFLAGS $GTK_CFLAGS" | grep -q D_FILE_OFFSET_BITS 2>/dev/null; then
+  AC_MSG_RESULT(yes)
+  AC_DEFINE(_FILE_OFFSET_BITS, 64)
+else
+  AC_MSG_RESULT(no)
+fi
+
 dnl link.sh tries to avoid overlinking in a hackish way.
 dnl At least GNU ld supports --as-needed which provides the same functionality
 dnl at linker level. Let's use it.