summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--PC/config.h42
-rw-r--r--acconfig.h3
-rw-r--r--config.h.in9
-rw-r--r--configure.in17
4 files changed, 61 insertions, 10 deletions
diff --git a/PC/config.h b/PC/config.h
index 6a1e4c1..dfe5118 100644
--- a/PC/config.h
+++ b/PC/config.h
@@ -241,23 +241,45 @@ typedef int pid_t;
/* End of compilers - finish up */
+/* define the ANSI intptr_t type for portable use of a pointer sized
+ integer */
+#include <basetsd.h>
+#if defined(MS_WINDOWS) && !defined(MS_WIN64)
+typedef long intptr_t;
+#endif
+
#if defined(MS_WIN64)
/* maintain "win32" sys.platform for backward compatibility of Python code,
the Win64 API should be close enough to the Win32 API to make this
preferable */
-#define PLATFORM "win32"
-#define SIZEOF_VOID_P 8
+# define PLATFORM "win32"
+# define SIZEOF_VOID_P 8
+# define SIZEOF_TIME_T 8
+# define SIZEOF_OFF_T 4
+# define SIZEOF_FPOS_T 8
+# define SIZEOF_HKEY 8
+/* configure.in defines HAVE_LARGEFILE_SUPPORT iff HAVE_LONG_LONG,
+ sizeof(off_t) > sizeof(long), and sizeof(LONG_LONG) >= sizeof(off_t).
+ On Win64 the second condition is not true, but if fpos_t replaces off_t
+ then this is true. The uses of HAVE_LARGEFILE_SUPPORT imply that Win64
+ should define this. */
+# define HAVE_LARGEFILE_SUPPORT
#elif defined(MS_WIN32)
-#define PLATFORM "win32"
-#ifdef _M_ALPHA
-#define SIZEOF_VOID_P 8
-#else
-#define SIZEOF_VOID_P 4
-#endif
+# define PLATFORM "win32"
+# ifdef _M_ALPHA
+# define SIZEOF_VOID_P 8
+# define SIZEOF_TIME_T 8
+# else
+# define SIZEOF_VOID_P 4
+# define SIZEOF_TIME_T 4
+# define SIZEOF_OFF_T 4
+# define SIZEOF_FPOS_T 8
+# define SIZEOF_HKEY 4
+# endif
#elif defined(MS_WIN16)
-#define PLATFORM "win16"
+# define PLATFORM "win16"
#else
-#define PLATFORM "dos"
+# define PLATFORM "dos"
#endif
diff --git a/acconfig.h b/acconfig.h
index 8192aef..3c07ebc 100644
--- a/acconfig.h
+++ b/acconfig.h
@@ -151,6 +151,9 @@
/* The number of bytes in an off_t. */
#undef SIZEOF_OFF_T
+/* The number of bytes in a time_t. */
+#undef SIZEOF_TIME_T
+
/* Defined to enable large file support when an off_t is bigger than a long
and long long is available and at least as big as an off_t. You may need
to add some flags for configuration and compilation to enable this mode.
diff --git a/config.h.in b/config.h.in
index 704f50a..89e52a2 100644
--- a/config.h.in
+++ b/config.h.in
@@ -213,6 +213,9 @@
/* The number of bytes in an off_t. */
#undef SIZEOF_OFF_T
+/* The number of bytes in a time_t. */
+#undef SIZEOF_TIME_T
+
/* Defined to enable large file support when an off_t is bigger than a long
and long long is available and at least as big as an off_t. You may need
to add some flags for configuration and compilation to enable this mode.
@@ -234,6 +237,9 @@
/* The number of bytes in a float. */
#undef SIZEOF_FLOAT
+/* The number of bytes in a fpos_t. */
+#undef SIZEOF_FPOS_T
+
/* The number of bytes in a int. */
#undef SIZEOF_INT
@@ -546,6 +552,9 @@
/* Define if you have the <sys/socket.h> header file. */
#undef HAVE_SYS_SOCKET_H
+/* Define if you have the <sys/socket.h> header file. */
+#undef HAVE_SYS_SOCKET_H
+
/* Define if you have the <sys/time.h> header file. */
#undef HAVE_SYS_TIME_H
diff --git a/configure.in b/configure.in
index fd5f368..5790801 100644
--- a/configure.in
+++ b/configure.in
@@ -389,6 +389,7 @@ AC_CHECK_SIZEOF(char)
AC_CHECK_SIZEOF(short)
AC_CHECK_SIZEOF(float)
AC_CHECK_SIZEOF(double)
+AC_CHECK_SIZEOF(fpos_t)
AC_MSG_CHECKING(for long long support)
have_long_long=no
@@ -424,6 +425,22 @@ else
AC_MSG_RESULT(no)
fi
+# AC_CHECK_SIZEOF() doesn't include <time.h>.
+AC_MSG_CHECKING(size of time_t)
+AC_CACHE_VAL(ac_cv_sizeof_time_t,
+[AC_TRY_RUN([#include <stdio.h>
+#include <time.h>
+main()
+{
+ FILE *f=fopen("conftestval", "w");
+ if (!f) exit(1);
+ fprintf(f, "%d\n", sizeof(time_t));
+ exit(0);
+}], ac_cv_sizeof_time_t=`cat conftestval`, ac_cv_sizeof_time_t=0)
+])
+AC_MSG_RESULT($ac_cv_sizeof_time_t)
+AC_DEFINE_UNQUOTED(SIZEOF_TIME_T, $ac_cv_sizeof_time_t)
+
# Minor variations in building a framework between NextStep versions 4 and 5
AC_SUBST(LIBTOOL_CRUFT)