OLD | NEW |
---|---|
(Empty) | |
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 | |
3 # found in the LICENSE file. | |
4 | |
5 # The GYP build supports system harfbuzz for non-official builds when using | |
6 # pangoft2 1.31.0 or greater (which pulls it in). | |
7 # TODO(brettw) we can consider doing this as well, although the benefit is | |
8 # unclear and requires shelling out to a script to check the version. | |
9 # | |
10 # ChromeOS uses an up-to-date system one that we have control over, so we | |
11 # don't want to bloat the binary more by including another copy. | |
12 use_system_harfbuzz = is_chromeos | |
13 | |
14 if (use_system_harfbuzz) { | |
15 import("//build/config/linux/pkg_config.gni") | |
16 pkg_config("harfbuzz_pkgconfig") { | |
17 packages = [ "harfbuzz" ] | |
18 } | |
19 group("harfbuzz-ng") { | |
20 direct_dependent_configs = [ ":harfbuzz_pkgconfig" ] | |
21 } | |
22 | |
23 } else { | |
24 config("harfbuzz-ng_config") { | |
25 include_dirs = [ "src" ] | |
26 } | |
27 | |
28 source_set("harfbuzz-ng") { | |
29 sources = [ | |
30 "src/hb-atomic-private.hh", | |
31 "src/hb-blob.cc", | |
32 "src/hb-blob.h", | |
33 "src/hb-buffer.cc", | |
34 "src/hb-buffer-deserialize-json.hh", | |
35 "src/hb-buffer-deserialize-text.hh", | |
36 "src/hb-buffer.h", | |
37 "src/hb-buffer-private.hh", | |
38 "src/hb-buffer-serialize.cc", | |
39 "src/hb-cache-private.hh", | |
40 "src/hb-common.cc", | |
41 "src/hb-common.h", | |
42 "src/hb-deprecated.h", | |
43 "src/hb-face.cc", | |
44 "src/hb-face.h", | |
45 "src/hb-face-private.hh", | |
46 "src/hb-fallback-shape.cc", | |
47 "src/hb-font.cc", | |
48 "src/hb-font.h", | |
49 "src/hb-font-private.hh", | |
50 "src/hb.h", | |
51 "src/hb-icu.cc", | |
52 "src/hb-icu.h", | |
53 "src/hb-mutex-private.hh", | |
54 "src/hb-object-private.hh", | |
55 "src/hb-open-file-private.hh", | |
56 "src/hb-open-type-private.hh", | |
57 "src/hb-ot.h", | |
58 "src/hb-ot-head-table.hh", | |
59 "src/hb-ot-hhea-table.hh", | |
60 "src/hb-ot-hmtx-table.hh", | |
61 "src/hb-ot-layout.cc", | |
62 "src/hb-ot-layout-common-private.hh", | |
63 "src/hb-ot-layout-gdef-table.hh", | |
64 "src/hb-ot-layout-gpos-table.hh", | |
65 "src/hb-ot-layout-gsubgpos-private.hh", | |
66 "src/hb-ot-layout-gsub-table.hh", | |
67 "src/hb-ot-layout.h", | |
68 "src/hb-ot-layout-private.hh", | |
69 "src/hb-ot-map.cc", | |
70 "src/hb-ot-map-private.hh", | |
71 "src/hb-ot-maxp-table.hh", | |
72 "src/hb-ot-name-table.hh", | |
73 "src/hb-ot-shape.cc", | |
74 "src/hb-ot-shape-complex-arabic.cc", | |
75 "src/hb-ot-shape-complex-arabic-fallback.hh", | |
76 "src/hb-ot-shape-complex-arabic-table.hh", | |
77 "src/hb-ot-shape-complex-default.cc", | |
78 "src/hb-ot-shape-complex-hangul.cc", | |
79 "src/hb-ot-shape-complex-hebrew.cc", | |
80 "src/hb-ot-shape-complex-indic.cc", | |
81 "src/hb-ot-shape-complex-indic-machine.hh", | |
82 "src/hb-ot-shape-complex-indic-private.hh", | |
83 "src/hb-ot-shape-complex-indic-table.cc", | |
84 "src/hb-ot-shape-complex-myanmar.cc", | |
85 "src/hb-ot-shape-complex-myanmar-machine.hh", | |
86 "src/hb-ot-shape-complex-private.hh", | |
87 "src/hb-ot-shape-complex-sea.cc", | |
88 "src/hb-ot-shape-complex-sea-machine.hh", | |
89 "src/hb-ot-shape-complex-thai.cc", | |
90 "src/hb-ot-shape-complex-tibetan.cc", | |
91 "src/hb-ot-shape-fallback.cc", | |
92 "src/hb-ot-shape-fallback-private.hh", | |
93 "src/hb-ot-shape.h", | |
94 "src/hb-ot-shape-normalize.cc", | |
95 "src/hb-ot-shape-normalize-private.hh", | |
96 "src/hb-ot-shape-private.hh", | |
97 "src/hb-ot-tag.cc", | |
98 "src/hb-ot-tag.h", | |
99 "src/hb-private.hh", | |
100 "src/hb-set.cc", | |
101 "src/hb-set.h", | |
102 "src/hb-set-private.hh", | |
103 "src/hb-shape.cc", | |
104 "src/hb-shape.h", | |
105 "src/hb-shape-plan.cc", | |
106 "src/hb-shape-plan.h", | |
107 "src/hb-shape-plan-private.hh", | |
108 "src/hb-shaper.cc", | |
109 "src/hb-shaper-impl-private.hh", | |
110 "src/hb-shaper-list.hh", | |
111 "src/hb-shaper-private.hh", | |
112 "src/hb-unicode.cc", | |
113 "src/hb-unicode.h", | |
114 "src/hb-unicode-private.hh", | |
115 "src/hb-utf-private.hh", | |
116 "src/hb-version.h", | |
117 "src/hb-warning.cc", | |
118 ] | |
119 | |
120 defines = [ | |
121 "HAVE_OT", | |
122 "HAVE_ICU", | |
123 "HAVE_ICU_BUILTIN", | |
124 "HB_NO_MT", | |
125 ] | |
126 | |
127 configs -= [ "//build/config/compiler:chromium_code" ] | |
128 configs += [ "//build/config/compiler:no_chromium_code" ] | |
129 direct_dependent_configs = [ ":harfbuzz-ng_config" ] | |
130 | |
131 deps = [ | |
132 "//third_party/icu:icuuc", | |
133 ] | |
134 | |
135 if (is_clang) { | |
136 cflags = [ "-Wno-unused-value" ] | |
137 } | |
138 if (is_win) { | |
139 cflags = [ | |
scottmg
2014/05/20 22:21:55
this will be an error when is_clang && is_win, rig
brettw
2014/05/20 23:10:16
GN will detect this and throw an error. If you wan
| |
140 "/wd4267", # size_t to 'type' converion. | |
141 "/wd4334", # Result of 32-bit shift implicitly converted to 64 bits. | |
142 ] | |
143 } | |
144 if (is_mac) { | |
145 sources += [ | |
146 "src/hb-coretext.cc", | |
147 "src/hb-coretext.h", | |
148 ] | |
149 defines += [ "HAVE_CORETEXT" ] | |
150 } | |
151 } | |
152 } | |
OLD | NEW |