summaryrefslogtreecommitdiffstats
path: root/win
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2021-12-08 12:11:53 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2021-12-08 12:11:53 (GMT)
commit09eba46041d7f007059b0defea8622a9dba1651b (patch)
treecd4efe19efd8e7dbcf0ebd204410eef80a836725 /win
parent00fc9b5939930c7993d830310e41b3fee2d930ca (diff)
parentdc62ebb08b7bee1ff2cac7fdf8d35237bed15e7b (diff)
downloadtcl-09eba46041d7f007059b0defea8622a9dba1651b.zip
tcl-09eba46041d7f007059b0defea8622a9dba1651b.tar.gz
tcl-09eba46041d7f007059b0defea8622a9dba1651b.tar.bz2
Merge 8.7
Diffstat (limited to 'win')
-rw-r--r--win/Makefile.in30
-rw-r--r--win/README6
-rwxr-xr-xwin/configure35
-rw-r--r--win/gitmanifest.in1
-rw-r--r--win/makefile.vc15
-rw-r--r--win/svnmanifest.in1
-rw-r--r--win/tcl.m413
-rw-r--r--win/tclUuid.h.in1
-rw-r--r--win/tclWinInit.c3
-rw-r--r--win/tclsh.exe.manifest.in4
10 files changed, 94 insertions, 15 deletions
diff --git a/win/Makefile.in b/win/Makefile.in
index 1e3e7b7..5003ec0 100644
--- a/win/Makefile.in
+++ b/win/Makefile.in
@@ -579,7 +579,7 @@ ${TCL_LIB_FILE}: ${TCL_OBJS}
@MAKE_LIB@ ${TCL_OBJS} ${DDE_OBJS} ${REG_OBJS}
@POST_MAKE_LIB@
-${DDE_DLL_FILE}: ${TCL_STUB_LIB_FILE}
+${DDE_DLL_FILE}: ${TCL_STUB_LIB_FILE} ${DDE_OBJS}
@MAKE_DLL@ ${DDE_OBJS} $(TCL_STUB_LIB_FILE) $(SHLIB_LD_LIBS)
$(COPY) tclsh.exe.manifest ${DDE_DLL_FILE}.manifest
@@ -675,6 +675,20 @@ 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
+ (cd $(TOP_DIR); git rev-parse HEAD >>$(TOP_DIR)/manifest.uuid || \
+ (printf "svn-r" >$(TOP_DIR)/manifest.uuid ; \
+ svn info --show-item last-changed-revision >>$(TOP_DIR)/manifest.uuid) || \
+ printf "unknown" >$(TOP_DIR)/manifest.uuid)
+
+tclUuid.h: $(TOP_DIR)/manifest.uuid
+ echo "#define TCL_VERSION_UUID \\" >$@
+ cat $(TOP_DIR)/manifest.uuid >>$@
+ echo "" >>$@
+
# 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
@@ -853,28 +867,26 @@ install-libraries: libraries install-tzdata install-msgs
fi; \
done;
@echo "Installing library files to $(SCRIPT_INSTALL_DIR)";
- @for i in $(ROOT_DIR)/library/*.tcl $(ROOT_DIR)/library/tclIndex; \
- do \
+ @for i in $(ROOT_DIR)/library/*.tcl $(ROOT_DIR)/library/tclIndex; do \
$(COPY) "$$i" "$(SCRIPT_INSTALL_DIR)"; \
done;
@echo "Installing package cookiejar 0.2"
- @for j in $(ROOT_DIR)/library/cookiejar/*.{tcl,gz}; \
- do \
+ @for j in $(ROOT_DIR)/library/cookiejar/*.tcl \
+ $(ROOT_DIR)/library/cookiejar/*.gz; do \
$(COPY) "$$j" "$(SCRIPT_INSTALL_DIR)/cookiejar0.2"; \
done;
@echo "Installing package http 2.10a1 as a Tcl Module";
@$(COPY) $(ROOT_DIR)/library/http/http.tcl "$(MODULE_INSTALL_DIR)/8.6/http-2.10a1.tm";
@echo "Installing package opt 0.4.7";
- @for j in $(ROOT_DIR)/library/opt/*.tcl; \
- do \
+ @for j in $(ROOT_DIR)/library/opt/*.tcl; do \
$(COPY) "$$j" "$(SCRIPT_INSTALL_DIR)/opt0.4"; \
done;
@echo "Installing package msgcat 1.7.1 as a Tcl Module";
@$(COPY) $(ROOT_DIR)/library/msgcat/msgcat.tcl "$(MODULE_INSTALL_DIR)/8.7/msgcat-1.7.1.tm";
@echo "Installing package tcltest 2.5.4 as a Tcl Module";
@$(COPY) $(ROOT_DIR)/library/tcltest/tcltest.tcl "$(MODULE_INSTALL_DIR)/8.5/tcltest-2.5.4.tm";
- @echo "Installing package platform 1.0.17 as a Tcl Module";
- @$(COPY) $(ROOT_DIR)/library/platform/platform.tcl "$(MODULE_INSTALL_DIR)/8.4/platform-1.0.17.tm";
+ @echo "Installing package platform 1.0.18 as a Tcl Module";
+ @$(COPY) $(ROOT_DIR)/library/platform/platform.tcl "$(MODULE_INSTALL_DIR)/8.4/platform-1.0.18.tm";
@echo "Installing package platform::shell 1.1.4 as a Tcl Module";
@$(COPY) $(ROOT_DIR)/library/platform/shell.tcl "$(MODULE_INSTALL_DIR)/8.4/platform/shell-1.1.4.tm";
@echo "Installing encodings";
diff --git a/win/README b/win/README
index df65d1d..8dd0574 100644
--- a/win/README
+++ b/win/README
@@ -24,7 +24,7 @@ In order to compile Tcl for Windows, you need the following:
or
- Linux + MinGW-w64 [http://mingw-w64.sourceforge.net/]
+ Linux + MinGW-w64 [https://www.mingw-w64.org/]
(win32 or win64)
or
@@ -34,12 +34,12 @@ In order to compile Tcl for Windows, you need the following:
or
- Darwin + MinGW-w64 [http://mingw-w64.sourceforge.net/]
+ Darwin + MinGW-w64 [https://www.mingw-w64.org/]
(win32 or win64)
or
- Msys + MinGW-w64 [http://mingw-w64.sourceforge.net/]
+ Msys + MinGW-w64 [https://www.mingw-w64.org/]
(win32 or win64)
diff --git a/win/configure b/win/configure
index 54ce90b..96f92d2 100755
--- a/win/configure
+++ b/win/configure
@@ -4283,6 +4283,7 @@ printf "%s\n" "$ac_cv_municode" >&6; }
else
extra_cflags="$extra_cflags -DTCL_BROKEN_MAINARGS"
fi
+ hold_cflags=$CFLAGS; CFLAGS="$CFLAGS -fno-lto"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working -fno-lto" >&5
printf %s "checking for working -fno-lto... " >&6; }
if test ${ac_cv_nolto+y}
@@ -4352,6 +4353,40 @@ printf "%s\n" "$tcl_cv_cc_input_charset" >&6; }
fi
fi
+ hold_cflags=$CFLAGS; CFLAGS="$CFLAGS -Wl,--enable-auto-image-base"
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working --enable-auto-image-base" >&5
+printf %s "checking for working --enable-auto-image-base... " >&6; }
+if test ${ac_cv_enable_auto_image_base+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main (void)
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ ac_cv_enable_auto_image_base=yes
+else $as_nop
+ ac_cv_enable_auto_image_base=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_enable_auto_image_base" >&5
+printf "%s\n" "$ac_cv_enable_auto_image_base" >&6; }
+ CFLAGS=$hold_cflags
+ if test "$ac_cv_enable_auto_image_base" == "yes" ; then
+ extra_ldflags="$extra_ldflags -Wl,--enable-auto-image-base"
+ fi
+
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking compiler flags" >&5
printf %s "checking compiler flags... " >&6; }
if test "${GCC}" = "yes" ; then
diff --git a/win/gitmanifest.in b/win/gitmanifest.in
new file mode 100644
index 0000000..3e7de84
--- /dev/null
+++ b/win/gitmanifest.in
@@ -0,0 +1 @@
+git- \ No newline at end of file
diff --git a/win/makefile.vc b/win/makefile.vc
index 9fb01e2..dea104f 100644
--- a/win/makefile.vc
+++ b/win/makefile.vc
@@ -800,8 +800,19 @@ $(TMP_DIR)\tclMainW.obj: $(GENERICDIR)\tclMain.c
$(cc32) $(pkgcflags) /DUNICODE /D_UNICODE \
-Fo$@ $?
-$(TMP_DIR)\tclTest.obj: $(GENERICDIR)\tclTest.c
- $(cc32) $(appcflags) -Fo$@ $?
+$(ROOT)\manifest.uuid:
+ copy $(WIN_DIR)\gitmanifest.in $(ROOT)\manifest.uuid
+ git rev-parse HEAD >>$(ROOT)\manifest.uuid
+
+$(TMP_DIR)\tclUuid.h: $(ROOT)\manifest.uuid
+ copy $(WIN_DIR)\tclUuid.h.in+$(ROOT)\manifest.uuid $(TMP_DIR)\tclUuid.h
+
+$(TMP_DIR)\tclEvent.obj: $(GENERICDIR)\tclEvent.c $(TMP_DIR)\tclUuid.h
+ $(cc32) $(pkgcflags) -I$(TMP_DIR) \
+ -Fo$@ $(GENERICDIR)\tclEvent.c
+
+$(TMP_DIR)\tclTest.obj: $(GENERICDIR)\tclTest.c $(TMP_DIR)\tclUuid.h
+ $(cc32) $(appcflags) -I$(TMP_DIR) -Fo$@ $?
$(TMP_DIR)\tclTestObj.obj: $(GENERICDIR)\tclTestObj.c
$(cc32) $(appcflags) -Fo$@ $?
diff --git a/win/svnmanifest.in b/win/svnmanifest.in
new file mode 100644
index 0000000..18d2cad
--- /dev/null
+++ b/win/svnmanifest.in
@@ -0,0 +1 @@
+svn-r \ No newline at end of file
diff --git a/win/tcl.m4 b/win/tcl.m4
index ee2256d..5d28012 100644
--- a/win/tcl.m4
+++ b/win/tcl.m4
@@ -603,6 +603,7 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [
else
extra_cflags="$extra_cflags -DTCL_BROKEN_MAINARGS"
fi
+ hold_cflags=$CFLAGS; CFLAGS="$CFLAGS -fno-lto"
AC_CACHE_CHECK(for working -fno-lto,
ac_cv_nolto,
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],
@@ -625,6 +626,18 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [
fi
fi
+ hold_cflags=$CFLAGS; CFLAGS="$CFLAGS -Wl,--enable-auto-image-base"
+ AC_CACHE_CHECK(for working --enable-auto-image-base,
+ ac_cv_enable_auto_image_base,
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],
+ [ac_cv_enable_auto_image_base=yes],
+ [ac_cv_enable_auto_image_base=no])
+ )
+ CFLAGS=$hold_cflags
+ if test "$ac_cv_enable_auto_image_base" == "yes" ; then
+ extra_ldflags="$extra_ldflags -Wl,--enable-auto-image-base"
+ fi
+
AC_MSG_CHECKING([compiler flags])
if test "${GCC}" = "yes" ; then
SHLIB_LD=""
diff --git a/win/tclUuid.h.in b/win/tclUuid.h.in
new file mode 100644
index 0000000..cbb83e4
--- /dev/null
+++ b/win/tclUuid.h.in
@@ -0,0 +1 @@
+#define TCL_VERSION_UUID \
diff --git a/win/tclWinInit.c b/win/tclWinInit.c
index 2830a85..e51b909 100644
--- a/win/tclWinInit.c
+++ b/win/tclWinInit.c
@@ -535,7 +535,8 @@ TclpSetVariables(
TCL_GLOBAL_ONLY);
}
-#ifndef NDEBUG
+#if !defined(NDEBUG) && !defined(TCL_NO_DEPRECATED) && TCL_MAJOR_VERSION < 9
+
/*
* The existence of the "debug" element of the tcl_platform array
* indicates that this particular Tcl shell has been compiled with debug
diff --git a/win/tclsh.exe.manifest.in b/win/tclsh.exe.manifest.in
index dd8a7c5..dc652e6 100644
--- a/win/tclsh.exe.manifest.in
+++ b/win/tclsh.exe.manifest.in
@@ -35,6 +35,10 @@
xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
<dpiAware>true</dpiAware>
</asmv3:windowsSettings>
+ <asmv3:windowsSettings
+ xmlns="http://schemas.microsoft.com/SMI/2019/WindowsSettings">
+ <activeCodePage>UTF-8</activeCodePage>
+ </asmv3:windowsSettings>
</asmv3:application>
<dependency>
<dependentAssembly>