summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcaseq <caseq@chromium.org>2015-07-01 02:09:50 -0700
committerCommit bot <commit-bot@chromium.org>2015-07-01 09:10:30 +0000
commit528415c0f8a29b19aecde75df73145ab8680ca6d (patch)
treec80a2e862ca0934219ca16352c93edf1a96aba39
parent2eb0a6d9a64461d04033da8c6ec1d85ba97fce8e (diff)
downloadchromium_src-528415c0f8a29b19aecde75df73145ab8680ca6d.zip
chromium_src-528415c0f8a29b19aecde75df73145ab8680ca6d.tar.gz
chromium_src-528415c0f8a29b19aecde75df73145ab8680ca6d.tar.bz2
Revert of Use bundled harfbuzz on Linux (patchset #13 id:280001 of https://codereview.chromium.org/1197683002/)
Reason for revert: This causes chrome to crash upon startup on ubuntu. Original issue's description: > Use bundled harfbuzz on Linux > > crbug.com/353127 changed to use the bundled harfbuzz for official builds > on Linux, but not for non-official Linux builds due to link warnings and > gfx_unittests crash on Trusty. > > This patch changes non-official Linux builds to use the bundled harfbuzz. > Symbols from the bundled harfbuzz-ng are exported in non-official builds > so that pangoft2 can see them. gfx_unittests crashes are no longer > observed. > > BUG=462689, 353127 > > Committed: https://crrev.com/94a9f1fd605ae10dc8628641b4ab5e0d44824376 > Cr-Commit-Position: refs/heads/master@{#336965} TBR=behdad@chromium.org,behdad@google.com,drott@chromium.org,eae@chromium.org,ebraminio@gmail.com,kochi@chromium.org,kojii@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=462689, 353127 Review URL: https://codereview.chromium.org/1220033002 Cr-Commit-Position: refs/heads/master@{#337000}
-rw-r--r--third_party/harfbuzz-ng/BUILD.gn41
-rw-r--r--third_party/harfbuzz-ng/harfbuzz.gyp24
2 files changed, 16 insertions, 49 deletions
diff --git a/third_party/harfbuzz-ng/BUILD.gn b/third_party/harfbuzz-ng/BUILD.gn
index 793a97a..2ce1280 100644
--- a/third_party/harfbuzz-ng/BUILD.gn
+++ b/third_party/harfbuzz-ng/BUILD.gn
@@ -4,7 +4,6 @@
import("//build/config/chrome_build.gni")
import("//build/config/linux/pkg_config.gni")
-import("//build/config/ui.gni")
# The GYP build supports system harfbuzz for non-official builds when using
# pangoft2 1.31.0 or greater (which pulls it in).
@@ -17,15 +16,18 @@ import("//build/config/ui.gni")
declare_args() {
# Since version 1.31.0, pangoft2 which we depend on pulls in harfbuzz
# anyways. However, we want to have control of the version of harfbuzz
- # we use, so don't use system harfbuzz unless we are building for
- # chrome os, where we have the system harfbuzz under control.
- use_system_harfbuzz =
- is_linux && is_chromeos && exec_script(pkg_config_script,
- pkg_config_args + [
- "--atleast-version=1.31.0",
- "pangoft2",
- ],
- "value")
+ # we use, so don't use system harfbuzz for official builds, unless we
+ # are building for chrome os, where we have the system harfbuzz under
+ # control as well. We also do not want to use the system harfbuzz
+ # when cross-compiling for ARM.
+ use_system_harfbuzz = is_linux && (is_chromeos || (!is_official_build &&
+ current_cpu != "arm")) &&
+ exec_script(pkg_config_script,
+ pkg_config_args + [
+ "--atleast-version=1.31.0",
+ "pangoft2",
+ ],
+ "value")
}
if (use_system_harfbuzz) {
@@ -164,24 +166,5 @@ if (use_system_harfbuzz) {
]
defines += [ "HAVE_CORETEXT" ]
}
-
- # When without -fvisibility=hidden for pango to use the harfbuzz
- # in the tree, all symbols pango needs must be included, or
- # pango uses mixed versions of harfbuzz and leads to crash.
- # See crbug.com/462689.
- if (is_linux && use_pango && !is_chromeos && !is_official_build &&
- current_cpu != "arm") {
- configs -= [ "//build/config/gcc:symbol_visibility_hidden" ]
- configs += [
- "//build/config/linux:freetype2",
- "//build/config/linux:glib",
- ]
- sources += [
- "src/hb-ft.cc",
- "src/hb-ft.h",
- "src/hb-glib.cc",
- "src/hb-glib.h",
- ]
- }
}
}
diff --git a/third_party/harfbuzz-ng/harfbuzz.gyp b/third_party/harfbuzz-ng/harfbuzz.gyp
index 48e9375..f381e74 100644
--- a/third_party/harfbuzz-ng/harfbuzz.gyp
+++ b/third_party/harfbuzz-ng/harfbuzz.gyp
@@ -8,11 +8,12 @@
],
'variables': {
'conditions': [
- ['OS=="linux" and chromeos==1', {
+ ['OS=="linux" and (buildtype!="Official" or chromeos==1) and embedded==0', {
# Since version 1.31.0, pangoft2 which we depend on pulls in harfbuzz
# anyways. However, we want to have control of the version of harfbuzz
- # we use, so don't use system harfbuzz unless we are building for
- # chrome os, where we have the system harfbuzz under control.
+ # we use, so don't use system harfbuzz for official builds, unless we
+ # are building for chrome os, where we have the system harfbuzz under
+ # control as well.
'use_system_harfbuzz%': '<!(python ../../build/check_return_value.py <(pkg-config) --atleast-version=1.31.0 pangoft2)',
}, {
'use_system_harfbuzz': 0,
@@ -151,23 +152,6 @@
'src/hb-coretext.h',
],
}],
- # When without -fvisibility=hidden for pango to use the harfbuzz
- # in the tree, all symbols pango needs must be included, or
- # pango uses mixed versions of harfbuzz and leads to crash.
- # See crbug.com/462689.
- ['use_pango==1 and OS=="linux" and chromeos==0 and buildtype!="Official" and target_arch!="arm"', {
- 'cflags!': ['-fvisibility=hidden'],
- 'sources': [
- 'src/hb-ft.cc',
- 'src/hb-ft.h',
- 'src/hb-glib.cc',
- 'src/hb-glib.h',
- ],
- 'dependencies': [
- '../../build/linux/system.gyp:freetype2',
- '../../build/linux/system.gyp:glib',
- ],
- }],
],
},
],