Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | On Cygwin, use win32 API in stead of uname() to determine the tcl_platform variables |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
f980e7a9d2e730f7dd1a30df0db2cbf7 |
User & Date: | jan.nijtmans 2012-06-06 13:07:38 |
Context
2012-06-06
| ||
14:48 | Declare that Tcl provides the zlib 2.0 package. check-in: bb6a97ac20 user: dkf tags: trunk | |
13:07 | On Cygwin, use win32 API in stead of uname() to determine the tcl_platform variables check-in: f980e7a9d2 user: jan.nijtmans tags: trunk | |
13:02 | On Cygwin, use win32 API in stead of uname() to determine the tcl_platform variables check-in: b60f48db3f user: jan.nijtmans tags: core-8-5-branch | |
2012-06-05
| ||
15:59 | Remove unused variable NULL_CONTEXT. check-in: 56ee0e2274 user: dgp tags: trunk | |
Changes
Changes to ChangeLog.
1 2 3 4 5 6 7 | 2012-05-31 Jan Nijtmans <[email protected]> * generic/tclZlib.c: [Bug 3530536]: zlib-7.4 fails on IRIX64 * tests/zlib.test: * doc/zlib.n: Document that [stream checksum] doesn't do what's expected for "inflate" and "deflate" formats | > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 | 2012-06-06 Jan Nijtmans <[email protected]> * unix/tclUnixInit.c: On Cygwin, use win32 API in stead of uname() to determine the tcl_platform variables. 2012-05-31 Jan Nijtmans <[email protected]> * generic/tclZlib.c: [Bug 3530536]: zlib-7.4 fails on IRIX64 * tests/zlib.test: * doc/zlib.n: Document that [stream checksum] doesn't do what's expected for "inflate" and "deflate" formats |
︙ | ︙ |
Changes to unix/tclUnixInit.c.
︙ | ︙ | |||
27 28 29 30 31 32 33 34 35 36 37 38 39 40 | #endif #if defined(__bsdi__) # include <sys/param.h> # if _BSDI_VERSION > 199501 # include <dlfcn.h> # endif #endif #ifdef HAVE_COREFOUNDATION #include <CoreFoundation/CoreFoundation.h> #endif /* * Tcl tries to use standard and homebrew methods to guess the right encoding * on the platform. However, there is always a final fallback, and this value | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | #endif #if defined(__bsdi__) # include <sys/param.h> # if _BSDI_VERSION > 199501 # include <dlfcn.h> # endif #endif #ifdef __CYGWIN__ DLLIMPORT extern __stdcall unsigned char GetVersionExA(void *); DLLIMPORT extern __stdcall void GetSystemInfo(void *); #define NUMPLATFORMS 4 static const char *const platforms[NUMPLATFORMS] = { "Win32s", "Windows 95", "Windows NT", "Windows CE" }; #define NUMPROCESSORS 11 static const char *const processors[NUMPROCESSORS] = { "intel", "mips", "alpha", "ppc", "shx", "arm", "ia64", "alpha64", "msil", "amd64", "ia32_on_win64" }; typedef struct _SYSTEM_INFO { union { DWORD dwOemId; struct { int wProcessorArchitecture; int wReserved; }; }; DWORD dwPageSize; void *lpMinimumApplicationAddress; void *lpMaximumApplicationAddress; void *dwActiveProcessorMask; DWORD dwNumberOfProcessors; DWORD dwProcessorType; DWORD dwAllocationGranularity; int wProcessorLevel; int wProcessorRevision; } SYSTEM_INFO; typedef struct _OSVERSIONINFOA { DWORD dwOSVersionInfoSize; DWORD dwMajorVersion; DWORD dwMinorVersion; DWORD dwBuildNumber; DWORD dwPlatformId; char szCSDVersion[128]; } OSVERSIONINFOA; #endif #ifdef HAVE_COREFOUNDATION #include <CoreFoundation/CoreFoundation.h> #endif /* * Tcl tries to use standard and homebrew methods to guess the right encoding * on the platform. However, there is always a final fallback, and this value |
︙ | ︙ | |||
696 697 698 699 700 701 702 | *---------------------------------------------------------------------- */ void TclpSetVariables( Tcl_Interp *interp) { | > > > > | | 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 | *---------------------------------------------------------------------- */ void TclpSetVariables( Tcl_Interp *interp) { #ifdef __CYGWIN__ SYSTEM_INFO sysInfo; OSVERSIONINFOA osInfo; char buffer[TCL_INTEGER_SPACE * 2]; #elif !defined(NO_UNAME) struct utsname name; #endif int unameOK; Tcl_DString ds; #ifdef HAVE_COREFOUNDATION char tclLibPath[MAXPATHLEN + 1]; |
︙ | ︙ | |||
805 806 807 808 809 810 811 | #ifdef DJGPP Tcl_SetVar2(interp, "tcl_platform", "platform", "dos", TCL_GLOBAL_ONLY); #else Tcl_SetVar2(interp, "tcl_platform", "platform", "unix", TCL_GLOBAL_ONLY); #endif unameOK = 0; | > > > > > > > > > > > > > > > > > > | | 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 | #ifdef DJGPP Tcl_SetVar2(interp, "tcl_platform", "platform", "dos", TCL_GLOBAL_ONLY); #else Tcl_SetVar2(interp, "tcl_platform", "platform", "unix", TCL_GLOBAL_ONLY); #endif unameOK = 0; #ifdef __CYGWIN__ unameOK = 1; osInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFOA); GetVersionExA(&osInfo); GetSystemInfo(&sysInfo); if (osInfo.dwPlatformId < NUMPLATFORMS) { Tcl_SetVar2(interp, "tcl_platform", "os", platforms[osInfo.dwPlatformId], TCL_GLOBAL_ONLY); } sprintf(buffer, "%d.%d", osInfo.dwMajorVersion, osInfo.dwMinorVersion); Tcl_SetVar2(interp, "tcl_platform", "osVersion", buffer, TCL_GLOBAL_ONLY); if (sysInfo.wProcessorArchitecture < NUMPROCESSORS) { Tcl_SetVar2(interp, "tcl_platform", "machine", processors[sysInfo.wProcessorArchitecture], TCL_GLOBAL_ONLY); } #elif !defined NO_UNAME if (uname(&name) >= 0) { const char *native; unameOK = 1; native = Tcl_ExternalToUtfDString(NULL, name.sysname, -1, &ds); Tcl_SetVar2(interp, "tcl_platform", "os", native, TCL_GLOBAL_ONLY); |
︙ | ︙ |