summaryrefslogtreecommitdiffstats
path: root/unix
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2013-05-06 07:33:02 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2013-05-06 07:33:02 (GMT)
commit9d84efaa149ad0656809cbb06f7c05ffbab65c60 (patch)
treec6cfc129969a1305998dc4d0d21c574a1bcd6018 /unix
parent14032954eb131a80c8736ecc70830639fa7bab3c (diff)
parent20db8704e2e5aaf679c2f9be0768b700f63cb44e (diff)
downloadtcl-9d84efaa149ad0656809cbb06f7c05ffbab65c60.zip
tcl-9d84efaa149ad0656809cbb06f7c05ffbab65c60.tar.gz
tcl-9d84efaa149ad0656809cbb06f7c05ffbab65c60.tar.bz2
Add support for Cygwin64, which has a 64-bit "long" type.
Binary compatibility with win64 requires that all stub entries use 32-bit long's, therefore the need for various wrapper functions/macros. For Tcl 9 a better solution is needed, but that cannot be done without introducing binary incompatibility.
Diffstat (limited to 'unix')
-rw-r--r--unix/tclUnixPort.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/unix/tclUnixPort.h b/unix/tclUnixPort.h
index 636c760..fde1909 100644
--- a/unix/tclUnixPort.h
+++ b/unix/tclUnixPort.h
@@ -99,9 +99,11 @@ typedef off_t Tcl_SeekOffset;
# define USE_PUTENV 1
# define USE_PUTENV_FOR_UNSET 1
/* On Cygwin, the environment is imported from the Cygwin DLL. */
+#ifndef __x86_64__
# define environ __cygwin_environ
-# define timezone _timezone
extern char **__cygwin_environ;
+#endif
+# define timezone _timezone
extern int TclOSstat(const char *name, void *statBuf);
extern int TclOSlstat(const char *name, void *statBuf);
#elif defined(HAVE_STRUCT_STAT64) && !defined(__APPLE__)