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