diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | generic/tclBasic.c | 15 | ||||
-rwxr-xr-x | win/configure | 3 | ||||
-rw-r--r-- | win/tcl.m4 | 2 |
4 files changed, 28 insertions, 0 deletions
@@ -1,3 +1,11 @@ +2013-05-16 Jan Nijtmans <nijtmans@users.sf.net> + + * win/tcl.m4: Add support for the latest mingw-4.0-rc1. + * win/configure: (regenerated) + * generic/tclBasic.c: Add panic in order to detect + incompatible mingw32 sys/stat.h and sys/time.h headers, + (which is fixed by defining _HAVE_32BIT_TIME_T). + 2013-05-06 Jan Nijtmans <nijtmans@users.sf.net> * generic/tclStubInit.c: Add support for Cygwin64, which has a 64-bit diff --git a/generic/tclBasic.c b/generic/tclBasic.c index bd4ad5d..0fd025a 100644 --- a/generic/tclBasic.c +++ b/generic/tclBasic.c @@ -15,6 +15,10 @@ * of this file, and for a DISCLAIMER OF ALL WARRANTIES. */ +#if defined(_WIN32) && !defined(_WIN64) +# define _USE_32BIT_TIME_T +#endif + #include "tclInt.h" #include "tclCompile.h" #ifndef TCL_GENERIC_ONLY @@ -312,6 +316,17 @@ Tcl_CreateInterp() panic("Tcl_CallFrame must not be smaller than CallFrame"); } +#if defined(_WIN32) && !defined(_WIN64) + if (sizeof(time_t) != 4) { + /*NOTREACHED*/ + Tcl_Panic("sys/time.h is not compatible with MSVC"); + } + if (sizeof(Tcl_StatBuf) != 48) { + /*NOTREACHED*/ + Tcl_Panic("sys/stat.h is not compatible with MSVC"); + } +#endif + /* * Initialize support for namespaces and create the global namespace * (whose name is ""; an alias is "::"). This also initializes the diff --git a/win/configure b/win/configure index 0f36f24..cfd28d3 100755 --- a/win/configure +++ b/win/configure @@ -1744,6 +1744,9 @@ echo "$ac_t""$tcl_cv_seh" 1>&6 cat >> confdefs.h <<\EOF #define HAVE_NO_SEH 1 EOF + cat >> confdefs.h <<\EOF +#define _HAVE_32BIT_TIME_T 1 +EOF fi @@ -989,6 +989,8 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [ if test "$tcl_cv_seh" = "no" ; then AC_DEFINE(HAVE_NO_SEH, 1, [Defined when mingw does not support SEH]) + AC_DEFINE(_HAVE_32BIT_TIME_T, 1, + [Defined for mingw to use pre-2005 time API]) fi # |