summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2022-02-07 14:55:06 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2022-02-07 14:55:06 (GMT)
commit387f9a6753a7866f35f4fc71c0e2bbb9fed77514 (patch)
treef31d922eb9d7f4b37b07426737489419096f9bbc
parente6b6fcc9d42461d8ca3b153c9df5944facb99812 (diff)
parentf48af06d664b9d4f48755833e764c916ec561f68 (diff)
downloadtcl-387f9a6753a7866f35f4fc71c0e2bbb9fed77514.zip
tcl-387f9a6753a7866f35f4fc71c0e2bbb9fed77514.tar.gz
tcl-387f9a6753a7866f35f4fc71c0e2bbb9fed77514.tar.bz2
Merge 8.6
-rwxr-xr-xwin/configure14
-rw-r--r--win/configure.ac2
-rw-r--r--win/makefile.vc12
-rw-r--r--win/tcl.m412
4 files changed, 30 insertions, 10 deletions
diff --git a/win/configure b/win/configure
index 75de20d..24947c4 100755
--- a/win/configure
+++ b/win/configure
@@ -4059,7 +4059,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
@@ -4106,6 +4106,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"
@@ -4196,6 +4203,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
@@ -5853,7 +5863,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 d378115..709f092 100644
--- a/win/configure.ac
+++ b/win/configure.ac
@@ -377,7 +377,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 74a72f6..ccdaea6 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
@@ -100,7 +100,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
@@ -565,7 +565,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
diff --git a/win/tcl.m4 b/win/tcl.m4
index 1c1c007..4592b61 100644
--- a/win/tcl.m4
+++ b/win/tcl.m4
@@ -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,