| # Copyright 2014 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//third_party/fontconfig/fontconfig.gni") |
| |
| assert(is_linux) |
| |
| if (use_bundled_fontconfig) { |
| config("fontconfig_config") { |
| include_dirs = [ "src" ] |
| } |
| |
| component("fontconfig") { |
| sources = [ |
| "src/src/fcarch.h", |
| "src/src/fcatomic.c", |
| "src/src/fccache.c", |
| "src/src/fccfg.c", |
| "src/src/fccharset.c", |
| "src/src/fccompat.c", |
| "src/src/fcdbg.c", |
| "src/src/fcdefault.c", |
| "src/src/fcdir.c", |
| "src/src/fcformat.c", |
| "src/src/fcfreetype.c", |
| "src/src/fcfs.c", |
| "src/src/fchash.c", |
| "src/src/fcinit.c", |
| "src/src/fclang.c", |
| "src/src/fclist.c", |
| "src/src/fcmatch.c", |
| "src/src/fcmatrix.c", |
| "src/src/fcname.c", |
| "src/src/fcobjs.c", |
| "src/src/fcpat.c", |
| "src/src/fcptrlist.c", |
| "src/src/fcrange.c", |
| "src/src/fcserialize.c", |
| "src/src/fcstat.c", |
| "src/src/fcstr.c", |
| "src/src/fcweight.c", |
| "src/src/fcxml.c", |
| "src/src/ftglue.c", |
| "src/src/ftglue.h", |
| ] |
| |
| include_dirs = [ |
| "include", |
| "include/src", |
| ] |
| |
| defines = [ |
| "HAVE_CONFIG_H", |
| "FC_CACHEDIR=\"/var/cache/fontconfig\"", |
| "FC_TEMPLATEDIR=\"/usr/share/fontconfig/conf.avail\"", |
| "FONTCONFIG_PATH=\"/etc/fonts\"", |
| ] |
| |
| # Fontconfig symbols should not be exported from chrome, nacl_helper, or |
| # anything else. |
| if (!is_component_build) { |
| defines += [ |
| "FC_ATTRIBUTE_VISIBILITY_HIDDEN=__attribute((visibility(\"hidden\")))", |
| "FC_ATTRIBUTE_VISIBILITY_EXPORT=__attribute((visibility(\"hidden\")))", |
| ] |
| } |
| |
| deps = [ |
| "//build/config/freetype", |
| "//third_party/libxml", |
| "//third_party/zlib", |
| ] |
| |
| configs -= [ "//build/config/compiler:chromium_code" ] |
| configs += [ "//build/config/compiler:no_chromium_code" ] |
| |
| public_configs = [ ":fontconfig_config" ] |
| |
| if (is_clang) { |
| cflags = [ |
| # Work around a null-conversion warning. See crbug.com/358852. |
| "-Wno-non-literal-null-conversion", |
| |
| # Work around a pointer-to-bool conversion. |
| "-Wno-pointer-bool-conversion", |
| ] |
| } |
| |
| if (!is_win) { |
| libs = [ "uuid" ] |
| } |
| } |
| } else { |
| config("fontconfig_config") { |
| libs = [ "fontconfig" ] |
| } |
| |
| group("fontconfig") { |
| public_configs = [ ":fontconfig_config" ] |
| } |
| } |