summaryrefslogtreecommitdiffstats
path: root/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-icu-use-system-library-only-targets.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-qt/qt5/qtwebengine/chromium/0014-chromium-icu-use-system-library-only-targets.patch')
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0014-chromium-icu-use-system-library-only-targets.patch88
1 files changed, 88 insertions, 0 deletions
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-icu-use-system-library-only-targets.patch b/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-icu-use-system-library-only-targets.patch
new file mode 100644
index 00000000..52607983
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-icu-use-system-library-only-targets.patch
@@ -0,0 +1,88 @@
1From 8c9a4027426b0a2c56cc834da0dbad5b8378c2c6 Mon Sep 17 00:00:00 2001
2From: Andrej Valek <andrej.valek@siemens.com>
3Date: Fri, 17 Apr 2020 09:43:32 +0200
4Subject: [PATCH] chromium: icu: use system library only targets
5
6 - use bundled one for native/v8 internal builds
7
8Complete system ICU library using requires ICU dev package
9be installed on host. Enabling dependency on native package
10is not enough due to V8 hosttools toolchain. V8 toolchain
11is not using native sysroot, only a host packages.
12On the other hand webenegine does not produce external
13native artifacts. So external system ICU linking is not
14needed.
15
16Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
17Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
18---
19 chromium/third_party/icu/BUILD.gn | 18 ++++++++++++++----
20 1 file changed, 14 insertions(+), 4 deletions(-)
21
22diff --git a/chromium/third_party/icu/BUILD.gn b/chromium/third_party/icu/BUILD.gn
23index 023d6e13a2c..312f34d6186 100644
24--- a/chromium/third_party/icu/BUILD.gn
25+++ b/chromium/third_party/icu/BUILD.gn
26@@ -7,9 +7,13 @@ import("//build/config/host_byteorder.gni")
27 import("//build/config/linux/pkg_config.gni")
28 import("//build/shim_headers.gni")
29 import("//third_party/icu/config.gni")
30+import("//v8/gni/snapshot_toolchain.gni")
31
32 declare_args() {
33 use_system_icu = false
34+
35+ # Use only target icu library, when system using is enabled
36+ use_system_icu_target_only = false
37 }
38
39 if (is_android) {
40@@ -20,6 +24,12 @@ if (is_mac) {
41 import("//build/config/sanitizers/sanitizers.gni")
42 }
43
44+if (use_system_icu) {
45+ # Use system library only for target, otherwise use bundled
46+ if ((current_toolchain != host_toolchain) && (current_toolchain != v8_snapshot_toolchain)) {
47+ use_system_icu_target_only = true
48+ }
49+}
50 # Meta target that includes both icuuc and icui18n. Most targets want both.
51 # You can depend on the individually if you need to.
52 group("icu") {
53@@ -1207,7 +1217,7 @@ config("system_icu_config") {
54 }
55 }
56
57-if (use_system_icu) {
58+if (use_system_icu_target_only) {
59 pkg_config("system_icui18n") {
60 packages = [ "icu-i18n" ]
61 }
62@@ -1420,7 +1430,7 @@ shim_headers("icuuc_shim") {
63 }
64
65 config("icu_config") {
66- if (use_system_icu) {
67+ if (use_system_icu_target_only) {
68 configs = [ ":system_icu_config"]
69 } else {
70 configs = [ ":bundled_icu_config"]
71@@ -1428,7 +1438,7 @@ config("icu_config") {
72 }
73
74 group("icuuc") {
75- if (use_system_icu) {
76+ if (use_system_icu_target_only) {
77 deps = [ ":icuuc_shim" ]
78 public_configs = [
79 ":system_icu_config",
80@@ -1440,7 +1450,7 @@ group("icuuc") {
81 }
82
83 group("icui18n") {
84- if (use_system_icu) {
85+ if (use_system_icu_target_only) {
86 deps = [ ":icui18n_shim" ]
87 public_configs = [
88 ":system_icu_config",