| 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 |