• 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 = [ "//third_party/icu" ]
32    public = [
33      "$_src/hb-blob.h",
34      "$_src/hb-buffer.h",
35      "$_src/hb-common.h",
36      "$_src/hb-deprecated.h",
37      "$_src/hb-face.h",
38      "$_src/hb-font.h",
39      "$_src/hb-icu.h",
40      "$_src/hb-map.h",
41      "$_src/hb-ot-font.h",
42      "$_src/hb-ot-layout.h",
43      "$_src/hb-ot-math.h",
44      "$_src/hb-ot-shape.h",
45      "$_src/hb-ot-var.h",
46      "$_src/hb-ot.h",
47      "$_src/hb-set.h",
48      "$_src/hb-shape-plan.h",
49      "$_src/hb-shape.h",
50      "$_src/hb-subset.h",
51      "$_src/hb-unicode.h",
52      "$_src/hb-version.h",
53      "$_src/hb.h",
54    ]
55    sources = [
56      "$_src/hb-aat-fdsc-table.hh",
57      "$_src/hb-aat-layout-ankr-table.hh",
58      "$_src/hb-aat-layout-bsln-table.hh",
59      "$_src/hb-aat-layout-feat-table.hh",
60      "$_src/hb-aat-layout-kerx-table.hh",
61      "$_src/hb-aat-layout-morx-table.hh",
62      "$_src/hb-aat-layout-trak-table.hh",
63      "$_src/hb-aat-layout.cc",
64      "$_src/hb-aat-ltag-table.hh",
65      "$_src/hb-aat-map.cc",
66      "$_src/hb-aat-map.hh",
67      "$_src/hb-algs.hh",
68      "$_src/hb-array.hh",
69      "$_src/hb-atomic.hh",
70      "$_src/hb-blob.cc",
71      "$_src/hb-blob.hh",
72      "$_src/hb-buffer-deserialize-json.hh",
73      "$_src/hb-buffer-deserialize-text.hh",
74      "$_src/hb-buffer-serialize.cc",
75      "$_src/hb-buffer.cc",
76      "$_src/hb-buffer.hh",
77      "$_src/hb-cache.hh",
78      "$_src/hb-cff-interp-common.hh",
79      "$_src/hb-cff-interp-cs-common.hh",
80      "$_src/hb-cff-interp-dict-common.hh",
81      "$_src/hb-cff1-interp-cs.hh",
82      "$_src/hb-cff2-interp-cs.hh",
83      "$_src/hb-common.cc",
84      "$_src/hb-config.hh",
85      "$_src/hb-debug.hh",
86      "$_src/hb-dispatch.hh",
87      "$_src/hb-face.cc",
88      "$_src/hb-face.hh",
89      "$_src/hb-font.cc",
90      "$_src/hb-font.hh",
91      "$_src/hb-icu.cc",
92      "$_src/hb-map.cc",
93      "$_src/hb-map.hh",
94      "$_src/hb-meta.hh",
95      "$_src/hb-mutex.hh",
96      "$_src/hb-object.hh",
97      "$_src/hb-open-file.hh",
98      "$_src/hb-open-type.hh",
99      "$_src/hb-ot-cff-common.hh",
100      "$_src/hb-ot-cff1-table.cc",
101      "$_src/hb-ot-cff1-table.hh",
102      "$_src/hb-ot-cff2-table.cc",
103      "$_src/hb-ot-cff2-table.hh",
104      "$_src/hb-ot-color-cbdt-table.hh",
105      "$_src/hb-ot-color-colr-table.hh",
106      "$_src/hb-ot-color-cpal-table.hh",
107      "$_src/hb-ot-face.cc",
108      "$_src/hb-ot-face.hh",
109      "$_src/hb-ot-font.cc",
110      "$_src/hb-ot-gasp-table.hh",
111      "$_src/hb-ot-hdmx-table.hh",
112      "$_src/hb-ot-head-table.hh",
113      "$_src/hb-ot-hhea-table.hh",
114      "$_src/hb-ot-hmtx-table.hh",
115      "$_src/hb-ot-kern-table.hh",
116      "$_src/hb-ot-layout-base-table.hh",
117      "$_src/hb-ot-layout-common.hh",
118      "$_src/hb-ot-layout-gdef-table.hh",
119      "$_src/hb-ot-layout-gpos-table.hh",
120      "$_src/hb-ot-layout-gsub-table.hh",
121      "$_src/hb-ot-layout-gsubgpos.hh",
122      "$_src/hb-ot-layout.cc",
123      "$_src/hb-ot-layout.hh",
124      "$_src/hb-ot-map.cc",
125      "$_src/hb-ot-map.hh",
126      "$_src/hb-ot-math-table.hh",
127      "$_src/hb-ot-math.cc",
128      "$_src/hb-ot-maxp-table.hh",
129      "$_src/hb-ot-name-language-static.hh",
130      "$_src/hb-ot-name-language.hh",
131      "$_src/hb-ot-name-table.hh",
132      "$_src/hb-ot-name.cc",
133      "$_src/hb-ot-os2-unicode-ranges.hh",
134      "$_src/hb-ot-post-macroman.hh",
135      "$_src/hb-ot-shape-complex-arabic-fallback.hh",
136      "$_src/hb-ot-shape-complex-arabic-table.hh",
137      "$_src/hb-ot-shape-complex-arabic.cc",
138      "$_src/hb-ot-shape-complex-arabic.hh",
139      "$_src/hb-ot-shape-complex-default.cc",
140      "$_src/hb-ot-shape-complex-hangul.cc",
141      "$_src/hb-ot-shape-complex-hebrew.cc",
142      "$_src/hb-ot-shape-complex-indic-machine.hh",
143      "$_src/hb-ot-shape-complex-indic-table.cc",
144      "$_src/hb-ot-shape-complex-indic.cc",
145      "$_src/hb-ot-shape-complex-indic.hh",
146      "$_src/hb-ot-shape-complex-khmer-machine.hh",
147      "$_src/hb-ot-shape-complex-khmer.cc",
148      "$_src/hb-ot-shape-complex-khmer.hh",
149      "$_src/hb-ot-shape-complex-myanmar-machine.hh",
150      "$_src/hb-ot-shape-complex-myanmar.cc",
151      "$_src/hb-ot-shape-complex-myanmar.hh",
152      "$_src/hb-ot-shape-complex-thai.cc",
153      "$_src/hb-ot-shape-complex-use-machine.hh",
154      "$_src/hb-ot-shape-complex-use-table.cc",
155      "$_src/hb-ot-shape-complex-use.cc",
156      "$_src/hb-ot-shape-complex-use.hh",
157      "$_src/hb-ot-shape-complex-vowel-constraints.cc",
158      "$_src/hb-ot-shape-complex-vowel-constraints.hh",
159      "$_src/hb-ot-shape-complex.hh",
160      "$_src/hb-ot-shape-fallback.cc",
161      "$_src/hb-ot-shape-fallback.hh",
162      "$_src/hb-ot-shape-normalize.cc",
163      "$_src/hb-ot-shape-normalize.hh",
164      "$_src/hb-ot-shape.cc",
165      "$_src/hb-ot-shape.hh",
166      "$_src/hb-ot-tag.cc",
167      "$_src/hb-ot-var-avar-table.hh",
168      "$_src/hb-ot-var-fvar-table.hh",
169      "$_src/hb-ot-var-hvar-table.hh",
170      "$_src/hb-ot-var-mvar-table.hh",
171      "$_src/hb-ot-var.cc",
172      "$_src/hb-pool.hh",
173      "$_src/hb-sanitize.hh",
174      "$_src/hb-serialize.hh",
175      "$_src/hb-set-digest.hh",
176      "$_src/hb-set.cc",
177      "$_src/hb-set.hh",
178      "$_src/hb-shape-plan.cc",
179      "$_src/hb-shape-plan.hh",
180      "$_src/hb-shape.cc",
181      "$_src/hb-shaper-impl.hh",
182      "$_src/hb-shaper-list.hh",
183      "$_src/hb-shaper.cc",
184      "$_src/hb-shaper.hh",
185      "$_src/hb-static.cc",
186      "$_src/hb-string-array.hh",
187      "$_src/hb-subset-cff-common.cc",
188      "$_src/hb-subset-cff-common.hh",
189      "$_src/hb-subset-cff1.cc",
190      "$_src/hb-subset-cff2.cc",
191      "$_src/hb-subset-input.cc",
192      "$_src/hb-subset-input.hh",
193      "$_src/hb-subset-plan.cc",
194      "$_src/hb-subset-plan.hh",
195      "$_src/hb-subset.cc",
196      "$_src/hb-subset.hh",
197      "$_src/hb-ucd-table.hh",
198      "$_src/hb-ucd.cc",
199      "$_src/hb-unicode-emoji-table.hh",
200      "$_src/hb-unicode.cc",
201      "$_src/hb-unicode.hh",
202      "$_src/hb-utf.hh",
203      "$_src/hb-warning.cc",
204      "$_src/hb.hh",
205    ]
206  }
207}
208