| OLD | NEW |
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 import("//build/config/linux/pkg_config.gni") | 5 import("//build/config/linux/pkg_config.gni") |
| 6 | 6 |
| 7 # The GYP build supports system harfbuzz for non-official builds when using | 7 # The GYP build supports system harfbuzz for non-official builds when using |
| 8 # pangoft2 1.31.0 or greater (which pulls it in). | 8 # pangoft2 1.31.0 or greater (which pulls it in). |
| 9 # TODO(brettw) we can consider doing this as well, although the benefit is | 9 # TODO(brettw) we can consider doing this as well, although the benefit is |
| 10 # unclear and requires shelling out to a script to check the version. | 10 # unclear and requires shelling out to a script to check the version. |
| 11 # | 11 # |
| 12 # ChromeOS uses an up-to-date system one that we have control over, so we | 12 # ChromeOS uses an up-to-date system one that we have control over, so we |
| 13 # don't want to bloat the binary more by including another copy. | 13 # don't want to bloat the binary more by including another copy. |
| 14 | 14 |
| 15 declare_args() { | 15 declare_args() { |
| 16 if (is_linux && (!is_official_build || is_chromeos)) { | 16 use_system_harfbuzz = false |
| 17 |
| 18 if (is_linux && (!is_official_build || cpu_arch == "arm" || is_chromeos)) { |
| 17 # Since version 1.31.0, pangoft2 which we depend on pulls in harfbuzz | 19 # Since version 1.31.0, pangoft2 which we depend on pulls in harfbuzz |
| 18 # anyways. However, we want to have control of the version of harfbuzz | 20 # anyways. However, we want to have control of the version of harfbuzz |
| 19 # we use, so don't use system harfbuzz for official builds, unless we | 21 # we use, so don't use system harfbuzz for official builds, unless we |
| 20 # are building for chrome os, where we have the system harfbuzz under | 22 # are building for chrome os, where we have the system harfbuzz under |
| 21 # control as well. | 23 # control as well. We also never want to use the system harfbuzz when |
| 24 # cross-compiling for ARM. |
| 22 use_system_harfbuzz = exec_script(pkg_config_script, | 25 use_system_harfbuzz = exec_script(pkg_config_script, |
| 23 pkg_config_args + [ | 26 pkg_config_args + [ |
| 24 "--atleast-version=1.31.0", | 27 "--atleast-version=1.31.0", |
| 25 "pangoft2", | 28 "pangoft2", |
| 26 ], | 29 ], |
| 27 "value") | 30 "value") |
| 28 } else { | |
| 29 use_system_harfbuzz = false | |
| 30 } | |
| 31 if (is_linux && cpu_arch == "arm" && !is_chromeos) { | |
| 32 # Override use_system_harfbuzz for ARM cross compiling so system | |
| 33 # harfbuzz is not used because the corresponding package is not | |
| 34 # available. | |
| 35 use_system_harfbuzz = false | |
| 36 } | 31 } |
| 37 } | 32 } |
| 38 | 33 |
| 39 if (use_system_harfbuzz) { | 34 if (use_system_harfbuzz) { |
| 40 import("//build/config/linux/pkg_config.gni") | 35 import("//build/config/linux/pkg_config.gni") |
| 41 pkg_config("harfbuzz_pkgconfig") { | 36 pkg_config("harfbuzz_pkgconfig") { |
| 42 packages = [ "harfbuzz" ] | 37 packages = [ "harfbuzz" ] |
| 43 } | 38 } |
| 44 group("harfbuzz-ng") { | 39 group("harfbuzz-ng") { |
| 45 public_configs = [ ":harfbuzz_pkgconfig" ] | 40 public_configs = [ ":harfbuzz_pkgconfig" ] |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 168 } | 163 } |
| 169 if (is_mac) { | 164 if (is_mac) { |
| 170 sources += [ | 165 sources += [ |
| 171 "src/hb-coretext.cc", | 166 "src/hb-coretext.cc", |
| 172 "src/hb-coretext.h", | 167 "src/hb-coretext.h", |
| 173 ] | 168 ] |
| 174 defines += [ "HAVE_CORETEXT" ] | 169 defines += [ "HAVE_CORETEXT" ] |
| 175 } | 170 } |
| 176 } | 171 } |
| 177 } | 172 } |
| OLD | NEW |