| # Copyright 2014 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/config/features.gni") |
| import("//build/config/freetype/freetype.gni") |
| import("//third_party/harfbuzz-ng/harfbuzz.gni") |
| import("//third_party/libjpeg.gni") |
| |
| config("system_libjpeg_config") { |
| libs = [ "jpeg" ] |
| defines = [ "USE_SYSTEM_LIBJPEG" ] |
| } |
| |
| config("libjpeg_turbo_config") { |
| defines = [ "USE_LIBJPEG_TURBO=1" ] |
| } |
| |
| # This is a meta target that forwards to the system's libjpeg, |
| # third_party/libjpeg, or third_party/libjpeg_turbo depending on the build args |
| # declared in this file. |
| group("jpeg") { |
| if (use_system_libjpeg) { |
| public_configs = [ ":system_libjpeg_config" ] |
| } else if (use_libjpeg_turbo) { |
| public_deps = [ "//third_party/libjpeg_turbo:libjpeg" ] |
| public_configs = [ ":libjpeg_turbo_config" ] |
| } else { |
| public_deps = [ "//third_party/libjpeg:libjpeg" ] |
| } |
| } |
| |
| # This is a meta target that forwards include paths only to the system's |
| # libjpeg, third_party/libjpeg, or third_party/libjpeg_turbo depending on the |
| # build args declared in this file. This is needed, rarely, for targets that |
| # need to reference libjpeg without explicitly building it. |
| group("jpeg_includes") { |
| if (use_system_libjpeg) { |
| public_configs = [ ":system_libjpeg_config" ] |
| } else if (use_libjpeg_turbo) { |
| public_configs = [ "//third_party/libjpeg_turbo:libjpeg_config" ] |
| } else { |
| public_configs = [ "//third_party/libjpeg:libjpeg_config" ] |
| } |
| } |
| |
| # FreeType and HarfBuzz libraries are dependent on each other. This component |
| # will depend on the appropriate source sets or export the system packages |
| # for both FreeType and HarfBuzz. |
| component("freetype_harfbuzz") { |
| public_configs = [] |
| public_deps = [] |
| if (use_system_freetype) { |
| public_configs += [ "//build/linux:freetype_from_pkgconfig" ] |
| } else { |
| public_deps += [ "//third_party/freetype:freetype_source" ] |
| } |
| if (use_system_harfbuzz) { |
| public_configs += [ "//third_party/harfbuzz-ng:harfbuzz_from_pkgconfig" ] |
| } else { |
| public_deps += [ "//third_party/harfbuzz-ng:harfbuzz_source" ] |
| } |
| } |