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 assert(is_linux, "This file should only be referenced on Linux") | 5 assert(is_linux, "This file should only be referenced on Linux") |
6 | 6 |
7 import("//build/config/features.gni") | 7 import("//build/config/features.gni") |
8 import("//build/config/linux/gtk/gtk.gni") | 8 import("//build/config/linux/gtk/gtk.gni") |
9 import("//printing/features/features.gni") | 9 import("//printing/features/features.gni") |
10 | 10 |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
119 public_deps = [ | 119 public_deps = [ |
120 ":libgtk3ui", | 120 ":libgtk3ui", |
121 ] | 121 ] |
122 } else { | 122 } else { |
123 public_deps = [ | 123 public_deps = [ |
124 ":libgtk2ui", | 124 ":libgtk2ui", |
125 ] | 125 ] |
126 } | 126 } |
127 } | 127 } |
128 | 128 |
| 129 # TODO(thomasanderson): libgtk2ui and libgtk3ui share much of the same code. |
| 130 # Extract the common code into a template. |
129 component("libgtk2ui") { | 131 component("libgtk2ui") { |
130 sources = common_sources + [ | 132 sources = common_sources + [ |
131 "native_theme_gtk2.cc", | 133 "native_theme_gtk2.cc", |
132 "native_theme_gtk2.h", | 134 "native_theme_gtk2.h", |
133 ] | 135 ] |
134 configs += common_configs | 136 configs += common_configs |
135 defines = [ "LIBGTKUI_IMPLEMENTATION" ] | 137 defines = [ "LIBGTKUI_IMPLEMENTATION" ] |
136 | 138 |
137 # GTK2 pulls pangoft2 as dependency, and pangoft2 depends on harfbuzz. | 139 # GTK2 pulls pangoft2 as dependency, and pangoft2 depends on harfbuzz. |
138 # To avoid missing indirectly referenced harfbuzz symbols from pango, | 140 # To avoid missing indirectly referenced harfbuzz symbols from pango, |
(...skipping 14 matching lines...) Expand all Loading... |
153 # This is compiled with "all" even when it's not referenced to ensure that | 155 # This is compiled with "all" even when it's not referenced to ensure that |
154 # GTK3 continues to build. GTK3 is explicitly specified by some distros. | 156 # GTK3 continues to build. GTK3 is explicitly specified by some distros. |
155 component("libgtk3ui") { | 157 component("libgtk3ui") { |
156 sources = common_sources + [ | 158 sources = common_sources + [ |
157 "native_theme_gtk3.cc", | 159 "native_theme_gtk3.cc", |
158 "native_theme_gtk3.h", | 160 "native_theme_gtk3.h", |
159 ] | 161 ] |
160 configs += common_configs | 162 configs += common_configs |
161 defines = [ "LIBGTKUI_IMPLEMENTATION" ] | 163 defines = [ "LIBGTKUI_IMPLEMENTATION" ] |
162 | 164 |
| 165 # GTK3 pulls pangoft2 as dependency, and pangoft2 depends on harfbuzz. |
| 166 # To avoid missing indirectly referenced harfbuzz symbols from pango, |
| 167 # some hack is required when bundled harfbuzz is used and component build is |
| 168 # disabled. |
| 169 # See crbug.com/462689 for details. |
| 170 all_dependent_configs = [ "//third_party/harfbuzz-ng:pangoft2_link_hack" ] |
| 171 |
163 deps = common_deps + [ | 172 deps = common_deps + [ |
164 "//build/config/linux/gtk3", | 173 "//build/config/linux/gtk3", |
165 "//build/config/linux/gtk3:gtkprint3", | 174 "//build/config/linux/gtk3:gtkprint3", |
166 ] | 175 ] |
167 public_deps = [ | 176 public_deps = [ |
168 "//chrome/browser:theme_properties", | 177 "//chrome/browser:theme_properties", |
169 ] | 178 ] |
170 } | 179 } |
OLD | NEW |