Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 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 import("//build/config/chrome_build.gni") | 5 import("//build/config/chrome_build.gni") |
| 6 import("//build/config/linux/pkg_config.gni") | 6 import("//build/config/linux/pkg_config.gni") |
| 7 import("//build/config/ui.gni") | 7 import("//build/config/ui.gni") |
| 8 | 8 |
| 9 # The GYP build supports system harfbuzz for non-official builds when using | 9 # The GYP build supports system harfbuzz for non-official builds when using |
| 10 # pangoft2 1.31.0 or greater (which pulls it in). | 10 # pangoft2 1.31.0 or greater (which pulls it in). |
| (...skipping 23 matching lines...) Expand all Loading... | |
| 34 packages = [ "harfbuzz" ] | 34 packages = [ "harfbuzz" ] |
| 35 } | 35 } |
| 36 group("harfbuzz-ng") { | 36 group("harfbuzz-ng") { |
| 37 public_configs = [ ":harfbuzz_pkgconfig" ] | 37 public_configs = [ ":harfbuzz_pkgconfig" ] |
| 38 } | 38 } |
| 39 } else { | 39 } else { |
| 40 config("harfbuzz-ng_config") { | 40 config("harfbuzz-ng_config") { |
| 41 include_dirs = [ "src" ] | 41 include_dirs = [ "src" ] |
| 42 } | 42 } |
| 43 | 43 |
| 44 config("harfbuzz_warnings") { | |
| 45 cflags = [] | |
| 46 if (is_clang) { | |
| 47 cflags += [ | |
| 48 "-Wno-unused-value", | |
| 49 | |
| 50 # Harfbuzz uses unused typedefs for its static asserts (and its | |
| 51 # static asserts are strange enough that they can't be replaced | |
| 52 # by static_assert). | |
| 53 "-Wno-unused-local-typedef", | |
| 54 ] | |
| 55 } | |
| 56 if (is_win) { | |
| 57 # Result of 32-bit shift implicitly converted to 64 bits. | |
| 58 cflags += [ "/wd4334" ] | |
| 59 } | |
| 60 } | |
| 61 | |
| 62 # See also chrome/browser/ui/libgtk2ui/BUILD.gn which pulls this. | |
| 63 config("pangoft2_link_hack") { | |
| 64 if (is_linux && use_pango && !is_chromeos && !is_official_build && | |
| 65 current_cpu != "arm" && current_cpu != "mipsel" && | |
| 66 !is_component_build) { | |
| 67 # These symbols are referenced from libpangoft2, which will be | |
| 68 # dynamically linked later. | |
| 69 ldflags = | |
| 70 [ "-Wl,-uhb_ft_face_create_cached,-uhb_glib_get_unicode_funcs" ] | |
| 71 } | |
| 72 } | |
| 73 | |
| 44 static_library("harfbuzz-ng") { | 74 static_library("harfbuzz-ng") { |
| 45 sources = [ | 75 sources = [ |
| 46 "src/hb-atomic-private.hh", | 76 "src/hb-atomic-private.hh", |
| 47 "src/hb-blob.cc", | 77 "src/hb-blob.cc", |
| 48 "src/hb-blob.h", | 78 "src/hb-blob.h", |
| 49 "src/hb-buffer-deserialize-json.hh", | 79 "src/hb-buffer-deserialize-json.hh", |
| 50 "src/hb-buffer-deserialize-text.hh", | 80 "src/hb-buffer-deserialize-text.hh", |
| 51 "src/hb-buffer-private.hh", | 81 "src/hb-buffer-private.hh", |
| 52 "src/hb-buffer-serialize.cc", | 82 "src/hb-buffer-serialize.cc", |
| 53 "src/hb-buffer.cc", | 83 "src/hb-buffer.cc", |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 139 ] | 169 ] |
| 140 | 170 |
| 141 defines = [ | 171 defines = [ |
| 142 "HAVE_OT", | 172 "HAVE_OT", |
| 143 "HAVE_ICU", | 173 "HAVE_ICU", |
| 144 "HAVE_ICU_BUILTIN", | 174 "HAVE_ICU_BUILTIN", |
| 145 "HB_NO_MT", | 175 "HB_NO_MT", |
| 146 ] | 176 ] |
| 147 | 177 |
| 148 configs -= [ "//build/config/compiler:chromium_code" ] | 178 configs -= [ "//build/config/compiler:chromium_code" ] |
| 149 configs += [ "//build/config/compiler:no_chromium_code" ] | 179 configs += [ |
| 150 | 180 ":harfbuzz_warnings", |
|
Nico
2015/09/01 18:27:47
Not lgtm, this breaks things. ":harfbuzz_warnings"
Dirk Pranke
2015/09/01 18:38:38
I'm guessing that if we change this to:
configs -
Nico
2015/09/01 18:42:00
Yes.
(FWIW, the "usually with the assumption that
| |
| 151 config("harfbuzz_warnings") { | 181 "//build/config/compiler:no_chromium_code", |
| 152 cflags = [] | 182 ] |
| 153 if (is_clang) { | |
| 154 cflags += [ | |
| 155 "-Wno-unused-value", | |
| 156 | |
| 157 # Harfbuzz uses unused typedefs for its static asserts (and its | |
| 158 # static asserts are strange enough that they can't be replaced | |
| 159 # by static_assert). | |
| 160 "-Wno-unused-local-typedef", | |
| 161 ] | |
| 162 } | |
| 163 if (is_win) { | |
| 164 cflags += [ "/wd4334" ] # Result of 32-bit shift implicitly converted t o 64 bits. | |
| 165 } | |
| 166 } | |
| 167 configs += [ ":harfbuzz_warnings" ] | |
| 168 | |
| 169 public_configs = [ ":harfbuzz-ng_config" ] | 183 public_configs = [ ":harfbuzz-ng_config" ] |
| 170 | 184 |
| 171 deps = [ | 185 deps = [ |
| 172 "//third_party/icu:icuuc", | 186 "//third_party/icu:icuuc", |
| 173 ] | 187 ] |
| 174 | 188 |
| 175 if (is_mac) { | 189 if (is_mac) { |
| 176 sources += [ | 190 sources += [ |
| 177 "src/hb-coretext.cc", | 191 "src/hb-coretext.cc", |
| 178 "src/hb-coretext.h", | 192 "src/hb-coretext.h", |
| (...skipping 13 matching lines...) Expand all Loading... | |
| 192 "//build/config/linux:glib", | 206 "//build/config/linux:glib", |
| 193 ] | 207 ] |
| 194 sources += [ | 208 sources += [ |
| 195 "src/hb-ft.cc", | 209 "src/hb-ft.cc", |
| 196 "src/hb-ft.h", | 210 "src/hb-ft.h", |
| 197 "src/hb-glib.cc", | 211 "src/hb-glib.cc", |
| 198 "src/hb-glib.h", | 212 "src/hb-glib.h", |
| 199 ] | 213 ] |
| 200 } | 214 } |
| 201 | 215 |
| 202 # See also chrome/browser/ui/libgtk2ui/BUILD.gn which pulls this. | |
| 203 config("pangoft2_link_hack") { | |
| 204 if (is_linux && use_pango && !is_chromeos && !is_official_build && | |
| 205 current_cpu != "arm" && current_cpu != "mipsel" && | |
| 206 !is_component_build) { | |
| 207 # These symbols are referenced from libpangoft2, which will be | |
| 208 # dynamically linked later. | |
| 209 ldflags = | |
| 210 [ "-Wl,-uhb_ft_face_create_cached,-uhb_glib_get_unicode_funcs" ] | |
| 211 } | |
| 212 } | |
| 213 } | 216 } |
| 214 } | 217 } |
| OLD | NEW |