• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2016 Google Inc.
2#
3# Use of this source code is governed by a BSD-style license that can be
4# found in the LICENSE file.
5
6import("../../gn/skia.gni")
7import("../third_party.gni")
8
9declare_args() {
10  skia_use_system_harfbuzz = is_official_build
11}
12
13if (skia_use_system_harfbuzz) {
14  system("harfbuzz") {
15    include_dirs = [ "/usr/include/harfbuzz" ]
16    libs = [ "harfbuzz" ]
17  }
18} else {
19  third_party("harfbuzz") {
20    _src = "../externals/harfbuzz/src"
21    public_include_dirs = [
22      ".",
23      _src,
24    ]
25    defines = [
26      "HAVE_ICU",
27      "HAVE_ICU_BUILTIN",
28      "HAVE_INTEL_ATOMIC_PRIMITIVES",
29      "HAVE_OT",
30    ]
31    deps = [
32      "//third_party/icu",
33    ]
34    public = [
35      "$_src/hb-blob.h",
36      "$_src/hb-buffer.h",
37      "$_src/hb-common.h",
38      "$_src/hb-deprecated.h",
39      "$_src/hb-face.h",
40      "$_src/hb-font.h",
41      "$_src/hb-icu.h",
42      "$_src/hb-map.h",
43      "$_src/hb-ot-font.h",
44      "$_src/hb-ot-layout.h",
45      "$_src/hb-ot-math.h",
46      "$_src/hb-ot-shape.h",
47      "$_src/hb-ot-var.h",
48      "$_src/hb-ot.h",
49      "$_src/hb-set.h",
50      "$_src/hb-shape-plan.h",
51      "$_src/hb-shape.h",
52      "$_src/hb-subset.h",
53      "$_src/hb-unicode.h",
54      "$_src/hb-version.h",
55      "$_src/hb.h",
56    ]
57    sources = [
58      "$_src/hb-aat-fdsc-table.hh",
59      "$_src/hb-aat-layout-ankr-table.hh",
60      "$_src/hb-aat-layout-bsln-table.hh",
61      "$_src/hb-aat-layout-common.hh",
62      "$_src/hb-aat-layout-feat-table.hh",
63      "$_src/hb-aat-layout-just-table.hh",
64      "$_src/hb-aat-layout-kerx-table.hh",
65      "$_src/hb-aat-layout-lcar-table.hh",
66      "$_src/hb-aat-layout-morx-table.hh",
67      "$_src/hb-aat-layout-opbd-table.hh",
68      "$_src/hb-aat-layout-trak-table.hh",
69      "$_src/hb-aat-layout.cc",
70      "$_src/hb-aat-layout.hh",
71      "$_src/hb-aat-ltag-table.hh",
72      "$_src/hb-aat-map.cc",
73      "$_src/hb-aat-map.hh",
74      "$_src/hb-algs.hh",
75      "$_src/hb-array.hh",
76      "$_src/hb-atomic.hh",
77      "$_src/hb-bimap.hh",
78      "$_src/hb-blob.cc",
79      "$_src/hb-blob.hh",
80      "$_src/hb-buffer-deserialize-json.hh",
81      "$_src/hb-buffer-deserialize-text.hh",
82      "$_src/hb-buffer-serialize.cc",
83      "$_src/hb-buffer.cc",
84      "$_src/hb-buffer.hh",
85      "$_src/hb-cache.hh",
86      "$_src/hb-cff-interp-common.hh",
87      "$_src/hb-cff-interp-cs-common.hh",
88      "$_src/hb-cff-interp-dict-common.hh",
89      "$_src/hb-cff1-interp-cs.hh",
90      "$_src/hb-cff2-interp-cs.hh",
91      "$_src/hb-common.cc",
92      "$_src/hb-config.hh",
93      "$_src/hb-coretext.cc",
94      "$_src/hb-debug.hh",
95      "$_src/hb-directwrite.cc",
96      "$_src/hb-dispatch.hh",
97      "$_src/hb-face.cc",
98      "$_src/hb-face.hh",
99      "$_src/hb-fallback-shape.cc",
100      "$_src/hb-font.cc",
101      "$_src/hb-font.hh",
102      "$_src/hb-ft.cc",
103      "$_src/hb-gdi.cc",
104      "$_src/hb-glib.cc",
105      "$_src/hb-gobject-structs.cc",
106      "$_src/hb-graphite2.cc",
107      "$_src/hb-icu.cc",
108      "$_src/hb-iter.hh",
109      "$_src/hb-kern.hh",
110      "$_src/hb-machinery.hh",
111      "$_src/hb-map.cc",
112      "$_src/hb-map.hh",
113      "$_src/hb-meta.hh",
114      "$_src/hb-mutex.hh",
115      "$_src/hb-null.hh",
116      "$_src/hb-number-parser.hh",
117      "$_src/hb-number.cc",
118      "$_src/hb-number.hh",
119      "$_src/hb-object.hh",
120      "$_src/hb-open-file.hh",
121      "$_src/hb-open-type.hh",
122      "$_src/hb-ot-cff-common.hh",
123      "$_src/hb-ot-cff1-table.cc",
124      "$_src/hb-ot-cff1-table.hh",
125      "$_src/hb-ot-cff2-table.cc",
126      "$_src/hb-ot-cff2-table.hh",
127      "$_src/hb-ot-cmap-table.hh",
128      "$_src/hb-ot-color-cbdt-table.hh",
129      "$_src/hb-ot-color-colr-table.hh",
130      "$_src/hb-ot-color-cpal-table.hh",
131      "$_src/hb-ot-color-sbix-table.hh",
132      "$_src/hb-ot-color-svg-table.hh",
133      "$_src/hb-ot-color.cc",
134      "$_src/hb-ot-face-table-list.hh",
135      "$_src/hb-ot-face.cc",
136      "$_src/hb-ot-face.hh",
137      "$_src/hb-ot-font.cc",
138      "$_src/hb-ot-gasp-table.hh",
139      "$_src/hb-ot-glyf-table.hh",
140      "$_src/hb-ot-hdmx-table.hh",
141      "$_src/hb-ot-head-table.hh",
142      "$_src/hb-ot-hhea-table.hh",
143      "$_src/hb-ot-hmtx-table.hh",
144      "$_src/hb-ot-kern-table.hh",
145      "$_src/hb-ot-layout-base-table.hh",
146      "$_src/hb-ot-layout-common.hh",
147      "$_src/hb-ot-layout-gdef-table.hh",
148      "$_src/hb-ot-layout-gpos-table.hh",
149      "$_src/hb-ot-layout-gsub-table.hh",
150      "$_src/hb-ot-layout-gsubgpos.hh",
151      "$_src/hb-ot-layout-jstf-table.hh",
152      "$_src/hb-ot-layout.cc",
153      "$_src/hb-ot-layout.hh",
154      "$_src/hb-ot-map.cc",
155      "$_src/hb-ot-map.hh",
156      "$_src/hb-ot-math-table.hh",
157      "$_src/hb-ot-math.cc",
158      "$_src/hb-ot-maxp-table.hh",
159      "$_src/hb-ot-meta-table.hh",
160      "$_src/hb-ot-meta.cc",
161      "$_src/hb-ot-metrics.cc",
162      "$_src/hb-ot-metrics.hh",
163      "$_src/hb-ot-name-language-static.hh",
164      "$_src/hb-ot-name-language.hh",
165      "$_src/hb-ot-name-table.hh",
166      "$_src/hb-ot-name.cc",
167      "$_src/hb-ot-os2-table.hh",
168      "$_src/hb-ot-os2-unicode-ranges.hh",
169      "$_src/hb-ot-post-macroman.hh",
170      "$_src/hb-ot-post-table.hh",
171      "$_src/hb-ot-shape-complex-arabic-fallback.hh",
172      "$_src/hb-ot-shape-complex-arabic-table.hh",
173      "$_src/hb-ot-shape-complex-arabic-win1256.hh",
174      "$_src/hb-ot-shape-complex-arabic.cc",
175      "$_src/hb-ot-shape-complex-arabic.hh",
176      "$_src/hb-ot-shape-complex-default.cc",
177      "$_src/hb-ot-shape-complex-hangul.cc",
178      "$_src/hb-ot-shape-complex-hebrew.cc",
179      "$_src/hb-ot-shape-complex-indic-machine.hh",
180      "$_src/hb-ot-shape-complex-indic-table.cc",
181      "$_src/hb-ot-shape-complex-indic.cc",
182      "$_src/hb-ot-shape-complex-indic.hh",
183      "$_src/hb-ot-shape-complex-khmer-machine.hh",
184      "$_src/hb-ot-shape-complex-khmer.cc",
185      "$_src/hb-ot-shape-complex-khmer.hh",
186      "$_src/hb-ot-shape-complex-myanmar-machine.hh",
187      "$_src/hb-ot-shape-complex-myanmar.cc",
188      "$_src/hb-ot-shape-complex-myanmar.hh",
189      "$_src/hb-ot-shape-complex-thai.cc",
190      "$_src/hb-ot-shape-complex-use-machine.hh",
191      "$_src/hb-ot-shape-complex-use-table.cc",
192      "$_src/hb-ot-shape-complex-use.cc",
193      "$_src/hb-ot-shape-complex-use.hh",
194      "$_src/hb-ot-shape-complex-vowel-constraints.cc",
195      "$_src/hb-ot-shape-complex-vowel-constraints.hh",
196      "$_src/hb-ot-shape-complex.hh",
197      "$_src/hb-ot-shape-fallback.cc",
198      "$_src/hb-ot-shape-fallback.hh",
199      "$_src/hb-ot-shape-normalize.cc",
200      "$_src/hb-ot-shape-normalize.hh",
201      "$_src/hb-ot-shape.cc",
202      "$_src/hb-ot-shape.hh",
203      "$_src/hb-ot-stat-table.hh",
204      "$_src/hb-ot-tag-table.hh",
205      "$_src/hb-ot-tag.cc",
206      "$_src/hb-ot-var-avar-table.hh",
207      "$_src/hb-ot-var-fvar-table.hh",
208      "$_src/hb-ot-var-gvar-table.hh",
209      "$_src/hb-ot-var-hvar-table.hh",
210      "$_src/hb-ot-var-mvar-table.hh",
211      "$_src/hb-ot-var.cc",
212      "$_src/hb-ot-vorg-table.hh",
213      "$_src/hb-pool.hh",
214      "$_src/hb-sanitize.hh",
215      "$_src/hb-serialize.hh",
216      "$_src/hb-set-digest.hh",
217      "$_src/hb-set.cc",
218      "$_src/hb-set.hh",
219      "$_src/hb-shape-plan.cc",
220      "$_src/hb-shape-plan.hh",
221      "$_src/hb-shape.cc",
222      "$_src/hb-shaper-impl.hh",
223      "$_src/hb-shaper-list.hh",
224      "$_src/hb-shaper.cc",
225      "$_src/hb-shaper.hh",
226      "$_src/hb-static.cc",
227      "$_src/hb-string-array.hh",
228      "$_src/hb-subset-cff-common.cc",
229      "$_src/hb-subset-cff-common.hh",
230      "$_src/hb-subset-cff1.cc",
231      "$_src/hb-subset-cff1.hh",
232      "$_src/hb-subset-cff2.cc",
233      "$_src/hb-subset-cff2.hh",
234      "$_src/hb-subset-input.cc",
235      "$_src/hb-subset-input.hh",
236      "$_src/hb-subset-plan.cc",
237      "$_src/hb-subset-plan.hh",
238      "$_src/hb-subset.cc",
239      "$_src/hb-subset.hh",
240      "$_src/hb-ucd-table.hh",
241      "$_src/hb-ucd.cc",
242      "$_src/hb-unicode-emoji-table.hh",
243      "$_src/hb-unicode.cc",
244      "$_src/hb-unicode.hh",
245      "$_src/hb-uniscribe.cc",
246      "$_src/hb-utf.hh",
247      "$_src/hb-vector.hh",
248      "$_src/hb.hh",
249    ]
250  }
251}
252