OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 { | 5 { |
6 'includes': [ | 6 'includes': [ |
7 '../../build/win_precompile.gypi', | 7 '../../build/win_precompile.gypi', |
8 ], | 8 ], |
9 'variables': { | 9 'targets': [ |
10 'variables': { | 10 { |
| 11 'target_name': 'harfbuzz-ng', |
| 12 'type': 'static_library', |
| 13 'defines': [ |
| 14 'HAVE_OT', |
| 15 'HAVE_ICU', |
| 16 'HAVE_ICU_BUILTIN', |
| 17 'HB_NO_MT', |
| 18 ], |
| 19 'sources': [ |
| 20 'src/hb-atomic-private.hh', |
| 21 'src/hb-blob.cc', |
| 22 'src/hb-blob.h', |
| 23 'src/hb-buffer.cc', |
| 24 'src/hb-buffer-deserialize-json.hh', |
| 25 'src/hb-buffer-deserialize-text.hh', |
| 26 'src/hb-buffer.h', |
| 27 'src/hb-buffer-private.hh', |
| 28 'src/hb-buffer-serialize.cc', |
| 29 'src/hb-cache-private.hh', |
| 30 'src/hb-common.cc', |
| 31 'src/hb-common.h', |
| 32 'src/hb-deprecated.h', |
| 33 'src/hb-face.cc', |
| 34 'src/hb-face.h', |
| 35 'src/hb-face-private.hh', |
| 36 'src/hb-fallback-shape.cc', |
| 37 'src/hb-font.cc', |
| 38 'src/hb-font.h', |
| 39 'src/hb-font-private.hh', |
| 40 'src/hb.h', |
| 41 'src/hb-icu.cc', |
| 42 'src/hb-icu.h', |
| 43 'src/hb-mutex-private.hh', |
| 44 'src/hb-object-private.hh', |
| 45 'src/hb-open-file-private.hh', |
| 46 'src/hb-open-type-private.hh', |
| 47 'src/hb-ot.h', |
| 48 'src/hb-ot-head-table.hh', |
| 49 'src/hb-ot-hhea-table.hh', |
| 50 'src/hb-ot-hmtx-table.hh', |
| 51 'src/hb-ot-layout.cc', |
| 52 'src/hb-ot-layout-common-private.hh', |
| 53 'src/hb-ot-layout-gdef-table.hh', |
| 54 'src/hb-ot-layout-gpos-table.hh', |
| 55 'src/hb-ot-layout-gsubgpos-private.hh', |
| 56 'src/hb-ot-layout-gsub-table.hh', |
| 57 'src/hb-ot-layout.h', |
| 58 'src/hb-ot-layout-private.hh', |
| 59 'src/hb-ot-map.cc', |
| 60 'src/hb-ot-map-private.hh', |
| 61 'src/hb-ot-maxp-table.hh', |
| 62 'src/hb-ot-name-table.hh', |
| 63 'src/hb-ot-shape.cc', |
| 64 'src/hb-ot-shape-complex-arabic.cc', |
| 65 'src/hb-ot-shape-complex-arabic-fallback.hh', |
| 66 'src/hb-ot-shape-complex-arabic-table.hh', |
| 67 'src/hb-ot-shape-complex-default.cc', |
| 68 'src/hb-ot-shape-complex-hangul.cc', |
| 69 'src/hb-ot-shape-complex-hebrew.cc', |
| 70 'src/hb-ot-shape-complex-indic.cc', |
| 71 'src/hb-ot-shape-complex-indic-machine.hh', |
| 72 'src/hb-ot-shape-complex-indic-private.hh', |
| 73 'src/hb-ot-shape-complex-indic-table.cc', |
| 74 'src/hb-ot-shape-complex-myanmar.cc', |
| 75 'src/hb-ot-shape-complex-myanmar-machine.hh', |
| 76 'src/hb-ot-shape-complex-private.hh', |
| 77 'src/hb-ot-shape-complex-sea.cc', |
| 78 'src/hb-ot-shape-complex-sea-machine.hh', |
| 79 'src/hb-ot-shape-complex-thai.cc', |
| 80 'src/hb-ot-shape-complex-tibetan.cc', |
| 81 'src/hb-ot-shape-fallback.cc', |
| 82 'src/hb-ot-shape-fallback-private.hh', |
| 83 'src/hb-ot-shape.h', |
| 84 'src/hb-ot-shape-normalize.cc', |
| 85 'src/hb-ot-shape-normalize-private.hh', |
| 86 'src/hb-ot-shape-private.hh', |
| 87 'src/hb-ot-tag.cc', |
| 88 'src/hb-ot-tag.h', |
| 89 'src/hb-private.hh', |
| 90 'src/hb-set.cc', |
| 91 'src/hb-set.h', |
| 92 'src/hb-set-private.hh', |
| 93 'src/hb-shape.cc', |
| 94 'src/hb-shape.h', |
| 95 'src/hb-shape-plan.cc', |
| 96 'src/hb-shape-plan.h', |
| 97 'src/hb-shape-plan-private.hh', |
| 98 'src/hb-shaper.cc', |
| 99 'src/hb-shaper-impl-private.hh', |
| 100 'src/hb-shaper-list.hh', |
| 101 'src/hb-shaper-private.hh', |
| 102 'src/hb-unicode.cc', |
| 103 'src/hb-unicode.h', |
| 104 'src/hb-unicode-private.hh', |
| 105 'src/hb-utf-private.hh', |
| 106 'src/hb-version.h', |
| 107 'src/hb-warning.cc', |
| 108 ], |
| 109 'include_dirs': [ |
| 110 'src', |
| 111 ], |
| 112 'direct_dependent_settings': { |
| 113 'include_dirs': [ |
| 114 'src', |
| 115 ], |
| 116 }, |
| 117 'dependencies': [ |
| 118 '../../third_party/icu/icu.gyp:icuuc', |
| 119 ], |
11 'conditions': [ | 120 'conditions': [ |
12 ['sysroot!=""', { | 121 ['clang==1', { |
13 'pkg-config': '<(chroot_cmd) ../../build/linux/pkg-config-wrapper "<(s
ysroot)" "<(target_arch)"', | 122 'xcode_settings': { |
14 }, { | 123 'WARNING_CFLAGS': [ |
15 'pkg-config': 'pkg-config' | 124 '-Wno-unused-value', |
| 125 ], |
| 126 }, |
| 127 'cflags': [ |
| 128 '-Wno-unused-value', |
| 129 ] |
| 130 }], |
| 131 ['OS=="win"', { |
| 132 # TODO(eae): C4267 on amd64. size_t -> int, size_t -> unsigned int |
| 133 'msvs_disabled_warnings': [4267, 4334], |
| 134 }], |
| 135 ['OS=="mac"', { |
| 136 'defines': [ |
| 137 'HAVE_CORETEXT', |
| 138 ], |
| 139 'sources': [ |
| 140 'src/hb-coretext.cc', |
| 141 'src/hb-coretext.h', |
| 142 ], |
16 }], | 143 }], |
17 ], | 144 ], |
18 }, | 145 }, |
19 | |
20 'pkg-config': '<(pkg-config)', | |
21 | |
22 'conditions': [ | |
23 ['OS=="linux" and (buildtype!="Official" or chromeos==1)', { | |
24 # Since version 1.31.0, pangoft2 which we depend on pulls in harfbuzz | |
25 # anyways. However, we want to have control of the version of harfbuzz | |
26 # we use, so don't use system harfbuzz for official builds unless we're | |
27 # building chromeos in which case we have the system harfbuzz under | |
28 # control as well. | |
29 'use_system_harfbuzz': '<!(python ../../build/check_return_value.py <(pk
g-config) --atleast-version=1.31.0 pangoft2)', | |
30 }, { | |
31 'use_system_harfbuzz': 0, | |
32 }], | |
33 ], | |
34 }, | |
35 'conditions': [ | |
36 ['use_system_harfbuzz==0', { | |
37 'targets': [ | |
38 { | |
39 'target_name': 'harfbuzz-ng', | |
40 'type': 'static_library', | |
41 'defines': [ | |
42 'HAVE_OT', | |
43 'HAVE_ICU', | |
44 'HAVE_ICU_BUILTIN', | |
45 'HB_NO_MT', | |
46 ], | |
47 'sources': [ | |
48 'src/hb-atomic-private.hh', | |
49 'src/hb-blob.cc', | |
50 'src/hb-blob.h', | |
51 'src/hb-buffer.cc', | |
52 'src/hb-buffer-deserialize-json.hh', | |
53 'src/hb-buffer-deserialize-text.hh', | |
54 'src/hb-buffer.h', | |
55 'src/hb-buffer-private.hh', | |
56 'src/hb-buffer-serialize.cc', | |
57 'src/hb-cache-private.hh', | |
58 'src/hb-common.cc', | |
59 'src/hb-common.h', | |
60 'src/hb-deprecated.h', | |
61 'src/hb-face.cc', | |
62 'src/hb-face.h', | |
63 'src/hb-face-private.hh', | |
64 'src/hb-fallback-shape.cc', | |
65 'src/hb-font.cc', | |
66 'src/hb-font.h', | |
67 'src/hb-font-private.hh', | |
68 'src/hb.h', | |
69 'src/hb-icu.cc', | |
70 'src/hb-icu.h', | |
71 'src/hb-mutex-private.hh', | |
72 'src/hb-object-private.hh', | |
73 'src/hb-open-file-private.hh', | |
74 'src/hb-open-type-private.hh', | |
75 'src/hb-ot.h', | |
76 'src/hb-ot-head-table.hh', | |
77 'src/hb-ot-hhea-table.hh', | |
78 'src/hb-ot-hmtx-table.hh', | |
79 'src/hb-ot-layout.cc', | |
80 'src/hb-ot-layout-common-private.hh', | |
81 'src/hb-ot-layout-gdef-table.hh', | |
82 'src/hb-ot-layout-gpos-table.hh', | |
83 'src/hb-ot-layout-gsubgpos-private.hh', | |
84 'src/hb-ot-layout-gsub-table.hh', | |
85 'src/hb-ot-layout.h', | |
86 'src/hb-ot-layout-private.hh', | |
87 'src/hb-ot-map.cc', | |
88 'src/hb-ot-map-private.hh', | |
89 'src/hb-ot-maxp-table.hh', | |
90 'src/hb-ot-name-table.hh', | |
91 'src/hb-ot-shape.cc', | |
92 'src/hb-ot-shape-complex-arabic.cc', | |
93 'src/hb-ot-shape-complex-arabic-fallback.hh', | |
94 'src/hb-ot-shape-complex-arabic-table.hh', | |
95 'src/hb-ot-shape-complex-default.cc', | |
96 'src/hb-ot-shape-complex-hangul.cc', | |
97 'src/hb-ot-shape-complex-hebrew.cc', | |
98 'src/hb-ot-shape-complex-indic.cc', | |
99 'src/hb-ot-shape-complex-indic-machine.hh', | |
100 'src/hb-ot-shape-complex-indic-private.hh', | |
101 'src/hb-ot-shape-complex-indic-table.cc', | |
102 'src/hb-ot-shape-complex-myanmar.cc', | |
103 'src/hb-ot-shape-complex-myanmar-machine.hh', | |
104 'src/hb-ot-shape-complex-private.hh', | |
105 'src/hb-ot-shape-complex-sea.cc', | |
106 'src/hb-ot-shape-complex-sea-machine.hh', | |
107 'src/hb-ot-shape-complex-thai.cc', | |
108 'src/hb-ot-shape-complex-tibetan.cc', | |
109 'src/hb-ot-shape-fallback.cc', | |
110 'src/hb-ot-shape-fallback-private.hh', | |
111 'src/hb-ot-shape.h', | |
112 'src/hb-ot-shape-normalize.cc', | |
113 'src/hb-ot-shape-normalize-private.hh', | |
114 'src/hb-ot-shape-private.hh', | |
115 'src/hb-ot-tag.cc', | |
116 'src/hb-ot-tag.h', | |
117 'src/hb-private.hh', | |
118 'src/hb-set.cc', | |
119 'src/hb-set.h', | |
120 'src/hb-set-private.hh', | |
121 'src/hb-shape.cc', | |
122 'src/hb-shape.h', | |
123 'src/hb-shape-plan.cc', | |
124 'src/hb-shape-plan.h', | |
125 'src/hb-shape-plan-private.hh', | |
126 'src/hb-shaper.cc', | |
127 'src/hb-shaper-impl-private.hh', | |
128 'src/hb-shaper-list.hh', | |
129 'src/hb-shaper-private.hh', | |
130 'src/hb-unicode.cc', | |
131 'src/hb-unicode.h', | |
132 'src/hb-unicode-private.hh', | |
133 'src/hb-utf-private.hh', | |
134 'src/hb-version.h', | |
135 'src/hb-warning.cc', | |
136 ], | |
137 'include_dirs': [ | |
138 'src', | |
139 ], | |
140 'direct_dependent_settings': { | |
141 'include_dirs': [ | |
142 'src', | |
143 ], | |
144 }, | |
145 'dependencies': [ | |
146 '../../third_party/icu/icu.gyp:icuuc', | |
147 ], | |
148 'conditions': [ | |
149 ['clang==1', { | |
150 'xcode_settings': { | |
151 'WARNING_CFLAGS': [ | |
152 '-Wno-unused-value', | |
153 ], | |
154 }, | |
155 'cflags': [ | |
156 '-Wno-unused-value', | |
157 ] | |
158 }], | |
159 ['OS=="win"', { | |
160 # TODO(eae): C4267 on amd64. size_t -> int, size_t -> unsigned int | |
161 'msvs_disabled_warnings': [4267, 4334], | |
162 }], | |
163 ['OS=="mac"', { | |
164 'defines': [ | |
165 'HAVE_CORETEXT', | |
166 ], | |
167 'sources': [ | |
168 'src/hb-coretext.cc', | |
169 'src/hb-coretext.h', | |
170 ], | |
171 }], | |
172 ], | |
173 }, | |
174 ], | |
175 }, { # use_system_harfbuzz==1 | |
176 'variables': { | |
177 # Check for presence of harfbuzz-icu library, use it if present. | |
178 'harfbuzz_libraries': | |
179 '<!(python <(DEPTH)/tools/compile_test/compile_test.py ' | |
180 '--code "int main() { return 0; }" ' | |
181 '--run-linker ' | |
182 '--on-success "harfbuzz harfbuzz-icu" ' | |
183 '--on-failure "harfbuzz" ' | |
184 '-- -lharfbuzz-icu)', | |
185 }, | |
186 'targets': [ | |
187 { | |
188 'target_name': 'harfbuzz-ng', | |
189 'type': 'none', | |
190 'cflags': [ | |
191 '<!@(<(pkg-config) --cflags <(harfbuzz_libraries))', | |
192 ], | |
193 'direct_dependent_settings': { | |
194 'cflags': [ | |
195 '<!@(<(pkg-config) --cflags <(harfbuzz_libraries))', | |
196 ], | |
197 }, | |
198 'link_settings': { | |
199 'ldflags': [ | |
200 '<!@(<(pkg-config) --libs-only-L --libs-only-other <(harfbuzz_libr
aries))', | |
201 ], | |
202 'libraries': [ | |
203 '<!@(<(pkg-config) --libs-only-l <(harfbuzz_libraries))', | |
204 ], | |
205 }, | |
206 }, | |
207 ], | |
208 }], | |
209 ], | 146 ], |
210 } | 147 } |
OLD | NEW |