Partly sync with cygwin (the patch) and Arch (the packaging) It's a bit mysterious where the cygwin patch is coming from, it's in the src package, but not the git repo. And it likely comes from some github repo, but I can't find it.
1155 lines
38 KiB
Diff
1155 lines
38 KiB
Diff
--- origsrc/tcl8.6.12/.github/workflows/msys2-build.yml 1970-01-01 01:00:00.000000000 +0100
|
||
+++ src/tcl8.6.12/.github/workflows/msys2-build.yml 2021-11-10 13:28:26.000000000 +0100
|
||
@@ -0,0 +1,33 @@
|
||
+name: msys2
|
||
+
|
||
+on:
|
||
+ push:
|
||
+
|
||
+jobs:
|
||
+ msys2:
|
||
+ runs-on: windows-latest
|
||
+
|
||
+ defaults:
|
||
+ run:
|
||
+ shell: msys2 {0}
|
||
+ working-directory: unix
|
||
+
|
||
+ steps:
|
||
+ - name: Init MSYS
|
||
+ uses: msys2/setup-msys2@v2
|
||
+ with:
|
||
+ msystem: MSYS
|
||
+ install: git base-devel msys2-devel zlib
|
||
+ update: true
|
||
+ - name: Checkout
|
||
+ uses: actions/checkout@v2
|
||
+ - name: Build
|
||
+ run: |
|
||
+ autoreconf -vfi
|
||
+ ./configure -C --prefix=/usr --enable-64bit || { cat config.log; cat config.cache; exit 1; }
|
||
+ make
|
||
+ - name: Run Tests (ignoring test io-53.4.1 which hangs)
|
||
+ run: make test
|
||
+ env:
|
||
+ ERROR_ON_FAILURES: 1
|
||
+ TESTFLAGS: -skip io-53.4.1
|
||
--- origsrc/tcl8.6.12/.github/workflows/win-build.yml 2021-10-29 19:08:07.000000000 +0200
|
||
+++ src/tcl8.6.12/.github/workflows/win-build.yml 2021-11-10 13:28:26.000000000 +0100
|
||
@@ -3,43 +3,6 @@ on: [push]
|
||
env:
|
||
ERROR_ON_FAILURES: 1
|
||
jobs:
|
||
- msvc:
|
||
- runs-on: windows-latest
|
||
- defaults:
|
||
- run:
|
||
- shell: powershell
|
||
- working-directory: win
|
||
- strategy:
|
||
- matrix:
|
||
- cfgopt:
|
||
- - ""
|
||
- - "OPTS=static,msvcrt"
|
||
- - "OPTS=symbols"
|
||
- - "OPTS=memdbg"
|
||
- # Using powershell means we need to explicitly stop on failure
|
||
- steps:
|
||
- - name: Checkout
|
||
- uses: actions/checkout@v2
|
||
- - name: Init MSVC
|
||
- uses: ilammy/msvc-dev-cmd@v1
|
||
- - name: Build ${{ matrix.cfgopt }}
|
||
- run: |
|
||
- &nmake -f makefile.vc ${{ matrix.cfgopt }} all
|
||
- if ($lastexitcode -ne 0) {
|
||
- throw "nmake exit code: $lastexitcode"
|
||
- }
|
||
- - name: Build Test Harness ${{ matrix.cfgopt }}
|
||
- run: |
|
||
- &nmake -f makefile.vc ${{ matrix.cfgopt }} tcltest
|
||
- if ($lastexitcode -ne 0) {
|
||
- throw "nmake exit code: $lastexitcode"
|
||
- }
|
||
- - name: Run Tests ${{ matrix.cfgopt }}
|
||
- run: |
|
||
- &nmake -f makefile.vc ${{ matrix.cfgopt }} test
|
||
- if ($lastexitcode -ne 0) {
|
||
- throw "nmake exit code: $lastexitcode"
|
||
- }
|
||
gcc:
|
||
runs-on: windows-latest
|
||
defaults:
|
||
--- origsrc/tcl8.6.12/generic/tcl.h 2021-10-29 19:08:07.000000000 +0200
|
||
+++ src/tcl8.6.12/generic/tcl.h 2021-11-10 13:28:30.000000000 +0100
|
||
@@ -462,7 +462,7 @@ typedef unsigned TCL_WIDE_INT_TYPE Tcl_W
|
||
# else
|
||
typedef struct _stat32i64 Tcl_StatBuf;
|
||
# endif /* _MSC_VER < 1400 */
|
||
-#elif defined(__CYGWIN__)
|
||
+#elif 0
|
||
typedef struct {
|
||
dev_t st_dev;
|
||
unsigned short st_ino;
|
||
--- origsrc/tcl8.6.12/generic/tclBasic.c 2021-10-29 19:08:07.000000000 +0200
|
||
+++ src/tcl8.6.12/generic/tclBasic.c 2021-11-10 13:28:30.000000000 +0100
|
||
@@ -434,6 +434,109 @@ TclFinalizeEvaluation(void)
|
||
/*
|
||
*----------------------------------------------------------------------
|
||
*
|
||
+ * buildInfoObjCmd --
|
||
+ *
|
||
+ * Implements tcl::build-info command.
|
||
+ *
|
||
+ * Results:
|
||
+ * None.
|
||
+ *
|
||
+ * Side effects:
|
||
+ * None.
|
||
+ *
|
||
+ *----------------------------------------------------------------------
|
||
+ */
|
||
+
|
||
+static int
|
||
+buildInfoObjCmd(
|
||
+ void *clientData,
|
||
+ Tcl_Interp *interp, /* Current interpreter. */
|
||
+ int objc, /* Number of arguments. */
|
||
+ Tcl_Obj *const objv[]) /* Argument objects. */
|
||
+{
|
||
+ if (objc > 2) {
|
||
+ Tcl_WrongNumArgs(interp, 1, objv, "?option?");
|
||
+ return TCL_ERROR;
|
||
+ }
|
||
+ if (objc == 2) {
|
||
+ int len;
|
||
+ const char *arg = TclGetStringFromObj(objv[1], &len);
|
||
+ const char *p;
|
||
+ if (len == 7 && !strcmp(arg, "version")) {
|
||
+ char buf[80];
|
||
+ p = strchr((char *)clientData, '.');
|
||
+ if (p) {
|
||
+ const char *q = strchr(p+1, '.');
|
||
+ const char *r = strchr(p+1, '+');
|
||
+ p = (q < r) ? q : r;
|
||
+ }
|
||
+ if (p) {
|
||
+ memcpy(buf, (char *)clientData, p - (char *)clientData);
|
||
+ buf[p - (char *)clientData] = '\0';
|
||
+ Tcl_AppendResult(interp, buf, NULL);
|
||
+ }
|
||
+ return TCL_OK;
|
||
+ } else if (len == 10 && !strcmp(arg, "patchlevel")) {
|
||
+ char buf[80];
|
||
+ p = strchr((char *)clientData, '+');
|
||
+ if (p) {
|
||
+ memcpy(buf, (char *)clientData, p - (char *)clientData);
|
||
+ buf[p - (char *)clientData] = '\0';
|
||
+ Tcl_AppendResult(interp, buf, NULL);
|
||
+ }
|
||
+ return TCL_OK;
|
||
+ } else if (len == 6 && !strcmp(arg, "commit")) {
|
||
+ const char *q, *p = strchr((char *)clientData, '+');
|
||
+ if (p) {
|
||
+ if ((q = strchr(p, '.'))) {
|
||
+ char buf[80];
|
||
+ memcpy(buf, p+1, q - p - 1);
|
||
+ buf[q - p - 1] = '\0';
|
||
+ Tcl_AppendResult(interp, buf, NULL);
|
||
+ } else {
|
||
+ Tcl_AppendResult(interp, p+1, NULL);
|
||
+ }
|
||
+ }
|
||
+ return TCL_OK;
|
||
+ } else if (len == 8 && !strcmp(arg, "compiler")) {
|
||
+ p = strchr((char *)clientData, '.');
|
||
+ while (p) {
|
||
+ if (!strncmp(p+1, "clang-", 6) || !strncmp(p+1, "gcc-", 4)
|
||
+ || !strncmp(p+1, "icc-", 4) || !strncmp(p+1, "msvc-", 5)) {
|
||
+ const char *q = strchr(p+1, '.');
|
||
+ if (q) {
|
||
+ char buf[16];
|
||
+ memcpy(buf, p+1, q - p - 1);
|
||
+ buf[q - p - 1] = '\0';
|
||
+ Tcl_AppendResult(interp, buf, NULL);
|
||
+ } else {
|
||
+ Tcl_AppendResult(interp, p+1, NULL);
|
||
+ }
|
||
+ return TCL_OK;
|
||
+ }
|
||
+ p = strchr(p+1, '.');
|
||
+ }
|
||
+ Tcl_AppendResult(interp, "0", NULL);
|
||
+ return TCL_OK;
|
||
+ }
|
||
+ p = strchr((char *)clientData, '.');
|
||
+ while (p) {
|
||
+ if (!strncmp(p+1, arg, len) && ((p[len+1] == '.') || (p[len+1] == '\0'))) {
|
||
+ Tcl_AppendResult(interp, "1", NULL);
|
||
+ return TCL_OK;
|
||
+ }
|
||
+ p = strchr(p+1, '.');
|
||
+ }
|
||
+ Tcl_AppendResult(interp, "0", NULL);
|
||
+ return TCL_OK;
|
||
+ }
|
||
+ Tcl_AppendResult(interp, (char *)clientData, NULL);
|
||
+ return TCL_OK;
|
||
+}
|
||
+
|
||
+/*
|
||
+ *----------------------------------------------------------------------
|
||
+ *
|
||
* Tcl_CreateInterp --
|
||
*
|
||
* Create a new TCL command interpreter.
|
||
@@ -471,8 +574,7 @@ Tcl_CreateInterp(void)
|
||
#endif /* TCL_COMPILE_STATS */
|
||
char mathFuncName[32];
|
||
CallFrame *framePtr;
|
||
-
|
||
- TclInitSubsystems();
|
||
+ const char *version = TclInitSubsystems();
|
||
|
||
/*
|
||
* Panic if someone updated the CallFrame structure without also updating
|
||
@@ -987,6 +1089,8 @@ Tcl_CreateInterp(void)
|
||
*/
|
||
|
||
Tcl_PkgProvideEx(interp, "Tcl", TCL_PATCH_LEVEL, &tclStubs);
|
||
+ Tcl_CreateObjCommand(interp, "::tcl::build-info",
|
||
+ buildInfoObjCmd, (void *)version, NULL);
|
||
|
||
if (TclTommath_Init(interp) != TCL_OK) {
|
||
Tcl_Panic("%s", Tcl_GetString(Tcl_GetObjResult(interp)));
|
||
--- origsrc/tcl8.6.12/generic/tclCmdAH.c 2021-10-29 19:08:07.000000000 +0200
|
||
+++ src/tcl8.6.12/generic/tclCmdAH.c 2021-11-10 13:28:30.000000000 +0100
|
||
@@ -1810,7 +1810,7 @@ FileAttrIsOwnedCmd(
|
||
int objc,
|
||
Tcl_Obj *const objv[])
|
||
{
|
||
-#ifdef __CYGWIN__
|
||
+#if 0
|
||
#define geteuid() (short)(geteuid)()
|
||
#endif
|
||
#if !defined(_WIN32)
|
||
--- origsrc/tcl8.6.12/generic/tclEvent.c 2021-10-29 19:08:07.000000000 +0200
|
||
+++ src/tcl8.6.12/generic/tclEvent.c 2021-11-10 13:28:30.000000000 +0100
|
||
@@ -14,6 +14,9 @@
|
||
*/
|
||
|
||
#include "tclInt.h"
|
||
+#ifndef _WIN32
|
||
+#include "tclUuid.h"
|
||
+#endif
|
||
|
||
/*
|
||
* The data structure below is used to report background errors. One such
|
||
@@ -1021,7 +1024,92 @@ Tcl_Exit(
|
||
*-------------------------------------------------------------------------
|
||
*/
|
||
|
||
-void
|
||
+MODULE_SCOPE const TclStubs tclStubs;
|
||
+
|
||
+#ifndef STRINGIFY
|
||
+# define STRINGIFY(x) STRINGIFY1(x)
|
||
+# define STRINGIFY1(x) #x
|
||
+#endif
|
||
+
|
||
+static const struct {
|
||
+ const TclStubs *stubs;
|
||
+ const char version[256];
|
||
+} stubInfo = {
|
||
+ &tclStubs, {TCL_PATCH_LEVEL "+" STRINGIFY(TCL_VERSION_UUID)
|
||
+#if defined(__clang__) && defined(__clang_major__)
|
||
+ ".clang-" STRINGIFY(__clang_major__)
|
||
+#if __clang_minor__ < 10
|
||
+ "0"
|
||
+#endif
|
||
+ STRINGIFY(__clang_minor__)
|
||
+#endif
|
||
+#ifdef TCL_COMPILE_DEBUG
|
||
+ ".compiledebug"
|
||
+#endif
|
||
+#ifdef TCL_COMPILE_STATS
|
||
+ ".compilestats"
|
||
+#endif
|
||
+#if defined(__cplusplus) && !defined(__OBJC__)
|
||
+ ".cplusplus"
|
||
+#endif
|
||
+#if defined(__CYGWIN__)
|
||
+ ".cygwin"
|
||
+#endif
|
||
+#ifndef NDEBUG
|
||
+ ".debug"
|
||
+#endif
|
||
+#if !defined(__clang__) && !defined(__INTEL_COMPILER) && defined(__GNUC__)
|
||
+ ".gcc-" STRINGIFY(__GNUC__)
|
||
+#if __GNUC_MINOR__ < 10
|
||
+ "0"
|
||
+#endif
|
||
+ STRINGIFY(__GNUC_MINOR__)
|
||
+#endif
|
||
+#ifdef __INTEL_COMPILER
|
||
+ ".icc-" STRINGIFY(__INTEL_COMPILER)
|
||
+#endif
|
||
+#if (defined(_WIN32) && !defined(_WIN64)) || (ULONG_MAX == 0xffffffffUL)
|
||
+ ".ilp32"
|
||
+#endif
|
||
+#ifdef TCL_MEM_DEBUG
|
||
+ ".memdebug"
|
||
+#endif
|
||
+#if defined(_MSC_VER)
|
||
+ ".msvc-" STRINGIFY(_MSC_VER)
|
||
+#endif
|
||
+#ifdef USE_NMAKE
|
||
+ ".nmake"
|
||
+#endif
|
||
+#ifdef TCL_NO_DEPRECATED
|
||
+ ".no-deprecate"
|
||
+#endif
|
||
+#if !TCL_THREADS
|
||
+ ".no-thread"
|
||
+#endif
|
||
+#ifndef TCL_CFG_OPTIMIZED
|
||
+ ".no-optimize"
|
||
+#endif
|
||
+#ifdef __OBJC__
|
||
+ ".objective-c"
|
||
+#if defined(__cplusplus)
|
||
+ "plusplus"
|
||
+#endif
|
||
+#endif
|
||
+#ifdef TCL_CFG_PROFILED
|
||
+ ".profile"
|
||
+#endif
|
||
+#ifdef PURIFY
|
||
+ ".purify"
|
||
+#endif
|
||
+#ifdef STATIC_BUILD
|
||
+ ".static"
|
||
+#endif
|
||
+#if TCL_UTF_MAX < 4
|
||
+ ".utf-16"
|
||
+#endif
|
||
+}};
|
||
+
|
||
+const char *
|
||
TclInitSubsystems(void)
|
||
{
|
||
if (inExit != 0) {
|
||
@@ -1065,6 +1153,7 @@ TclInitSubsystems(void)
|
||
TclpInitUnlock();
|
||
}
|
||
TclInitNotifier();
|
||
+ return stubInfo.version;
|
||
}
|
||
|
||
/*
|
||
--- origsrc/tcl8.6.12/generic/tclFCmd.c 2021-10-29 19:08:07.000000000 +0200
|
||
+++ src/tcl8.6.12/generic/tclFCmd.c 2021-11-10 13:28:30.000000000 +0100
|
||
@@ -523,7 +523,7 @@ CopyRenameOneFile(
|
||
* 16 bits and we get collisions. See bug #2015723.
|
||
*/
|
||
|
||
-#if !defined(_WIN32) && !defined(__CYGWIN__)
|
||
+#if !defined(_WIN32)
|
||
if ((sourceStatBuf.st_ino != 0) && (targetStatBuf.st_ino != 0)) {
|
||
if ((sourceStatBuf.st_ino == targetStatBuf.st_ino) &&
|
||
(sourceStatBuf.st_dev == targetStatBuf.st_dev)) {
|
||
--- origsrc/tcl8.6.12/generic/tclFileName.c 2021-10-29 19:08:07.000000000 +0200
|
||
+++ src/tcl8.6.12/generic/tclFileName.c 2021-11-10 13:28:30.000000000 +0100
|
||
@@ -413,7 +413,6 @@ TclpGetNativePathType(
|
||
|
||
if (path[0] == '/') {
|
||
++path;
|
||
-#if defined(__CYGWIN__) || defined(__QNX__)
|
||
/*
|
||
* Check for "//" network path prefix
|
||
*/
|
||
@@ -422,7 +421,6 @@ TclpGetNativePathType(
|
||
while (*path && *path != '/') {
|
||
++path;
|
||
}
|
||
-#if defined(__CYGWIN__)
|
||
/* UNC paths need to be followed by a share name */
|
||
if (*path++ && (*path && *path != '/')) {
|
||
++path;
|
||
@@ -431,10 +429,7 @@ TclpGetNativePathType(
|
||
}
|
||
} else {
|
||
path = origPath + 1;
|
||
- }
|
||
-#endif
|
||
- }
|
||
-#endif
|
||
+ } }
|
||
if (driveNameLengthPtr != NULL) {
|
||
/*
|
||
* We need this addition in case the QNX or Cygwin code was used.
|
||
@@ -655,7 +650,6 @@ SplitUnixPath(
|
||
if (*path == '/') {
|
||
Tcl_Obj *rootElt;
|
||
++path;
|
||
-#if defined(__CYGWIN__) || defined(__QNX__)
|
||
/*
|
||
* Check for "//" network path prefix
|
||
*/
|
||
@@ -664,7 +658,6 @@ SplitUnixPath(
|
||
while (*path && *path != '/') {
|
||
++path;
|
||
}
|
||
-#if defined(__CYGWIN__)
|
||
/* UNC paths need to be followed by a share name */
|
||
if (*path++ && (*path && *path != '/')) {
|
||
++path;
|
||
@@ -674,9 +667,7 @@ SplitUnixPath(
|
||
} else {
|
||
path = origPath + 1;
|
||
}
|
||
-#endif
|
||
}
|
||
-#endif
|
||
rootElt = Tcl_NewStringObj(origPath, path - origPath);
|
||
Tcl_ListObjAppendElement(NULL, result, rootElt);
|
||
while (*path == '/') {
|
||
--- origsrc/tcl8.6.12/generic/tclInt.h 2021-10-29 19:08:07.000000000 +0200
|
||
+++ src/tcl8.6.12/generic/tclInt.h 2021-11-10 13:28:30.000000000 +0100
|
||
@@ -3031,7 +3031,7 @@ MODULE_SCOPE void TclInitLimitSupport(Tc
|
||
MODULE_SCOPE void TclInitNamespaceSubsystem(void);
|
||
MODULE_SCOPE void TclInitNotifier(void);
|
||
MODULE_SCOPE void TclInitObjSubsystem(void);
|
||
-MODULE_SCOPE void TclInitSubsystems(void);
|
||
+MODULE_SCOPE const char *TclInitSubsystems(void);
|
||
MODULE_SCOPE int TclInterpReady(Tcl_Interp *interp);
|
||
MODULE_SCOPE int TclIsBareword(int byte);
|
||
MODULE_SCOPE Tcl_Obj * TclJoinPath(int elements, Tcl_Obj * const objv[],
|
||
--- origsrc/tcl8.6.12/generic/tclIntPlatDecls.h 2021-11-04 16:05:44.000000000 +0100
|
||
+++ src/tcl8.6.12/generic/tclIntPlatDecls.h 2021-11-10 14:25:26.000000000 +0100
|
||
@@ -40,7 +40,7 @@ extern "C" {
|
||
* Exported function declarations:
|
||
*/
|
||
|
||
-#if !defined(_WIN32) && !defined(__CYGWIN__) && !defined(MAC_OSX_TCL) /* UNIX */
|
||
+#if !defined(_WIN32) && !defined(MAC_OSX_TCL) /* UNIX */
|
||
/* 0 */
|
||
EXTERN void TclGetAndDetachPids(Tcl_Interp *interp,
|
||
Tcl_Channel chan);
|
||
@@ -116,7 +116,7 @@ EXTERN int TclUnixOpenTemporaryFile(Tcl
|
||
Tcl_Obj *basenameObj, Tcl_Obj *extensionObj,
|
||
Tcl_Obj *resultingNameObj);
|
||
#endif /* UNIX */
|
||
-#if defined(_WIN32) || defined(__CYGWIN__) /* WIN */
|
||
+#if defined(_WIN32) /* WIN */
|
||
/* 0 */
|
||
EXTERN void TclWinConvertError(DWORD errCode);
|
||
/* 1 */
|
||
@@ -272,7 +272,7 @@ typedef struct TclIntPlatStubs {
|
||
int magic;
|
||
void *hooks;
|
||
|
||
-#if !defined(_WIN32) && !defined(__CYGWIN__) && !defined(MAC_OSX_TCL) /* UNIX */
|
||
+#if !defined(_WIN32) && !defined(MAC_OSX_TCL) /* UNIX */
|
||
void (*tclGetAndDetachPids) (Tcl_Interp *interp, Tcl_Channel chan); /* 0 */
|
||
int (*tclpCloseFile) (TclFile file); /* 1 */
|
||
Tcl_Channel (*tclpCreateCommandChannel) (TclFile readFile, TclFile writeFile, TclFile errorFile, int numPids, Tcl_Pid *pidPtr); /* 2 */
|
||
@@ -305,7 +305,7 @@ typedef struct TclIntPlatStubs {
|
||
int (*tclWinCPUID) (unsigned int index, unsigned int *regs); /* 29 */
|
||
int (*tclUnixOpenTemporaryFile) (Tcl_Obj *dirObj, Tcl_Obj *basenameObj, Tcl_Obj *extensionObj, Tcl_Obj *resultingNameObj); /* 30 */
|
||
#endif /* UNIX */
|
||
-#if defined(_WIN32) || defined(__CYGWIN__) /* WIN */
|
||
+#if defined(_WIN32) /* WIN */
|
||
void (*tclWinConvertError) (DWORD errCode); /* 0 */
|
||
void (*tclWinConvertWSAError) (DWORD errCode); /* 1 */
|
||
struct servent * (*tclWinGetServByName) (const char *nm, const char *proto); /* 2 */
|
||
@@ -385,7 +385,7 @@ extern const TclIntPlatStubs *tclIntPlat
|
||
* Inline function declarations:
|
||
*/
|
||
|
||
-#if !defined(_WIN32) && !defined(__CYGWIN__) && !defined(MAC_OSX_TCL) /* UNIX */
|
||
+#if !defined(_WIN32) && !defined(MAC_OSX_TCL) /* UNIX */
|
||
#define TclGetAndDetachPids \
|
||
(tclIntPlatStubsPtr->tclGetAndDetachPids) /* 0 */
|
||
#define TclpCloseFile \
|
||
@@ -441,7 +441,7 @@ extern const TclIntPlatStubs *tclIntPlat
|
||
#define TclUnixOpenTemporaryFile \
|
||
(tclIntPlatStubsPtr->tclUnixOpenTemporaryFile) /* 30 */
|
||
#endif /* UNIX */
|
||
-#if defined(_WIN32) || defined(__CYGWIN__) /* WIN */
|
||
+#if defined(_WIN32) /* WIN */
|
||
#define TclWinConvertError \
|
||
(tclIntPlatStubsPtr->tclWinConvertError) /* 0 */
|
||
#define TclWinConvertWSAError \
|
||
@@ -595,6 +595,9 @@ extern const TclIntPlatStubs *tclIntPlat
|
||
#else
|
||
# undef TclpGetPid
|
||
# define TclpGetPid(pid) ((unsigned long) (pid))
|
||
+#ifdef __CYGWIN__
|
||
+ MODULE_SCOPE void *TclWinGetTclInstance(void);
|
||
+#endif
|
||
#endif
|
||
|
||
#endif /* _TCLINTPLATDECLS */
|
||
--- origsrc/tcl8.6.12/generic/tclPanic.c 2021-10-29 19:08:07.000000000 +0200
|
||
+++ src/tcl8.6.12/generic/tclPanic.c 2021-11-10 13:28:31.000000000 +0100
|
||
@@ -14,7 +14,7 @@
|
||
*/
|
||
|
||
#include "tclInt.h"
|
||
-#if defined(_WIN32) || defined(__CYGWIN__)
|
||
+#if defined(_WIN32)
|
||
MODULE_SCOPE TCL_NORETURN void tclWinDebugPanic(const char *format, ...);
|
||
#endif
|
||
|
||
@@ -23,7 +23,7 @@
|
||
* procedure.
|
||
*/
|
||
|
||
-#if defined(__CYGWIN__)
|
||
+#if 0
|
||
static TCL_NORETURN Tcl_PanicProc *panicProc = tclWinDebugPanic;
|
||
#else
|
||
static TCL_NORETURN1 Tcl_PanicProc *panicProc = NULL;
|
||
@@ -52,7 +52,7 @@ Tcl_SetPanicProc(
|
||
#if defined(_WIN32)
|
||
/* tclWinDebugPanic only installs if there is no panicProc yet. */
|
||
if ((proc != tclWinDebugPanic) || (panicProc == NULL))
|
||
-#elif defined(__CYGWIN__)
|
||
+#elif 0
|
||
if (proc == NULL)
|
||
panicProc = tclWinDebugPanic;
|
||
else
|
||
@@ -106,7 +106,7 @@ Tcl_PanicVA(
|
||
arg8);
|
||
fprintf(stderr, "\n");
|
||
fflush(stderr);
|
||
-#if defined(_WIN32) || defined(__CYGWIN__)
|
||
+#if defined(_WIN32)
|
||
# if defined(__GNUC__)
|
||
__builtin_trap();
|
||
# elif defined(_WIN64)
|
||
--- origsrc/tcl8.6.12/generic/tclPlatDecls.h 2021-11-04 16:05:44.000000000 +0100
|
||
+++ src/tcl8.6.12/generic/tclPlatDecls.h 2021-11-10 14:25:27.000000000 +0100
|
||
@@ -31,7 +31,7 @@
|
||
* TCHAR is needed here for win32, so if it is not defined yet do it here.
|
||
* This way, we don't need to include <tchar.h> just for one define.
|
||
*/
|
||
-#if (defined(_WIN32) || defined(__CYGWIN__)) && !defined(_TCHAR_DEFINED)
|
||
+#if defined(_WIN32) && !defined(_TCHAR_DEFINED)
|
||
# if defined(_UNICODE)
|
||
typedef wchar_t TCHAR;
|
||
# else
|
||
@@ -50,7 +50,7 @@ extern "C" {
|
||
* Exported function declarations:
|
||
*/
|
||
|
||
-#if defined(_WIN32) || defined(__CYGWIN__) /* WIN */
|
||
+#if defined(_WIN32) /* WIN */
|
||
/* 0 */
|
||
EXTERN TCHAR * Tcl_WinUtfToTChar(const char *str, int len,
|
||
Tcl_DString *dsPtr);
|
||
@@ -77,7 +77,7 @@ typedef struct TclPlatStubs {
|
||
int magic;
|
||
void *hooks;
|
||
|
||
-#if defined(_WIN32) || defined(__CYGWIN__) /* WIN */
|
||
+#if defined(_WIN32) /* WIN */
|
||
TCHAR * (*tcl_WinUtfToTChar) (const char *str, int len, Tcl_DString *dsPtr); /* 0 */
|
||
char * (*tcl_WinTCharToUtf) (const TCHAR *str, int len, Tcl_DString *dsPtr); /* 1 */
|
||
#endif /* WIN */
|
||
@@ -100,7 +100,7 @@ extern const TclPlatStubs *tclPlatStubsP
|
||
* Inline function declarations:
|
||
*/
|
||
|
||
-#if defined(_WIN32) || defined(__CYGWIN__) /* WIN */
|
||
+#if defined(_WIN32) /* WIN */
|
||
#define Tcl_WinUtfToTChar \
|
||
(tclPlatStubsPtr->tcl_WinUtfToTChar) /* 0 */
|
||
#define Tcl_WinTCharToUtf \
|
||
--- origsrc/tcl8.6.12/generic/tclStubInit.c 2021-11-04 16:05:45.000000000 +0100
|
||
+++ src/tcl8.6.12/generic/tclStubInit.c 2021-11-10 14:25:27.000000000 +0100
|
||
@@ -137,7 +137,7 @@ static const char *TclGetStartupScriptFi
|
||
return Tcl_GetString(path);
|
||
}
|
||
|
||
-#if defined(_WIN32) || defined(__CYGWIN__)
|
||
+#if defined(_WIN32)
|
||
#undef TclWinNToHS
|
||
#define TclWinNToHS winNToHS
|
||
static unsigned short TclWinNToHS(unsigned short ns) {
|
||
@@ -161,7 +161,7 @@ static unsigned short TclWinNToHS(unsign
|
||
# define TclUnixOpenTemporaryFile 0
|
||
# define TclpReaddir 0
|
||
# define TclpIsAtty 0
|
||
-#elif defined(__CYGWIN__)
|
||
+#elif 0
|
||
# define TclpIsAtty isatty
|
||
# define TclWinSetInterfaces (void (*) (int))(void *)doNothing
|
||
# define TclWinAddProcess (void (*) (void *, unsigned int))(void *)doNothing
|
||
@@ -214,13 +214,23 @@ TclWinNoBackslash(char *path)
|
||
return path;
|
||
}
|
||
|
||
+#elif defined(__CYGWIN__)
|
||
+static void
|
||
+doNothing(void)
|
||
+{
|
||
+ /* dummy implementation, no need to do anything */
|
||
+}
|
||
+
|
||
void *TclWinGetTclInstance()
|
||
{
|
||
void *hInstance = NULL;
|
||
GetModuleHandleExW(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS,
|
||
- (const char *)&TclWinNoBackslash, &hInstance);
|
||
+ (const char *)&doNothing, &hInstance);
|
||
return hInstance;
|
||
}
|
||
+# define TclpLocaltime_unix TclpLocaltime
|
||
+# define TclpGmtime_unix TclpGmtime
|
||
+#elif 0
|
||
|
||
int
|
||
TclpGetPid(Tcl_Pid pid)
|
||
@@ -228,12 +238,6 @@ TclpGetPid(Tcl_Pid pid)
|
||
return (int) (size_t) pid;
|
||
}
|
||
|
||
-static void
|
||
-doNothing(void)
|
||
-{
|
||
- /* dummy implementation, no need to do anything */
|
||
-}
|
||
-
|
||
char *
|
||
Tcl_WinUtfToTChar(
|
||
const char *string,
|
||
@@ -755,7 +759,7 @@ static const TclIntStubs tclIntStubs = {
|
||
static const TclIntPlatStubs tclIntPlatStubs = {
|
||
TCL_STUB_MAGIC,
|
||
0,
|
||
-#if !defined(_WIN32) && !defined(__CYGWIN__) && !defined(MAC_OSX_TCL) /* UNIX */
|
||
+#if !defined(_WIN32) && !defined(MAC_OSX_TCL) /* UNIX */
|
||
TclGetAndDetachPids, /* 0 */
|
||
TclpCloseFile, /* 1 */
|
||
TclpCreateCommandChannel, /* 2 */
|
||
@@ -788,7 +792,7 @@ static const TclIntPlatStubs tclIntPlatS
|
||
TclWinCPUID, /* 29 */
|
||
TclUnixOpenTemporaryFile, /* 30 */
|
||
#endif /* UNIX */
|
||
-#if defined(_WIN32) || defined(__CYGWIN__) /* WIN */
|
||
+#if defined(_WIN32) /* WIN */
|
||
TclWinConvertError, /* 0 */
|
||
TclWinConvertWSAError, /* 1 */
|
||
TclWinGetServByName, /* 2 */
|
||
@@ -859,7 +863,7 @@ static const TclIntPlatStubs tclIntPlatS
|
||
static const TclPlatStubs tclPlatStubs = {
|
||
TCL_STUB_MAGIC,
|
||
0,
|
||
-#if defined(_WIN32) || defined(__CYGWIN__) /* WIN */
|
||
+#if defined(_WIN32) /* WIN */
|
||
Tcl_WinUtfToTChar, /* 0 */
|
||
Tcl_WinTCharToUtf, /* 1 */
|
||
#endif /* WIN */
|
||
--- origsrc/tcl8.6.12/library/reg/pkgIndex.tcl 2021-10-29 19:08:07.000000000 +0200
|
||
+++ src/tcl8.6.12/library/reg/pkgIndex.tcl 2021-11-10 13:28:32.000000000 +0100
|
||
@@ -1,9 +1,18 @@
|
||
-if {![package vsatisfies [package provide Tcl] 8.5]} return
|
||
+if {![package vsatisfies [package provide Tcl] 8.5-]} return
|
||
if {[info sharedlibextension] != ".dll"} return
|
||
-if {[::tcl::pkgconfig get debug]} {
|
||
- package ifneeded registry 1.3.5 \
|
||
- [list load [file join $dir tclreg13g.dll] Registry]
|
||
+if {[package vsatisfies [package provide Tcl] 9.0-]} {
|
||
+ package ifneeded registry 1.3.6 \
|
||
+ [list load [file join $dir tcl9registry13.dll] Registry]
|
||
} else {
|
||
- package ifneeded registry 1.3.5 \
|
||
- [list load [file join $dir tclreg13.dll] Registry]
|
||
+ package ifneeded registry 1.3.6 \
|
||
+ [list load [file join $dir tclregistry13.dll] Registry]
|
||
+}
|
||
+if {![package vsatisfies [package provide Tcl] 8.5-]} return
|
||
+if {[info sharedlibextension] != ".dll"} return
|
||
+if {[package vsatisfies [package provide Tcl] 9.0-]} {
|
||
+ package ifneeded registry 1.3.6 \
|
||
+ [list load [file join $dir tcl9registry13.dll] Registry]
|
||
+} else {
|
||
+ package ifneeded registry 1.3.6 \
|
||
+ [list load [file join $dir tclregistry13.dll] Registry]
|
||
}
|
||
--- origsrc/tcl8.6.12/manifest.uuid 2021-11-04 15:29:53.000000000 +0100
|
||
+++ src/tcl8.6.12/manifest.uuid 2021-11-10 13:37:55.000000000 +0100
|
||
@@ -1 +1 @@
|
||
-553f5049a7a3982bbd5ec1f9349f8105c1126f8ea696ec332e16a3cbb3d01323
|
||
+2e219577fb3767015386d80e0b14853a8a20b5b5e4e6055eeb2f9d59d509a61a
|
||
--- origsrc/tcl8.6.12/tests/chanio.test 2021-10-29 19:08:08.000000000 +0200
|
||
+++ src/tcl8.6.12/tests/chanio.test 2021-11-10 13:28:33.000000000 +0100
|
||
@@ -5334,7 +5334,7 @@ test chan-io-40.1 {POSIX open access mod
|
||
test chan-io-40.2 {POSIX open access modes: CREAT} -setup {
|
||
file delete $path(test3)
|
||
} -constraints {unix} -body {
|
||
- set f [open $path(test3) {WRONLY CREAT} 0o600]
|
||
+ set f [open $path(test3) {WRONLY CREAT} 0o644]
|
||
file stat $path(test3) stats
|
||
set x [format 0o%03o [expr {$stats(mode) & 0o777}]]
|
||
chan puts $f "line 1"
|
||
@@ -5343,7 +5343,7 @@ test chan-io-40.2 {POSIX open access mod
|
||
lappend x [chan gets $f]
|
||
} -cleanup {
|
||
chan close $f
|
||
-} -result {0o600 {line 1}}
|
||
+} -result {0o644 {line 1}}
|
||
test chan-io-40.3 {POSIX open access modes: CREAT} -setup {
|
||
file delete $path(test3)
|
||
} -constraints {unix umask} -body {
|
||
--- origsrc/tcl8.6.12/tests/cmdAH.test 2021-10-29 19:08:08.000000000 +0200
|
||
+++ src/tcl8.6.12/tests/cmdAH.test 2021-11-10 13:28:33.000000000 +0100
|
||
@@ -327,15 +327,15 @@ test cmdAH-8.14 {Tcl_FileObjCmd: dirname
|
||
test cmdAH-8.15 {Tcl_FileObjCmd: dirname} testsetplatform {
|
||
testsetplatform unix
|
||
file dirname //foo/bar
|
||
-} /foo
|
||
+} //foo/bar
|
||
test cmdAH-8.16 {Tcl_FileObjCmd: dirname} testsetplatform {
|
||
testsetplatform unix
|
||
file dirname {//foo\/bar/baz}
|
||
-} {/foo\/bar}
|
||
+} {//foo\/bar}
|
||
test cmdAH-8.17 {Tcl_FileObjCmd: dirname} testsetplatform {
|
||
testsetplatform unix
|
||
file dirname {//foo\/bar/baz/blat}
|
||
-} {/foo\/bar/baz}
|
||
+} {//foo\/bar/baz}
|
||
test cmdAH-8.18 {Tcl_FileObjCmd: dirname} testsetplatform {
|
||
testsetplatform unix
|
||
file dirname /foo//
|
||
@@ -471,7 +471,7 @@ test cmdAH-9.14 {Tcl_FileObjCmd: tail} t
|
||
test cmdAH-9.15 {Tcl_FileObjCmd: tail} testsetplatform {
|
||
testsetplatform unix
|
||
file tail //foo/bar
|
||
-} bar
|
||
+} {}
|
||
test cmdAH-9.16 {Tcl_FileObjCmd: tail} testsetplatform {
|
||
testsetplatform unix
|
||
file tail {//foo\/bar/baz}
|
||
@@ -1407,7 +1407,7 @@ test cmdAH-27.4.1 {
|
||
catch {testsetplatform $platform}
|
||
removeFile $gorpfile
|
||
set gorpfile [makeFile "Test string" gorp.file]
|
||
-catch {file attributes $gorpfile -permissions 0o765}
|
||
+catch {file attributes $gorpfile -permissions 0o644}
|
||
|
||
# stat
|
||
test cmdAH-28.1 {Tcl_FileObjCmd: stat} -returnCodes error -body {
|
||
@@ -1435,7 +1435,7 @@ test cmdAH-28.5 {Tcl_FileObjCmd: stat} -
|
||
} -body {
|
||
file stat $gorpfile stat
|
||
format 0o%03o [expr {$stat(mode) & 0o777}]
|
||
-} -result 0o765
|
||
+} -result 0o644
|
||
test cmdAH-28.6 {Tcl_FileObjCmd: stat} {
|
||
list [catch {file stat _bogus_ stat} msg] [string tolower $msg] $errorCode
|
||
} {1 {could not read "_bogus_": no such file or directory} {POSIX ENOENT {no such file or directory}}}
|
||
--- origsrc/tcl8.6.12/tests/fCmd.test 2021-10-29 19:08:08.000000000 +0200
|
||
+++ src/tcl8.6.12/tests/fCmd.test 2021-11-10 13:28:33.000000000 +0100
|
||
@@ -384,7 +384,7 @@ test fCmd-4.14 {TclFileMakeDirsCmd: Tclp
|
||
file delete -force foo
|
||
} -constraints {unix notRoot} -body {
|
||
file mkdir foo
|
||
- file attr foo -perm 040000
|
||
+ file attr foo -perm 0o40000
|
||
file mkdir foo/tf1
|
||
} -returnCodes error -cleanup {
|
||
file delete -force foo
|
||
@@ -697,11 +697,11 @@ test fCmd-6.30 {CopyRenameOneFile: TclpR
|
||
cleanup $tmpspace
|
||
} -constraints {unix notRoot} -body {
|
||
file mkdir foo/bar
|
||
- file attr foo -perm 040555
|
||
+ file attr foo -perm 0o40555
|
||
file rename foo/bar $tmpspace
|
||
} -returnCodes error -cleanup {
|
||
catch {file delete [file join $tmpspace bar]}
|
||
- catch {file attr foo -perm 040777}
|
||
+ catch {file attr foo -perm 0o40777}
|
||
catch {file delete -force foo}
|
||
} -match glob -result {*: permission denied}
|
||
test fCmd-6.31 {CopyRenameOneFile: TclpDeleteFile passed} -setup {
|
||
@@ -754,7 +754,7 @@ test fCmd-8.1 {FileBasename: basename of
|
||
-constraints {unix notRoot knownBug} -body {
|
||
# Labelled knownBug because it is dangerous [Bug: 3881]
|
||
file mkdir td1
|
||
- file attr td1 -perm 040000
|
||
+ file attr td1 -perm 0o40000
|
||
file rename ~$user td1
|
||
} -returnCodes error -cleanup {
|
||
file delete -force td1
|
||
@@ -773,7 +773,7 @@ test fCmd-9.1 {file rename: comprehensiv
|
||
} -constraints {unix notRoot} -body {
|
||
file mkdir td1
|
||
file mkdir td2
|
||
- file attr td2 -perm 040000
|
||
+ file attr td2 -perm 0o40000
|
||
file rename td1 td2/
|
||
} -returnCodes error -cleanup {
|
||
file delete -force td2
|
||
--- origsrc/tcl8.6.12/tests/registry.test 2021-10-29 19:08:08.000000000 +0200
|
||
+++ src/tcl8.6.12/tests/registry.test 2021-11-10 13:28:34.000000000 +0100
|
||
@@ -19,7 +19,7 @@ testConstraint reg 0
|
||
if {[testConstraint win]} {
|
||
if {![catch {
|
||
::tcltest::loadTestedCommands
|
||
- set ::regver [package require registry 1.3.5]
|
||
+ set ::regver [package require registry 1.3.6]
|
||
}]} {
|
||
testConstraint reg 1
|
||
}
|
||
@@ -33,7 +33,7 @@ testConstraint english [expr {
|
||
|
||
test registry-1.0 {check if we are testing the right dll} {win reg} {
|
||
set ::regver
|
||
-} {1.3.5}
|
||
+} {1.3.6}
|
||
test registry-1.1 {argument parsing for registry command} {win reg} {
|
||
list [catch {registry} msg] $msg
|
||
} {1 {wrong # args: should be "registry ?-32bit|-64bit? option ?arg ...?"}}
|
||
--- origsrc/tcl8.6.12/tests/tcltest.test 2021-10-29 19:08:08.000000000 +0200
|
||
+++ src/tcl8.6.12/tests/tcltest.test 2021-11-10 13:28:35.000000000 +0100
|
||
@@ -716,8 +716,8 @@ test tcltest-8.60 {::workingDirectory}
|
||
|
||
switch -- $::tcl_platform(platform) {
|
||
unix {
|
||
- file attributes $notReadableDir -permissions 777
|
||
- file attributes $notWriteableDir -permissions 777
|
||
+ file attributes $notReadableDir -permissions 0o777
|
||
+ file attributes $notWriteableDir -permissions 0o777
|
||
}
|
||
default {
|
||
catch {testchmod 0o777 $notWriteableDir}
|
||
--- origsrc/tcl8.6.12/tools/genStubs.tcl 2021-10-29 19:08:08.000000000 +0200
|
||
+++ src/tcl8.6.12/tools/genStubs.tcl 2021-11-10 13:28:35.000000000 +0100
|
||
@@ -299,9 +299,6 @@ proc genStubs::addPlatformGuard {plat if
|
||
switch $plat {
|
||
win {
|
||
append text "#if defined(_WIN32)"
|
||
- if {$withCygwin} {
|
||
- append text " || defined(__CYGWIN__)"
|
||
- }
|
||
append text " /* WIN */\n${iftxt}"
|
||
if {$eltxt ne ""} {
|
||
append text "#else /* WIN */\n${eltxt}"
|
||
@@ -310,9 +307,6 @@ proc genStubs::addPlatformGuard {plat if
|
||
}
|
||
unix {
|
||
append text "#if !defined(_WIN32)"
|
||
- if {$withCygwin} {
|
||
- append text " && !defined(__CYGWIN__)"
|
||
- }
|
||
append text " && !defined(MAC_OSX_TCL)\
|
||
/* UNIX */\n${iftxt}"
|
||
if {$eltxt ne ""} {
|
||
@@ -336,9 +330,6 @@ proc genStubs::addPlatformGuard {plat if
|
||
}
|
||
x11 {
|
||
append text "#if !(defined(_WIN32)"
|
||
- if {$withCygwin} {
|
||
- append text " || defined(__CYGWIN__)"
|
||
- }
|
||
append text " || defined(MAC_OSX_TK))\
|
||
/* X11 */\n${iftxt}"
|
||
if {$eltxt ne ""} {
|
||
--- origsrc/tcl8.6.12/unix/Makefile.in 2021-10-29 19:08:08.000000000 +0200
|
||
+++ src/tcl8.6.12/unix/Makefile.in 2021-11-10 13:28:35.000000000 +0100
|
||
@@ -724,9 +724,6 @@ ${LIB_FILE}: ${STUB_LIB_FILE} ${OBJS}
|
||
@MAKE_LIB@
|
||
|
||
${STUB_LIB_FILE}: ${STUB_LIB_OBJS}
|
||
- @if test "x${LIB_FILE}" = "xlibtcl${MAJOR_VERSION}.${MINOR_VERSION}.dll"; then \
|
||
- (cd ${TOP_DIR}/win; ${MAKE} winextensions); \
|
||
- fi
|
||
rm -f $@
|
||
@MAKE_STUB_LIB@
|
||
|
||
@@ -1161,6 +1158,10 @@ tclAsync.o: $(GENERIC_DIR)/tclAsync.c
|
||
tclBasic.o: $(GENERIC_DIR)/tclBasic.c $(COMPILEHDR) $(MATHHDRS) $(NREHDR)
|
||
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclBasic.c
|
||
|
||
+tclUuid.h: $(TOP_DIR)/manifest.uuid
|
||
+ echo "#define TCL_VERSION_UUID \\" >$@
|
||
+ cat $(TOP_DIR)/manifest.uuid >>$@
|
||
+
|
||
tclBinary.o: $(GENERIC_DIR)/tclBinary.c
|
||
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclBinary.c
|
||
|
||
@@ -1215,7 +1216,7 @@ tclEnsemble.o: $(GENERIC_DIR)/tclEnsembl
|
||
tclEnv.o: $(GENERIC_DIR)/tclEnv.c
|
||
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclEnv.c
|
||
|
||
-tclEvent.o: $(GENERIC_DIR)/tclEvent.c
|
||
+tclEvent.o: $(GENERIC_DIR)/tclEvent.c tclUuid.h
|
||
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclEvent.c
|
||
|
||
tclExecute.o: $(GENERIC_DIR)/tclExecute.c $(COMPILEHDR) $(MATHHDRS) $(NREHDR)
|
||
@@ -2045,8 +2046,8 @@ $(UNIX_DIR)/tclConfig.h.in: $(MAC_OSX_DI
|
||
cd $(MAC_OSX_DIR); autoheader; touch $@
|
||
|
||
$(TOP_DIR)/manifest.uuid:
|
||
- printf "git." >$(TOP_DIR)/manifest.uuid
|
||
- git rev-parse HEAD >>$(TOP_DIR)/manifest.uuid
|
||
+ printf "git-" >$(TOP_DIR)/manifest.uuid
|
||
+ (cd $(TOP_DIR); git rev-parse HEAD >>$(TOP_DIR)/manifest.uuid)
|
||
|
||
dist: $(UNIX_DIR)/configure $(UNIX_DIR)/tclConfig.h.in $(UNIX_DIR)/tcl.pc.in $(MAC_OSX_DIR)/configure $(TOP_DIR)/manifest.uuid genstubs dist-packages ${NATIVE_TCLSH}
|
||
rm -rf $(DISTDIR)
|
||
--- origsrc/tcl8.6.12/unix/tcl.m4 2021-11-04 15:29:53.000000000 +0100
|
||
+++ src/tcl8.6.12/unix/tcl.m4 2021-11-10 13:28:36.000000000 +0100
|
||
@@ -1213,16 +1213,16 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [
|
||
if test "x${TCL_THREADS}" = "x0"; then
|
||
AC_MSG_ERROR([CYGWIN compile is only supported with --enable-threads])
|
||
fi
|
||
- do64bit_ok=yes
|
||
- if test "x${SHARED_BUILD}" = "x1"; then
|
||
- echo "running cd ../win; ${CONFIG_SHELL-/bin/sh} ./configure $ac_configure_args"
|
||
- # The eval makes quoting arguments work.
|
||
- if cd ../win; eval ${CONFIG_SHELL-/bin/sh} ./configure $ac_configure_args; cd ../unix
|
||
- then :
|
||
- else
|
||
- { echo "configure: error: configure failed for ../win" 1>&2; exit 1; }
|
||
- fi
|
||
- fi
|
||
+ AC_MSG_CHECKING([whether CYGWIN platform is 64-bit])
|
||
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
|
||
+ [[#include <stdint.h>
|
||
+ #if INTPTR_MAX == INT64_MAX
|
||
+ #error 64-bit platform
|
||
+ #endif
|
||
+ ]],[])],
|
||
+ [do64bit_ok=no],
|
||
+ [do64bit_ok=yes])
|
||
+ AC_MSG_RESULT([$do64bit_ok])
|
||
;;
|
||
dgux*)
|
||
SHLIB_CFLAGS="-K PIC"
|
||
--- origsrc/tcl8.6.12/unix/tclUnixFCmd.c 2021-10-29 19:08:08.000000000 +0200
|
||
+++ src/tcl8.6.12/unix/tclUnixFCmd.c 2021-11-10 13:28:36.000000000 +0100
|
||
@@ -91,7 +91,7 @@ static int SetPermissionsAttribute(Tcl_
|
||
Tcl_Obj *attributePtr);
|
||
static int GetModeFromPermString(Tcl_Interp *interp,
|
||
const char *modeStringPtr, mode_t *modePtr);
|
||
-#if defined(HAVE_CHFLAGS) && defined(UF_IMMUTABLE) || defined(__CYGWIN__)
|
||
+#if defined(HAVE_CHFLAGS) && defined(UF_IMMUTABLE)
|
||
static int GetUnixFileAttributes(Tcl_Interp *interp, int objIndex,
|
||
Tcl_Obj *fileName, Tcl_Obj **attributePtrPtr);
|
||
static int SetUnixFileAttributes(Tcl_Interp *interp, int objIndex,
|
||
@@ -124,20 +124,11 @@ extern const char *const tclpFileAttrStr
|
||
|
||
#else /* !DJGPP */
|
||
enum {
|
||
-#if defined(__CYGWIN__)
|
||
- UNIX_ARCHIVE_ATTRIBUTE,
|
||
-#endif
|
||
UNIX_GROUP_ATTRIBUTE,
|
||
-#if defined(__CYGWIN__)
|
||
- UNIX_HIDDEN_ATTRIBUTE,
|
||
-#endif
|
||
UNIX_OWNER_ATTRIBUTE, UNIX_PERMISSIONS_ATTRIBUTE,
|
||
-#if defined(HAVE_CHFLAGS) && defined(UF_IMMUTABLE) || defined(__CYGWIN__)
|
||
+#if defined(HAVE_CHFLAGS) && defined(UF_IMMUTABLE)
|
||
UNIX_READONLY_ATTRIBUTE,
|
||
#endif
|
||
-#if defined(__CYGWIN__)
|
||
- UNIX_SYSTEM_ATTRIBUTE,
|
||
-#endif
|
||
#ifdef MAC_OSX_TCL
|
||
MACOSX_CREATOR_ATTRIBUTE, MACOSX_TYPE_ATTRIBUTE, MACOSX_HIDDEN_ATTRIBUTE,
|
||
MACOSX_RSRCLENGTH_ATTRIBUTE,
|
||
@@ -147,20 +138,11 @@ enum {
|
||
|
||
MODULE_SCOPE const char *const tclpFileAttrStrings[];
|
||
const char *const tclpFileAttrStrings[] = {
|
||
-#if defined(__CYGWIN__)
|
||
- "-archive",
|
||
-#endif
|
||
"-group",
|
||
-#if defined(__CYGWIN__)
|
||
- "-hidden",
|
||
-#endif
|
||
"-owner", "-permissions",
|
||
-#if defined(HAVE_CHFLAGS) && defined(UF_IMMUTABLE) || defined(__CYGWIN__)
|
||
+#if defined(HAVE_CHFLAGS) && defined(UF_IMMUTABLE)
|
||
"-readonly",
|
||
#endif
|
||
-#if defined(__CYGWIN__)
|
||
- "-system",
|
||
-#endif
|
||
#ifdef MAC_OSX_TCL
|
||
"-creator", "-type", "-hidden", "-rsrclength",
|
||
#endif
|
||
@@ -169,19 +151,10 @@ const char *const tclpFileAttrStrings[]
|
||
|
||
MODULE_SCOPE const TclFileAttrProcs tclpFileAttrProcs[];
|
||
const TclFileAttrProcs tclpFileAttrProcs[] = {
|
||
-#if defined(__CYGWIN__)
|
||
- {GetUnixFileAttributes, SetUnixFileAttributes},
|
||
-#endif
|
||
{GetGroupAttribute, SetGroupAttribute},
|
||
-#if defined(__CYGWIN__)
|
||
- {GetUnixFileAttributes, SetUnixFileAttributes},
|
||
-#endif
|
||
{GetOwnerAttribute, SetOwnerAttribute},
|
||
{GetPermissionsAttribute, SetPermissionsAttribute},
|
||
-#if defined(HAVE_CHFLAGS) && defined(UF_IMMUTABLE) || defined(__CYGWIN__)
|
||
- {GetUnixFileAttributes, SetUnixFileAttributes},
|
||
-#endif
|
||
-#if defined(__CYGWIN__)
|
||
+#if defined(HAVE_CHFLAGS) && defined(UF_IMMUTABLE)
|
||
{GetUnixFileAttributes, SetUnixFileAttributes},
|
||
#endif
|
||
#ifdef MAC_OSX_TCL
|
||
@@ -2275,7 +2248,7 @@ DefaultTempDir(void)
|
||
return TCL_TEMPORARY_FILE_DIRECTORY;
|
||
}
|
||
|
||
-#if defined(__CYGWIN__)
|
||
+#if 0
|
||
|
||
static void
|
||
StatError(
|
||
--- origsrc/tcl8.6.12/unix/tclUnixFile.c 2021-10-29 19:08:08.000000000 +0200
|
||
+++ src/tcl8.6.12/unix/tclUnixFile.c 2021-11-10 13:28:36.000000000 +0100
|
||
@@ -40,7 +40,7 @@ TclpFindExecutable(
|
||
* (native). */
|
||
{
|
||
Tcl_Encoding encoding;
|
||
-#ifdef __CYGWIN__
|
||
+#if 0
|
||
int length;
|
||
wchar_t buf[PATH_MAX] = L"";
|
||
char name[PATH_MAX * 3 + 1];
|
||
@@ -1186,7 +1186,7 @@ TclpUtime(
|
||
return utime((const char *)Tcl_FSGetNativePath(pathPtr), tval);
|
||
}
|
||
|
||
-#ifdef __CYGWIN__
|
||
+#if 0
|
||
|
||
int
|
||
TclOSstat(
|
||
--- origsrc/tcl8.6.12/unix/tclUnixInit.c 2021-10-29 19:08:08.000000000 +0200
|
||
+++ src/tcl8.6.12/unix/tclUnixInit.c 2021-11-10 13:28:36.000000000 +0100
|
||
@@ -32,7 +32,7 @@
|
||
# endif
|
||
#endif
|
||
|
||
-#ifdef __CYGWIN__
|
||
+#if 0
|
||
#ifdef __cplusplus
|
||
extern "C" {
|
||
#endif
|
||
@@ -783,7 +783,7 @@ void
|
||
TclpSetVariables(
|
||
Tcl_Interp *interp)
|
||
{
|
||
-#ifdef __CYGWIN__
|
||
+#if 0
|
||
SYSTEM_INFO sysInfo;
|
||
static OSVERSIONINFOW osInfo;
|
||
static int osInfoInitialized = 0;
|
||
@@ -880,7 +880,7 @@ TclpSetVariables(
|
||
#endif
|
||
|
||
unameOK = 0;
|
||
-#ifdef __CYGWIN__
|
||
+#if 0
|
||
unameOK = 1;
|
||
if (!osInfoInitialized) {
|
||
void *handle = GetModuleHandleW(L"NTDLL");
|
||
--- origsrc/tcl8.6.12/unix/tclUnixPort.h 2021-10-29 19:08:08.000000000 +0200
|
||
+++ src/tcl8.6.12/unix/tclUnixPort.h 2021-11-10 13:28:36.000000000 +0100
|
||
@@ -118,8 +118,8 @@ extern "C" {
|
||
#pragma clang diagnostic pop
|
||
#endif
|
||
# define timezone _timezone
|
||
- extern int TclOSstat(const char *name, void *statBuf);
|
||
- extern int TclOSlstat(const char *name, void *statBuf);
|
||
+# define TclOSstat stat
|
||
+# define TclOSlstat lstat
|
||
#ifdef __cplusplus
|
||
}
|
||
#endif
|
||
--- origsrc/tcl8.6.12/win/Makefile.in 2021-10-29 19:08:08.000000000 +0200
|
||
+++ src/tcl8.6.12/win/Makefile.in 2021-11-10 13:28:36.000000000 +0100
|
||
@@ -150,13 +150,13 @@ TCL_DLL_FILE = @TCL_DLL_FILE@
|
||
TCL_LIB_FILE = @TCL_LIB_FILE@
|
||
DDE_DLL_FILE = tcldde$(DDEVER)${DLLSUFFIX}
|
||
DDE_LIB_FILE = @LIBPREFIX@tcldde$(DDEVER)${DLLSUFFIX}${LIBSUFFIX}
|
||
-REG_DLL_FILE = tclreg$(REGVER)${DLLSUFFIX}
|
||
-REG_LIB_FILE = @LIBPREFIX@tclreg$(REGVER)${DLLSUFFIX}${LIBSUFFIX}
|
||
+REG_DLL_FILE = tclregistry$(REGVER)${DLLSUFFIX}
|
||
+REG_LIB_FILE = @LIBPREFIX@tclregistry$(REGVER)${DLLSUFFIX}${LIBSUFFIX}
|
||
TEST_DLL_FILE = tcltest$(VER)${DLLSUFFIX}
|
||
TEST_EXE_FILE = tcltest${EXESUFFIX}
|
||
TEST_LIB_FILE = @LIBPREFIX@tcltest$(VER)${DLLSUFFIX}${LIBSUFFIX}
|
||
TEST_LOAD_PRMS = package ifneeded dde 1.4.4 [list load [file normalize ${DDE_DLL_FILE}] Dde];\
|
||
- package ifneeded registry 1.3.5 [list load [file normalize ${REG_DLL_FILE}] Registry]
|
||
+ package ifneeded registry 1.3.6 [list load [file normalize ${REG_DLL_FILE}] Registry]
|
||
TEST_LOAD_FACILITIES = package ifneeded Tcltest ${VERSION}@TCL_PATCH_LEVEL@ [list load [file normalize ${TEST_DLL_FILE}]];\
|
||
$(TEST_LOAD_PRMS)
|
||
ZLIB_DLL_FILE = zlib1.dll
|
||
@@ -579,6 +579,16 @@ tclPkgConfig.${OBJEXT}: tclPkgConfig.c
|
||
-DBUILD_tcl \
|
||
@DEPARG@ $(CC_OBJNAME)
|
||
|
||
+tclEvent.${OBJEXT}: tclEvent.c tclUuid.h
|
||
+
|
||
+$(TOP_DIR)/manifest.uuid:
|
||
+ printf "git-" >$(TOP_DIR)/manifest.uuid
|
||
+ git rev-parse HEAD >>$(TOP_DIR)/manifest.uuid
|
||
+
|
||
+tclUuid.h: $(TOP_DIR)/manifest.uuid
|
||
+ echo "#define TCL_VERSION_UUID \\" >$@
|
||
+ cat $(TOP_DIR)/manifest.uuid >>$@
|
||
+
|
||
# The following objects are part of the stub library and should not be built
|
||
# as DLL objects but none of the symbols should be exported
|
||
|
||
@@ -631,7 +641,7 @@ install-binaries: binaries
|
||
else true; \
|
||
fi; \
|
||
done;
|
||
- @for i in dde${DDEDOTVER} reg${REGDOTVER}; \
|
||
+ @for i in dde${DDEDOTVER} registry${REGDOTVER}; \
|
||
do \
|
||
if [ ! -d "$(LIB_INSTALL_DIR)/$$i" ] ; then \
|
||
echo "Making directory $(LIB_INSTALL_DIR)/$$i"; \
|
||
@@ -665,13 +675,13 @@ install-binaries: binaries
|
||
fi
|
||
@if [ -f $(REG_DLL_FILE) ]; then \
|
||
echo Installing $(REG_DLL_FILE); \
|
||
- $(COPY) $(REG_DLL_FILE) "$(LIB_INSTALL_DIR)/reg${REGDOTVER}"; \
|
||
+ $(COPY) $(REG_DLL_FILE) "$(LIB_INSTALL_DIR)/registry${REGDOTVER}"; \
|
||
$(COPY) $(ROOT_DIR)/library/reg/pkgIndex.tcl \
|
||
- "$(LIB_INSTALL_DIR)/reg${REGDOTVER}"; \
|
||
+ "$(LIB_INSTALL_DIR)/registry${REGDOTVER}"; \
|
||
fi
|
||
@if [ -f $(REG_LIB_FILE) ]; then \
|
||
echo Installing $(REG_LIB_FILE); \
|
||
- $(COPY) $(REG_LIB_FILE) "$(LIB_INSTALL_DIR)/reg${REGDOTVER}"; \
|
||
+ $(COPY) $(REG_LIB_FILE) "$(LIB_INSTALL_DIR)/registry${REGDOTVER}"; \
|
||
fi
|
||
|
||
install-libraries: libraries install-tzdata install-msgs
|
||
--- origsrc/tcl8.6.12/win/tclWinReg.c 2021-10-29 19:08:08.000000000 +0200
|
||
+++ src/tcl8.6.12/win/tclWinReg.c 2021-11-09 16:05:02.000000000 +0100
|
||
@@ -191,7 +191,7 @@ Registry_Init(
|
||
cmd = Tcl_CreateObjCommand(interp, "registry", RegistryObjCmd,
|
||
interp, DeleteCmd);
|
||
Tcl_SetAssocData(interp, REGISTRY_ASSOC_KEY, NULL, cmd);
|
||
- return Tcl_PkgProvideEx(interp, "registry", "1.3.5", NULL);
|
||
+ return Tcl_PkgProvideEx(interp, "registry", "1.3.6", NULL);
|
||
}
|
||
|
||
/*
|