Bug 1503366 - part 4 - add mozconfigs for aarch64 windows builds; r=chmanchester
authorNathan Froyd <froydnj@mozilla.com>
Tue, 20 Nov 2018 20:32:47 -0400
changeset 503849 692342801503ee35337d19716615a15af010fe67
parent 503848 2526f6735ef5ff8f575b80a56dc2505c4cfac9f0
child 503850 92c3a891c4f2e674257de85556090d12b292aa35
push id10290
push userffxbld-merge
push dateMon, 03 Dec 2018 16:23:23 +0000
treeherdermozilla-beta@700bed2445e6 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerschmanchester
bugs1503366
milestone65.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1503366 - part 4 - add mozconfigs for aarch64 windows builds; r=chmanchester
browser/config/mozconfigs/win64-aarch64/common-opt
browser/config/mozconfigs/win64-aarch64/common-win64
browser/config/mozconfigs/win64-aarch64/debug
browser/config/mozconfigs/win64-aarch64/debug-msvc
browser/config/mozconfigs/win64-aarch64/nightly
browser/config/mozconfigs/win64-aarch64/opt-msvc
build/win64-aarch64/mozconfig.vs-latest
build/win64-aarch64/mozconfig.vs2017
new file mode 100644
--- /dev/null
+++ b/browser/config/mozconfigs/win64-aarch64/common-opt
@@ -0,0 +1,29 @@
+# This file is sourced by the nightly, beta, and release mozconfigs.
+
+. "$topsrcdir/build/mozconfig.stylo"
+
+. "$topsrcdir/browser/config/mozconfigs/common"
+
+ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
+ac_add_options --enable-jemalloc
+if [ -f /c/builds/gapi.data ]; then
+  _gapi_keyfile=c:/builds/gapi.data
+else
+  _gapi_keyfile=e:/builds/gapi.data
+fi
+ac_add_options --with-google-api-keyfile=${_gapi_keyfile}
+
+ac_add_options --with-mozilla-api-keyfile=c:/builds/mozilla-desktop-geoloc-api.key
+
+# Needed to enable breakpad in application.ini
+export MOZILLA_OFFICIAL=1
+
+export MOZ_TELEMETRY_REPORTING=1
+
+. $topsrcdir/build/win64-aarch64/mozconfig.vs-latest
+
+# Package js shell.
+export MOZ_PACKAGE_JSSHELL=1
+
+# Crashreporter does peculiar things.
+ac_add_options --disable-crashreporter
new file mode 100644
--- /dev/null
+++ b/browser/config/mozconfigs/win64-aarch64/common-win64
@@ -0,0 +1,10 @@
+# This file is used by all AArch64 Win64 builds
+
+ac_add_options --target=aarch64-windows-mingw32
+ac_add_options --host=x86_64-pc-mingw32
+
+# WebRTC is busted in various ways.
+ac_add_options --disable-webrtc
+
+# Accessibility doesn't work.
+ac_add_options --disable-accessibility
new file mode 100644
--- /dev/null
+++ b/browser/config/mozconfigs/win64-aarch64/debug
@@ -0,0 +1,29 @@
+. "$topsrcdir/build/mozconfig.win-common"
+MOZ_AUTOMATION_L10N_CHECK=0
+. "$topsrcdir/browser/config/mozconfigs/common"
+
+ac_add_options --disable-crashreporter
+
+. "$topsrcdir/browser/config/mozconfigs/win64-aarch64/common-win64"
+
+. "$topsrcdir/build/mozconfig.stylo"
+
+ac_add_options --enable-debug
+ac_add_options --enable-dmd
+ac_add_options --enable-profiling  # needed for --enable-dmd to work on Windows
+ac_add_options --enable-verify-mar
+
+# Needed to enable breakpad in application.ini
+export MOZILLA_OFFICIAL=1
+
+# Enable Telemetry
+export MOZ_TELEMETRY_REPORTING=1
+
+# Package js shell.
+export MOZ_PACKAGE_JSSHELL=1
+
+ac_add_options --with-branding=browser/branding/nightly
+
+. $topsrcdir/build/win64-aarch64/mozconfig.vs-latest
+
+. "$topsrcdir/build/mozconfig.common.override"
new file mode 100644
--- /dev/null
+++ b/browser/config/mozconfigs/win64-aarch64/debug-msvc
@@ -0,0 +1,3 @@
+. "$topsrcdir/browser/config/mozconfigs/win64-aarch64/debug"
+
+unset ENABLE_CLANG_PLUGIN
new file mode 100644
--- /dev/null
+++ b/browser/config/mozconfigs/win64-aarch64/nightly
@@ -0,0 +1,10 @@
+. "$topsrcdir/build/mozconfig.win-common"
+. "$topsrcdir/browser/config/mozconfigs/win64-aarch64/common-win64"
+. "$topsrcdir/browser/config/mozconfigs/win64-aarch64/common-opt"
+
+ac_add_options --enable-verify-mar
+ac_add_options --enable-dmd
+
+ac_add_options --with-branding=browser/branding/nightly
+
+. "$topsrcdir/build/mozconfig.common.override"
new file mode 100644
--- /dev/null
+++ b/browser/config/mozconfigs/win64-aarch64/opt-msvc
@@ -0,0 +1,3 @@
+. "$topsrcdir/browser/config/mozconfigs/win64-aarch64/nightly"
+
+unset ENABLE_CLANG_PLUGIN
new file mode 100644
--- /dev/null
+++ b/build/win64-aarch64/mozconfig.vs-latest
@@ -0,0 +1,1 @@
+. $topsrcdir/build/win64-aarch64/mozconfig.vs2017
new file mode 100644
--- /dev/null
+++ b/build/win64-aarch64/mozconfig.vs2017
@@ -0,0 +1,47 @@
+if [ -z "${VSPATH}" ]; then
+    TOOLTOOL_DIR=${TOOLTOOL_DIR:-$topsrcdir}
+    VSPATH="$(cd ${TOOLTOOL_DIR} && pwd)/vs2017_15.9.0p5"
+fi
+
+if [ -d "${VSPATH}" ]; then
+    VSWINPATH="$(cd ${VSPATH} && pwd -W)"
+
+    export WINDOWSSDKDIR="${VSWINPATH}/SDK"
+    export WIN32_REDIST_DIR=${VSPATH}/VC/redist/onecore/arm64/Microsoft.VC141.CRT
+    export WIN_DIA_SDK_BIN_DIR="${VSPATH}/DIA SDK/bin/amd64"
+
+    win_sdk_version="10.0.17134.0"
+
+    # Need to run x86-64 host binaries.
+    export PATH="${VSPATH}/VC/bin/Hostx64/x64:${VSPATH}/SDK/bin/${win_sdk_version}/x64:${VSPATH}/VC/redist/x64/Microsoft.VC141.CRT:${VSPATH}/SDK/Redist/ucrt/DLLs/x64:${WIN_DIA_SDK_BIN_DIR}:${PATH}"
+
+    export INCLUDE="${VSPATH}/VC/include:${VSPATH}/VC/atlmfc/include:${VSPATH}/SDK/Include/${win_sdk_version}/ucrt:${VSPATH}/SDK/Include/${win_sdk_version}/shared:${VSPATH}/SDK/Include/${win_sdk_version}/um:${VSPATH}/SDK/Include/${win_sdk_version}/winrt"
+    export LIB="${VSPATH}/VC/lib/arm64:${VSPATH}/VC/atlmfc/lib/arm64:${VSPATH}/SDK/Lib/${win_sdk_version}/ucrt/arm64:${VSPATH}/SDK/Lib/${win_sdk_version}/um/arm64:${VSPATH}/DIA SDK/lib/amd64"
+
+    # We need to declare host and target tools separately.
+    arm_bin="${VSPATH}/VC/bin/Hostx64/arm64"
+    export CC="${arm_bin}/cl.exe"
+    export CXX="${arm_bin}/cl.exe"
+    export AS="${arm_bin}/armasm64.exe"
+    export LINKER="${arm_bin}/link.exe"
+
+    x64_bin="${VSPATH}/VC/bin/Hostx64/x64"
+    export HOST_CC="${x64_bin}/cl.exe"
+    export HOST_CXX="${x64_bin}/cl.exe"
+    export HOST_LINKER="${x64_bin}/link.exe"
+
+    # We provided LIB, above, but we also need to provide HOST_LDFLAGS so host
+    # links are not completely confused.  LIBPATH wants its argument with
+    # Windows-style drives.
+    libs=""
+    libs="${libs} -LIBPATH:${VSWINPATH}/VC/lib/x64"
+    libs="${libs} -LIBPATH:${VSWINPATH}/VC/atlmfc/lib/x64"
+    libs="${libs} -LIBPATH:${VSWINPATH}/SDK/Lib/${win_sdk_version}/um/x64"
+    libs="${libs} -LIBPATH:${VSWINPATH}/SDK/Lib/${win_sdk_version}/ucrt/x64"
+    export HOST_LDFLAGS="${libs}"
+
+    export WIN64_LINK="${VSPATH}/VC/bin/Hostx64/x64/link.exe"
+    export WIN64_LIB="${VSPATH}/VC/lib/x64:${VSPATH}/VC/atlmfc/lib/x64:${VSPATH}/SDK/Lib/${win_sdk_version}/ucrt/x64:${VSPATH}/SDK/Lib/${win_sdk_version}/um/x64:${VSPATH}/DIA SDK/lib/amd64"
+fi
+
+. $topsrcdir/build/mozconfig.vs-common