diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2021-12-08 12:11:53 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2021-12-08 12:11:53 (GMT) |
commit | 09eba46041d7f007059b0defea8622a9dba1651b (patch) | |
tree | cd4efe19efd8e7dbcf0ebd204410eef80a836725 /win | |
parent | 00fc9b5939930c7993d830310e41b3fee2d930ca (diff) | |
parent | dc62ebb08b7bee1ff2cac7fdf8d35237bed15e7b (diff) | |
download | tcl-09eba46041d7f007059b0defea8622a9dba1651b.zip tcl-09eba46041d7f007059b0defea8622a9dba1651b.tar.gz tcl-09eba46041d7f007059b0defea8622a9dba1651b.tar.bz2 |
Merge 8.7
Diffstat (limited to 'win')
-rw-r--r-- | win/Makefile.in | 30 | ||||
-rw-r--r-- | win/README | 6 | ||||
-rwxr-xr-x | win/configure | 35 | ||||
-rw-r--r-- | win/gitmanifest.in | 1 | ||||
-rw-r--r-- | win/makefile.vc | 15 | ||||
-rw-r--r-- | win/svnmanifest.in | 1 | ||||
-rw-r--r-- | win/tcl.m4 | 13 | ||||
-rw-r--r-- | win/tclUuid.h.in | 1 | ||||
-rw-r--r-- | win/tclWinInit.c | 3 | ||||
-rw-r--r-- | win/tclsh.exe.manifest.in | 4 |
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"; @@ -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 @@ -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> |