Changes to automatically enable large file support on some systems.
I believe this works on Linux (tested both on a system with large file
support and one without it), and it may work on Solaris 2.7.
The changes are twofold:
(1) The configure script now boldly tries to set the two symbols that
are recommended (for Solaris and Linux), and then tries a test
script that does some simple seeking without writing.
(2) The _portable_{fseek,ftell} functions are a little more systematic
in how they try the different large file support options: first
try fseeko/ftello, but only if off_t is large; then try
fseek64/ftell64; then try hacking with fgetpos/fsetpos.
I'm keeping my fingers crossed. The meaning of the
HAVE_LARGEFILE_SUPPORT macro is not at all clear.
I'll see if I can get it to work on Windows as well.
diff --git a/acconfig.h b/acconfig.h
index 165a9bc..0f79c6c 100644
--- a/acconfig.h
+++ b/acconfig.h
@@ -25,6 +25,9 @@
/* Defined on Solaris to see additional function prototypes. */
#undef __EXTENSIONS__
+/* This must be set to 64 on some systems to enable large file support */
+#undef _FILE_OFFSET_BITS
+
/* Define if getpgrp() must be called as getpgrp(0). */
#undef GETPGRP_HAVE_ARG
@@ -107,6 +110,9 @@
/* Define if the compiler provides a wchar.h header file. */
#undef HAVE_WCHAR_H
+/* This must be defined on some systems to enable large file support */
+#undef _LARGEFILE_SOURCE
+
/* Define if you want to have a Unicode type. */
#undef Py_USING_UNICODE