summaryrefslogtreecommitdiffstats
path: root/win/configure
diff options
context:
space:
mode:
Diffstat (limited to 'win/configure')
-rwxr-xr-xwin/configure63
1 files changed, 52 insertions, 11 deletions
diff --git a/win/configure b/win/configure
index 96f92d2..56342c0 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|aarch64)
+ CC="aarch64-w64-mingw32-clang"
+ LD="aarch64-w64-mingw32-ld"
+ AR="aarch64-w64-mingw32-ar"
+ RANLIB="aarch64-w64-mingw32-ranlib"
+ RC="aarch64-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 "$do64bit" != "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
@@ -4488,10 +4498,15 @@ printf "%s\n" "using shared flags" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Using 64-bit $MACHINE mode" >&5
printf "%s\n" " Using 64-bit $MACHINE mode" >&6; }
;;
+ arm64|aarch64)
+ MACHINE="ARM64"
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Using ARM64 $MACHINE mode" >&5
+printf "%s\n" " Using ARM64 $MACHINE mode" >&6; }
+ ;;
ia64)
MACHINE="IA64"
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Using 64-bit $MACHINE mode" >&5
-printf "%s\n" " Using 64-bit $MACHINE mode" >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Using IA64 $MACHINE mode" >&5
+printf "%s\n" " Using IA64 $MACHINE mode" >&6; }
;;
*)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4561,6 +4576,9 @@ printf "%s\n" "using shared flags" >&6; }
amd64|x64|yes)
MACHINE="AMD64" ; # assume AMD64 as default 64-bit build
;;
+ arm64|aarch64)
+ MACHINE="ARM64"
+ ;;
ia64)
MACHINE="IA64"
;;
@@ -4582,8 +4600,7 @@ printf "%s\n" " Using 64-bit $MACHINE mode" >&6; }
if test "$do64bit" != "no" ; then
RC="rc"
CFLAGS_DEBUG="-nologo -Zi -Od ${runtime}d"
- # Do not use -O2 for Win64 - this has proved buggy in code gen.
- CFLAGS_OPTIMIZE="-nologo -O1 ${runtime}"
+ CFLAGS_OPTIMIZE="-nologo -O2 ${runtime}"
lflags="${lflags} -nologo -MACHINE:${MACHINE}"
LINKBIN="link"
# Avoid 'unresolved external symbol __security_cookie' errors.
@@ -4933,20 +4950,44 @@ then :
printf "%s\n" "#define MP_64BIT 1" >>confdefs.h
- if test "$GCC" == "yes"
+ if test "$do64bit" = "arm64"
then :
- ZLIB_LIBS=\${ZLIB_DIR_NATIVE}/win64/libz.dll.a
+ if test "$GCC" == "yes"
+then :
+
+ ZLIB_LIBS=\${ZLIB_DIR_NATIVE}/win64-arm/libz.dll.a
- TOMMATH_LIBS=\${TOMMATH_DIR_NATIVE}/win64/libtommath.dll.a
+ TOMMATH_LIBS=\${TOMMATH_DIR_NATIVE}/win64-arm/libtommath.dll.a
else $as_nop
- ZLIB_LIBS=\${ZLIB_DIR_NATIVE}/win64/zdll.lib
+ ZLIB_LIBS=\${ZLIB_DIR_NATIVE}/win64-arm/zdll.lib
+
+ TOMMATH_LIBS=\${TOMMATH_DIR_NATIVE}/win64-arm/tommath.lib
- TOMMATH_LIBS=\${TOMMATH_DIR_NATIVE}/win64/tommath.lib
+fi
+
+else $as_nop
+
+ if test "$GCC" == "yes"
+then :
+
+ ZLIB_LIBS=\${ZLIB_DIR_NATIVE}/win64/libz.dll.a
+
+ TOMMATH_LIBS=\${TOMMATH_DIR_NATIVE}/win64/libtommath.dll.a
+
+
+else $as_nop
+
+ ZLIB_LIBS=\${ZLIB_DIR_NATIVE}/win64/zdll.lib
+
+ TOMMATH_LIBS=\${TOMMATH_DIR_NATIVE}/win64/tommath.lib
+
+
+fi
fi
@@ -5845,7 +5886,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