1*4882a593SmuzhiyunFrom bae24edf61de8e374a43b7eede7be8c90a2a32e5 Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Samuli Piippo <samuli.piippo@qt.io>
3*4882a593SmuzhiyunDate: Wed, 15 Mar 2017 13:53:28 +0200
4*4882a593SmuzhiyunSubject: [PATCH] Force host toolchain configuration
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunForce gcc/g++ to be used for parts using host toolchain, since
7*4882a593Smuzhiyunthe option(host_build) does not work in yocto builds.
8*4882a593Smuzhiyun
9*4882a593SmuzhiyunDon't use QT_ARCH for the host architecture, since that's always
10*4882a593Smuzhiyunthe target architecture in bitbake builds, instead ask specifically
11*4882a593Smuzhiyunfor the qmakes's host architecture.
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunUpstream-Status: Inappropriate [OE specific]
14*4882a593SmuzhiyunSigned-off-by: Samuli Piippo <samuli.piippo@qt.io>
15*4882a593Smuzhiyun---
16*4882a593Smuzhiyun src/buildtools/config/linux.pri   |  2 +-
17*4882a593Smuzhiyun src/buildtools/configure_host.pro | 14 +++++++-------
18*4882a593Smuzhiyun src/buildtools/gn.pro             |  5 ++---
19*4882a593Smuzhiyun 3 files changed, 10 insertions(+), 11 deletions(-)
20*4882a593Smuzhiyun
21*4882a593Smuzhiyundiff --git a/src/buildtools/config/linux.pri b/src/buildtools/config/linux.pri
22*4882a593Smuzhiyunindex 7507d51ef..1e078cbfe 100644
23*4882a593Smuzhiyun--- a/src/buildtools/config/linux.pri
24*4882a593Smuzhiyun+++ b/src/buildtools/config/linux.pri
25*4882a593Smuzhiyun@@ -118,7 +118,7 @@ contains(QT_ARCH, "mips") {
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun host_build {
28*4882a593Smuzhiyun     gn_args += custom_toolchain=\"$$QTWEBENGINE_OUT_ROOT/src/toolchain:host\"
29*4882a593Smuzhiyun-    GN_HOST_CPU = $$gnArch($$QT_ARCH)
30*4882a593Smuzhiyun+    GN_HOST_CPU = $$gnArch($$QMAKE_HOST.arch)
31*4882a593Smuzhiyun     gn_args += host_cpu=\"$$GN_HOST_CPU\"
32*4882a593Smuzhiyun     # Don't bother trying to use system libraries in this case
33*4882a593Smuzhiyun     gn_args += use_glib=false
34*4882a593Smuzhiyundiff --git a/src/buildtools/configure_host.pro b/src/buildtools/configure_host.pro
35*4882a593Smuzhiyunindex dd0d3e327..6312c8678 100644
36*4882a593Smuzhiyun--- a/src/buildtools/configure_host.pro
37*4882a593Smuzhiyun+++ b/src/buildtools/configure_host.pro
38*4882a593Smuzhiyun@@ -4,7 +4,7 @@ TEMPLATE = aux
39*4882a593Smuzhiyun # Pick up the host toolchain
40*4882a593Smuzhiyun option(host_build)
41*4882a593Smuzhiyun
42*4882a593Smuzhiyun-GN_HOST_CPU = $$gnArch($$QT_ARCH)
43*4882a593Smuzhiyun+GN_HOST_CPU = $$gnArch($$QMAKE_HOST.arch)
44*4882a593Smuzhiyun !isEmpty(QT_TARGET_ARCH): GN_TARGET_CPU = $$gnArch($$QT_TARGET_ARCH)
45*4882a593Smuzhiyun else: GN_TARGET_CPU = $$GN_HOST_CPU
46*4882a593Smuzhiyun GN_OS = $$gnOS()
47*4882a593Smuzhiyun@@ -31,9 +31,9 @@ GN_CONTENTS = \
48*4882a593Smuzhiyun "import(\"//build/config/sysroot.gni\")" \
49*4882a593Smuzhiyun "import(\"//build/toolchain/gcc_toolchain.gni\")" \
50*4882a593Smuzhiyun "gcc_toolchain(\"host\") {" \
51*4882a593Smuzhiyun-"  cc = \"$$which($$QMAKE_CC)\" " \
52*4882a593Smuzhiyun-"  cxx = \"$$which($$QMAKE_CXX)\" " \
53*4882a593Smuzhiyun-"  ld = \"$$which($$QMAKE_LINK)\" " \
54*4882a593Smuzhiyun+"  cc = \"$$which($$CC_host)\" " \
55*4882a593Smuzhiyun+"  cxx = \"$$which($$CXX_host)\" " \
56*4882a593Smuzhiyun+"  ld = \"$$which($$CXX_host)\" " \
57*4882a593Smuzhiyun "  ar = \"$$which(ar)\" " \
58*4882a593Smuzhiyun "  nm = \"$$which(nm)\" " \
59*4882a593Smuzhiyun "  extra_cppflags = \"$$GN_HOST_EXTRA_CPPFLAGS\" " \
60*4882a593Smuzhiyun@@ -45,9 +45,9 @@ GN_CONTENTS = \
61*4882a593Smuzhiyun "  } " \
62*4882a593Smuzhiyun "}" \
63*4882a593Smuzhiyun "gcc_toolchain(\"v8_snapshot\") {" \
64*4882a593Smuzhiyun-"  cc = \"$$which($$QMAKE_CC)\" " \
65*4882a593Smuzhiyun-"  cxx = \"$$which($$QMAKE_CXX)\" " \
66*4882a593Smuzhiyun-"  ld = \"$$which($$QMAKE_LINK)\" " \
67*4882a593Smuzhiyun+"  cc = \"$$which($$CC_host)\" " \
68*4882a593Smuzhiyun+"  cxx = \"$$which($$CXX_host)\" " \
69*4882a593Smuzhiyun+"  ld = \"$$which($$CXX_host)\" " \
70*4882a593Smuzhiyun "  ar = \"$$which(ar)\" " \
71*4882a593Smuzhiyun "  nm = \"$$which(nm)\" " \
72*4882a593Smuzhiyun "  toolchain_args = { " \
73*4882a593Smuzhiyundiff --git a/src/buildtools/gn.pro b/src/buildtools/gn.pro
74*4882a593Smuzhiyunindex f94694da0..a8ca6567b 100644
75*4882a593Smuzhiyun--- a/src/buildtools/gn.pro
76*4882a593Smuzhiyun+++ b/src/buildtools/gn.pro
77*4882a593Smuzhiyun@@ -19,9 +19,8 @@ build_pass|!debug_and_release {
78*4882a593Smuzhiyun             gn_bootstrap = $$system_path($$absolute_path(gn/build/gen.py, $$src_3rd_party_dir))
79*4882a593Smuzhiyun
80*4882a593Smuzhiyun             gn_gen_args = --no-last-commit-position --out-path $$out_path \
81*4882a593Smuzhiyun-                          --cc \"$$which($$QMAKE_CC)\" --cxx \"$$which($$QMAKE_CXX)\" \
82*4882a593Smuzhiyun-                          --ld \"$$which($$QMAKE_LINK)\"
83*4882a593Smuzhiyun-            !isEmpty(QMAKE_AR): gn_gen_args += --ar \"$$which($$first(QMAKE_AR))\"
84*4882a593Smuzhiyun+                          --cc \"$$which($$CC_host)\" --cxx \"$$which($$CXX_host)\" \
85*4882a593Smuzhiyun+                          --ld \"$$which($$CXX_host)\" --ar \"$$which(ar)\"
86*4882a593Smuzhiyun
87*4882a593Smuzhiyun             msvc:!clang_cl: gn_gen_args += --use-lto
88*4882a593Smuzhiyun
89