summaryrefslogtreecommitdiffstats
path: root/src/buildtools/configure_host.pro
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildtools/configure_host.pro')
-rw-r--r--src/buildtools/configure_host.pro16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/buildtools/configure_host.pro b/src/buildtools/configure_host.pro
index d8d731df7..0e113543d 100644
--- a/src/buildtools/configure_host.pro
+++ b/src/buildtools/configure_host.pro
@@ -5,11 +5,20 @@ TEMPLATE = aux
option(host_build)
GN_HOST_CPU = $$gnArch($$QMAKE_HOST.arch)
+GN_TARGET_CPU = $$gnArch($$WEBENGINE_ARCH)
GN_OS = $$gnOS()
clang: GN_CLANG = true
else: GN_CLANG = false
+GN_V8_HOST_CPU = $$GN_HOST_CPU
+contains(GN_TARGET_CPU, "arm")|contains(GN_TARGET_CPU, "mips")|contains(GN_TARGET_CPU, "x86") {
+ # The v8 snapshot need a host that matches bitwidth, so we build makesnapshot to 32-bit variants of host.
+ contains(GN_V8_HOST_CPU, x64): GN_V8_HOST_CPU = "x86"
+ else: contains(GN_V8_HOST_CPU, arm64): GN_V8_HOST_CPU = "arm"
+ else: contains(GN_V8_HOST_CPU, mips64): GN_V8_HOST_CPU = "mips"
+}
+
# We always use the gcc_toolchain, because clang_toolchain is just
# a broken wrapper around it for Google's custom clang binaries.
GN_CONTENTS = \
@@ -33,8 +42,11 @@ GN_CONTENTS = \
" ar = \"$$which(ar)\" " \
" nm = \"$$which(nm)\" " \
" toolchain_args = { " \
-" current_os = \"$$GN_OS\" "
-# The v8_snapshot toolchain is finished by configure_target.pro
+" current_os = \"$$GN_OS\" " \
+" current_cpu = \"$$GN_V8_HOST_CPU\" " \
+" v8_current_cpu = \"$$GN_TARGET_CPU\" " \
+" } " \
+" } "
GN_FILE = $$OUT_PWD/../toolchain/BUILD.gn
!build_pass {