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