diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2022-02-07 14:56:12 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2022-02-07 14:56:12 (GMT) |
commit | 24cedece7d1913294d3cebe3c0d09474b74bf35e (patch) | |
tree | 9c26d2c16ce0dbd690c8cf920fb6e7d7efc3e98f | |
parent | 640bfd963a396f1efe29e535041d5bf704b2162e (diff) | |
parent | 387f9a6753a7866f35f4fc71c0e2bbb9fed77514 (diff) | |
download | tcl-24cedece7d1913294d3cebe3c0d09474b74bf35e.zip tcl-24cedece7d1913294d3cebe3c0d09474b74bf35e.tar.gz tcl-24cedece7d1913294d3cebe3c0d09474b74bf35e.tar.bz2 |
Merge 8.7
-rwxr-xr-x | win/configure | 14 | ||||
-rw-r--r-- | win/configure.ac | 2 | ||||
-rw-r--r-- | win/makefile.vc | 12 | ||||
-rw-r--r-- | win/tcl.m4 | 12 |
4 files changed, 30 insertions, 10 deletions
diff --git a/win/configure b/win/configure index 4d9e8d3..4912ba2 100755 --- a/win/configure +++ b/win/configure @@ -4037,7 +4037,7 @@ fi SHLIB_SUFFIX=".dll" # MACHINE is IX86 for LINK, but this is used by the manifest, - # which requires x86|amd64|ia64. + # which requires x86|amd64|arm64|ia64. MACHINE="X86" if test "$GCC" = "yes"; then @@ -4084,6 +4084,13 @@ printf "%s\n" "$ac_cv_cross" >&6; } RANLIB="x86_64-w64-mingw32-ranlib" RC="x86_64-w64-mingw32-windres" ;; + arm64) + CC="arm64-w64-mingw32-${CC}" + LD="arm64-w64-mingw32-ld" + AR="arm64-w64-mingw32-ar" + RANLIB="arm64-w64-mingw32-ranlib" + RC="arm64-w64-mingw32-windres" + ;; *) CC="i686-w64-mingw32-${CC}" LD="i686-w64-mingw32-ld" @@ -4174,6 +4181,9 @@ printf "%s\n" "$ac_cv_win32" >&6; } if test "$ac_cv_win32" != "yes"; then as_fn_error $? "${CC} cannot produce win32 executables." "$LINENO" 5 fi + if test "$MACHINE" != "ARM64"; then + extra_cflags="$extra_cflags -DHAVE_CPUID=1" + fi hold_cflags=$CFLAGS; CFLAGS="$CFLAGS -mwindows -municode -Dmain=xxmain" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working -municode linker flag" >&5 @@ -5831,7 +5841,7 @@ case "$TCL_PATCH_LEVEL" in esac TCL_WIN_VERSION="$TCL_VERSION.$TCL_RELEASE_LEVEL.`echo $TCL_PATCH_LEVEL | tr -d ab.`" -# X86|AMD64|IA64 for manifest +# X86|AMD64|ARM64|IA64 for manifest diff --git a/win/configure.ac b/win/configure.ac index 59c9dd9..a47ad49 100644 --- a/win/configure.ac +++ b/win/configure.ac @@ -363,7 +363,7 @@ case "$TCL_PATCH_LEVEL" in esac TCL_WIN_VERSION="$TCL_VERSION.$TCL_RELEASE_LEVEL.`echo $TCL_PATCH_LEVEL | tr -d ab.`" AC_SUBST(TCL_WIN_VERSION) -# X86|AMD64|IA64 for manifest +# X86|AMD64|ARM64|IA64 for manifest AC_SUBST(MACHINE) AC_SUBST(TCL_VERSION) diff --git a/win/makefile.vc b/win/makefile.vc index 6126c5a..3d5334a 100644 --- a/win/makefile.vc +++ b/win/makefile.vc @@ -57,11 +57,11 @@ # Any combination of the above may be used (comma separated).
# 'none' will over-ride everything to nothing.
#
-# noembed = Without this option, the Tcl core library scripts
+# noembed = Without this option, the Tcl core library scripts
# are embedded into the executable if "static" is
-# specified in OPTS, or into the DLL otherwise. If
-# "noembed" is specified, the scripts are not embedded
-# but copied to the installation target (as in 8.6).
+# specified in OPTS, or into the DLL otherwise. If
+# "noembed" is specified, the scripts are not embedded
+# but copied to the installation target (as in 8.6).
# nomsvcrt = Affects the static option only to switch it from
# using msvcrt(d) as the C runtime [by default] to
# libcmt(d). This is useful for static embedding
@@ -97,7 +97,7 @@ # nodep = Turns off compatibility macros to ensure the core
# isn't being built with deprecated functions.
#
-# MACHINE=(ALPHA|AMD64|IA64|IX86)
+# MACHINE=(ALPHA|AMD64|ARM64|IA64|IX86)
# Set the machine type used for the compiler, linker, and
# resource compiler. This hook is needed to tell the tools
# when alternate platforms are requested. IX86 is the default
@@ -564,7 +564,7 @@ $(OUT_DIR)\libtommath.dll: $(TOMMATHDIR)\win64\libtommath.dll $(COPY) $(TOMMATHDIR)\win64\libtommath.dll $(OUT_DIR)\libtommath.dll
$(OUT_DIR)\tommath.lib: $(TOMMATHDIR)\win64\tommath.lib
$(COPY) $(TOMMATHDIR)\win64\tommath.lib $(OUT_DIR)\tommath.lib
-!else
+!elseif "$(MACHINE)" == "IX86"
$(OUT_DIR)\zlib1.dll: $(COMPATDIR)\zlib\win32\zlib1.dll
$(COPY) $(COMPATDIR)\zlib\win32\zlib1.dll $(OUT_DIR)\zlib1.dll
$(OUT_DIR)\zdll.lib: $(COMPATDIR)\zlib\win32\zdll.lib
@@ -501,7 +501,7 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [ SHLIB_SUFFIX=".dll" # MACHINE is IX86 for LINK, but this is used by the manifest, - # which requires x86|amd64|ia64. + # which requires x86|amd64|arm64|ia64. MACHINE="X86" if test "$GCC" = "yes"; then @@ -526,6 +526,13 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [ RANLIB="x86_64-w64-mingw32-ranlib" RC="x86_64-w64-mingw32-windres" ;; + arm64) + CC="arm64-w64-mingw32-${CC}" + LD="arm64-w64-mingw32-ld" + AR="arm64-w64-mingw32-ar" + RANLIB="arm64-w64-mingw32-ranlib" + RC="arm64-w64-mingw32-windres" + ;; *) CC="i686-w64-mingw32-${CC}" LD="i686-w64-mingw32-ld" @@ -586,6 +593,9 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [ if test "$ac_cv_win32" != "yes"; then AC_MSG_ERROR([${CC} cannot produce win32 executables.]) fi + if test "$MACHINE" != "ARM64"; then + extra_cflags="$extra_cflags -DHAVE_CPUID=1" + fi hold_cflags=$CFLAGS; CFLAGS="$CFLAGS -mwindows -municode -Dmain=xxmain" AC_CACHE_CHECK(for working -municode linker flag, |