diff options
author | caseq <caseq@chromium.org> | 2015-07-01 02:09:50 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-07-01 09:10:30 +0000 |
commit | 528415c0f8a29b19aecde75df73145ab8680ca6d (patch) | |
tree | c80a2e862ca0934219ca16352c93edf1a96aba39 | |
parent | 2eb0a6d9a64461d04033da8c6ec1d85ba97fce8e (diff) | |
download | chromium_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.gn | 41 | ||||
-rw-r--r-- | third_party/harfbuzz-ng/harfbuzz.gyp | 24 |
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', - ], - }], ], }, ], |