1*4882a593SmuzhiyunFrom 7ae73da23ad998bd1e63ad213cf7a02e61191951 Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Romain Naour <romain.naour@gmail.com>
3*4882a593SmuzhiyunDate: Sat, 23 May 2020 19:01:19 +0200
4*4882a593SmuzhiyunSubject: [PATCH] gn.pro: don't link statically with libstc++
5*4882a593SmuzhiyunMIME-Version: 1.0
6*4882a593SmuzhiyunContent-Type: text/plain; charset=UTF-8
7*4882a593SmuzhiyunContent-Transfer-Encoding: 8bit
8*4882a593Smuzhiyun
9*4882a593SmuzhiyunWhile cross-compiling, qt5webengine is building a host tool but
10*4882a593Smuzhiyunwant to link the libstdc++ statically. This requires to install
11*4882a593Smuzhiyunlibstdc++-static package on the host (Fedora package name).
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunOtherwise the link fail with:
14*4882a593Smuzhiyun
15*4882a593Smuzhiyun  [185/185] LINK gn
16*4882a593Smuzhiyun  FAILED: gn
17*4882a593Smuzhiyun  /usr/bin/g++ -O3 -fdata-sections -ffunction-sections -Wl,--gc-sections -Wl,-strip-all -Wl,--as-needed -static-libstdc++ -pthread -o gn -Wl,--start-group tools/gn/gn_main.o base.a gn_lib.a -Wl,--end-group -ldl
18*4882a593Smuzhiyun  /usr/bin/ld : unable to find -lstdc++
19*4882a593Smuzhiyun  [...]
20*4882a593Smuzhiyun  Project ERROR: GN build error!
21*4882a593Smuzhiyun
22*4882a593SmuzhiyunAdd --no-static-libstdc++ argument to gn.pro to link to
23*4882a593Smuzhiyunlibstdc++.so.6 instead of libstdc++.a.
24*4882a593Smuzhiyun
25*4882a593Smuzhiyun--no-static-libstdc++ has been added by [1] but it force
26*4882a593Smuzhiyunlinking statically by default.
27*4882a593Smuzhiyun
28*4882a593Smuzhiyun[1] https://github.com/qt/qtwebengine-chromium/commit/cfab9198a9917f42cf08b1caf84ab9b71aac1911#diff-905c8f054808213577c0a92d1b704615
29*4882a593Smuzhiyun
30*4882a593SmuzhiyunSigned-off-by: Romain Naour <romain.naour@gmail.com>
31*4882a593Smuzhiyun---
32*4882a593Smuzhiyun src/buildtools/gn.pro | 3 ++-
33*4882a593Smuzhiyun 1 file changed, 2 insertions(+), 1 deletion(-)
34*4882a593Smuzhiyun
35*4882a593Smuzhiyundiff --git a/src/buildtools/gn.pro b/src/buildtools/gn.pro
36*4882a593Smuzhiyunindex 033202e6..5dd8e241 100644
37*4882a593Smuzhiyun--- a/src/buildtools/gn.pro
38*4882a593Smuzhiyun+++ b/src/buildtools/gn.pro
39*4882a593Smuzhiyun@@ -20,7 +20,8 @@ build_pass|!debug_and_release {
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun             gn_gen_args = --no-last-commit-position --out-path $$out_path \
42*4882a593Smuzhiyun                           --cc \"$$which($$QMAKE_CC)\" --cxx \"$$which($$QMAKE_CXX)\" \
43*4882a593Smuzhiyun-                          --ld \"$$which($$QMAKE_LINK)\"
44*4882a593Smuzhiyun+                          --ld \"$$which($$QMAKE_LINK)\" \
45*4882a593Smuzhiyun+                          --no-static-libstdc++
46*4882a593Smuzhiyun
47*4882a593Smuzhiyun             msvc:!clang_cl: gn_gen_args += --use-lto
48*4882a593Smuzhiyun
49*4882a593Smuzhiyun--
50*4882a593Smuzhiyun2.25.4
51*4882a593Smuzhiyun
52