From cd8452bc113fe8c6a1566b0c6ed5245a7a230e43 Mon Sep 17 00:00:00 2001 From: tfarina Date: Mon, 12 Jan 2015 19:08:07 -0800 Subject: GN: Fix for chromeos building. Tested with the following command lines: $ gn gen --args='os="chromeos"' out_gn_chromeos/Debug and $ gn gen --args='os="android" cpu_arch="arm"' out_gn_android/Debug See gn-dev mailing-list thread discussion: https://groups.google.com/a/chromium.org/d/topic/gn-dev/Mq2ycNv4vRg/discussion BUG=None TEST=see above R=brettw@chromium.org,eae@chromium.org Review URL: https://codereview.chromium.org/846073005 Cr-Commit-Position: refs/heads/master@{#311193} --- third_party/harfbuzz-ng/BUILD.gn | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) (limited to 'third_party/harfbuzz-ng') diff --git a/third_party/harfbuzz-ng/BUILD.gn b/third_party/harfbuzz-ng/BUILD.gn index a1b25eb..000a9cc 100644 --- a/third_party/harfbuzz-ng/BUILD.gn +++ b/third_party/harfbuzz-ng/BUILD.gn @@ -13,21 +13,12 @@ import("//build/config/linux/pkg_config.gni") # don't want to bloat the binary more by including another copy. declare_args() { - if (is_chromeos) { - # ChromeOS includes an up-to-date system harfbuzz that we have control - # over, so it use the system one by default. - use_system_harfbuzz = true - } else if (is_official_build) { - # For official builds, we want to control the Harbuzz version so always - # use our included one. Currently the sysroot includes a version of pangoft - # that doesn't link to harfbuzz, so there are no linker problems. If we - # update that version, we'll need to work around the duplicate symbols some - # other way. - use_system_harfbuzz = false - } else if (is_linux) { - # Use the system harfbuzz for newer versions of pangoft, and not for older - # ones. pangoft links to the system harfbuzz starting with 1.31.0, which - # causes duplicate symbols when we link our own version. + if (is_linux && (!is_official_build || is_chromeos)) { + # 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 for official builds, unless we + # are building for chrome os, where we have the system harfbuzz under + # control as well. use_system_harfbuzz = exec_script(pkg_config_script, pkg_config_args + [ "--atleast-version=1.31.0", @@ -37,6 +28,12 @@ declare_args() { } else { use_system_harfbuzz = false } + if (is_linux && cpu_arch == "arm" && !is_chromeos) { + # Override use_system_harfbuzz for ARM cross compiling so system + # harfbuzz is not used because the corresponding package is not + # available. + use_system_harfbuzz = false + } } if (use_system_harfbuzz) { -- cgit v1.1