Thanks!
/haubi/
>From 276322edfce1265e2567fcf20bbcc926f6dc97e4 Mon Sep 17 00:00:00 2001
From: Michael Haubenwallner <michael.haubenwall...@ssi-schaefer.com>
Date: Wed, 19 Apr 2017 19:24:54 +0200
Subject: [PATCH] * config.guess: Support MSVC compiler on Windows.

On Windows, each POSIX-like subsystem or addon is able to run the native
MSVC compiler cl.exe, either immediately or via some wrapper.
Using the precompiler allows to detect various *-winnt triplets.
---
 config.guess | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 57 insertions(+)

diff --git a/config.guess b/config.guess
index 69ed3e5..af60668 100755
--- a/config.guess
+++ b/config.guess
@@ -151,11 +151,68 @@ Linux|GNU|GNU/*)
 	EOF
 	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
 	;;
+CYGWIN*|Interix*|MINGW*|MSYS*|PW*|UWIN*|windows*|Windows*|unknown)
+	# These systems can probably run the MSVC compiler,
+	# either immediately or via some wrapper.
+	eval $set_cc_for_build
+	cat <<-EOF > $dummy.c
+	#if defined(_MSC_VER) && (defined(_WIN32) || defined(_WIN64))
+	UNAME_SYSTEM=WINNT
+	# if defined(_M_X64) || defined(_M_AMD64)
+	UNAME_MACHINE=x86_64-pc
+	# elif defined(_M_IX86)
+	#  if _M_IX86 - 0 >= 600
+	UNAME_MACHINE=i686-pc
+	#  elif _M_IX86 - 0 >= 500
+	UNAME_MACHINE=i586-pc
+	#  elif _M_IX86 - 0 >= 400
+	UNAME_MACHINE=i486-pc
+	#  else
+	UNAME_MACHINE=i386-pc
+	#  endif
+	# elif defined(_M_ARM64)
+	UNAME_MACHINE=armv8-unknown
+	# elif defined(_M_ARM_ARMV7VE)
+	UNAME_MACHINE=armv7-unknown
+	# elif defined(_M_ARM) || defined(_M_ARM_FP)
+	#  if _M_ARM - 0 >= 5
+	UNAME_MACHINE=armv _M_ARM -unknown
+	#  elif _M_ARM - 0 >= 4 || _M_ARM_FP - 0 >= 40
+	UNAME_MACHINE=armv4-unknown
+	#  elif _M_ARM - 0 >= 3 || _M_ARM_FP - 0 >= 30
+	UNAME_MACHINE=armv3-unknown
+	#  else
+	UNAME_MACHINE=arm-unknown
+	#  endif
+	# elif defined(_M_IA64)
+	UNAME_MACHINE=ia64-unknown
+	# elif defined(_M_SH)
+	UNAME_MACHINE=sh _M_SH -unknown
+	# elif defined(_M_MPPC)
+	UNAME_MACHINE=powerpc-apple
+	# elif defined(_M_PPC)
+	UNAME_MACHINE=powerpc-unknown
+	# elif defined(_M_ALPHA)
+	UNAME_MACHINE=alpha-dec
+	# elif defined(_M_MRX000)
+	UNAME_MACHINE=mips-unknown
+	# else
+	UNAME_MACHINE=unknown-unknown
+	# endif
+	#endif
+	EOF
+	# POSIX path in $dummy is not understood by unwrapped MSVC.
+	eval `cd "$tmp" && $CC_FOR_BUILD -E dummy.c 2>/dev/null | grep '^UNAME_' | tr -d " \\\\015"`
+	;;
 esac
 
 # Note: order is significant - the case branches are not exclusive.
 
 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+    *:WINNT:*:*)
+	# UNAME_MACHINE includes -pc or -unknown
+	echo ${UNAME_MACHINE}-winnt
+	exit ;;
     *:NetBSD:*:*)
 	# NetBSD (nbsd) targets should (where applicable) match one or
 	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
-- 
2.10.2

_______________________________________________
config-patches mailing list
config-patches@gnu.org
https://lists.gnu.org/mailman/listinfo/config-patches

Reply via email to