| OLD | NEW |
| 1 # Copyright 2017 The Chromium Authors. All rights reserved. | 1 # Copyright 2017 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/features.gni") | 5 import("//build/config/features.gni") |
| 6 import("//build/config/freetype/freetype.gni") |
| 7 import("//build/config/ui.gni") |
| 8 import("//third_party/harfbuzz-ng/harfbuzz.gni") |
| 6 | 9 |
| 7 declare_args() { | 10 # Only to be used as an intermediate target to resolve the cyclic dependency |
| 8 # Blink needs a recent and properly build-configured FreeType version to | 11 # between FreeType and Harfbuzz in HarfBuzz' BUILD.gn |
| 9 # support OpenType variations, color emoji and avoid security bugs. By default | 12 group("freetype-without-harfbuzz") { |
| 10 # we ship and link such a version as part of Chrome. For distributions that | |
| 11 # prefer to keep linking to the version the system, FreeType must be newer | |
| 12 # than version 2.7.1 and have color bitmap support compiled in. WARNING: | |
| 13 # System FreeType configurations other than as described WILL INTRODUCE TEXT | |
| 14 # RENDERING AND SECURITY REGRESSIONS. | |
| 15 use_system_freetype = false | |
| 16 } | |
| 17 | |
| 18 group("freetype") { | |
| 19 if (use_system_freetype) { | 13 if (use_system_freetype) { |
| 20 public_configs = [ "//build/linux:freetype_from_pkgconfig" ] | 14 public_configs = [ "//build/linux:freetype_from_pkgconfig" ] |
| 21 } else { | 15 } else { |
| 22 public_deps = [ | 16 public_deps = [ |
| 23 "//third_party/freetype", | 17 "//third_party/freetype", |
| 24 ] | 18 ] |
| 25 } | 19 } |
| 26 } | 20 } |
| 21 |
| 22 # Maybe switch name and reduce diff-size by calling the previous target |
| 23 # something like freetype2-intermediate or so, and this one - as before - |
| 24 # freetype2. |
| 25 group("freetype") { |
| 26 if (use_system_freetype) { |
| 27 public_configs = [ "//build/linux:freetype_from_pkgconfig" ] |
| 28 } else { |
| 29 public_deps = [ |
| 30 # HarfBuzz dependency needed in order for FreeType autohinting to detect |
| 31 # ligatures and other OpenType mappings. |
| 32 ":freetype-without-harfbuzz", |
| 33 "//third_party/harfbuzz-ng:harfbuzz-ng", |
| 34 "//third_party/harfbuzz-ng:harfbuzz-ng-ft", |
| 35 ] |
| 36 } |
| 37 } |
| OLD | NEW |