ref: e6f889c120f65bb3d612aec8e6b1e7e4fcd25378
parent: ea57f9acdad73e9ba4c329d27993c74392f7a205
author: Jon Kunkee <[email protected]>
date: Mon Nov 12 08:40:56 EST 2018
Add ARM64 Windows to configure scripts In order to correctly configure for Windows 10 on ARM, this change adds a --target value arm64-win64-vs15 to ./configure and adds feature enable/disable logic for the new platform. This is merely sufficient for Chromium targeting ARM64 Windows. Bug: 893460 Change-Id: I46194286f63104bdf6ac57d719fdf1e5d5fa72c8
--- a/README
+++ b/README
@@ -63,6 +63,7 @@
arm64-android-gcc
arm64-darwin-gcc
arm64-linux-gcc
+ arm64-win64-vs15
armv7-android-gcc
armv7-darwin-gcc
armv7-linux-rvct
--- a/build/make/configure.sh
+++ b/build/make/configure.sh
@@ -1010,18 +1010,29 @@
fi
;;
vs*)
- asm_conversion_cmd="${source_path}/build/make/ads2armasm_ms.pl"
- AS_SFX=.S
- msvs_arch_dir=arm-msvs
- disable_feature multithread
- disable_feature unit_tests
- vs_version=${tgt_cc##vs}
- if [ $vs_version -ge 12 ]; then
- # MSVC 2013 doesn't allow doing plain .exe projects for ARM,
- # only "AppContainerApplication" which requires an AppxManifest.
- # Therefore disable the examples, just build the library.
- disable_feature examples
- disable_feature tools
+ # A number of ARM-based Windows platforms are constrained by their
+ # respective SDKs' limitations. Fortunately, these are all 32-bit ABIs
+ # and so can be selected as 'win32'.
+ if [ ${tgt_os} = "win32" ]; then
+ asm_conversion_cmd="${source_path}/build/make/ads2armasm_ms.pl"
+ AS_SFX=.S
+ msvs_arch_dir=arm-msvs
+ disable_feature multithread
+ disable_feature unit_tests
+ vs_version=${tgt_cc##vs}
+ if [ $vs_version -ge 12 ]; then
+ # MSVC 2013 doesn't allow doing plain .exe projects for ARM32,
+ # only "AppContainerApplication" which requires an AppxManifest.
+ # Therefore disable the examples, just build the library.
+ disable_feature examples
+ disable_feature tools
+ fi
+ #else
+ # Windows 10 on ARM, on the other hand, has full Windows SDK support
+ # for building Win32 ARM64 applications in addition to ARM64
+ # Windows Store apps. It is the only 64-bit ARM ABI that
+ # Windows supports, so it is the default definition of 'win64'.
+ # ARM64 build support officially shipped in Visual Studio 15.9.0.
fi
;;
rvct)
--- a/configure
+++ b/configure
@@ -102,6 +102,7 @@
all_platforms="${all_platforms} arm64-darwin-gcc"
all_platforms="${all_platforms} arm64-linux-gcc"
all_platforms="${all_platforms} arm64-win64-gcc"
+all_platforms="${all_platforms} arm64-win64-vs15"
all_platforms="${all_platforms} armv7-android-gcc" #neon Cortex-A8
all_platforms="${all_platforms} armv7-darwin-gcc" #neon Cortex-A8
all_platforms="${all_platforms} armv7-linux-rvct" #neon Cortex-A8