Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Copyright 2015 The Chromium Authors. All rights reserved. | 1 # Copyright 2015 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/linux/pkg_config.gni") | 5 import("//build/config/linux/pkg_config.gni") |
| 6 | 6 |
| 7 assert(is_linux, "This file should only be referenced on Linux") | 7 assert(is_linux, "This file should only be referenced on Linux") |
| 8 | 8 |
| 9 # Depend on //build/config/linux/gtk2 to use GTKv2. | 9 # Depend on //build/config/linux/gtk2 to use GTKv2. Depend on |
| 10 # //build/config/linux/gtk to get GTK 2 or 3 depending on the build flags. | |
| 10 # | 11 # |
| 11 # GN doesn't check visibility for configs so we give this an obviously internal | 12 # GN doesn't check visibility for configs so we give this an obviously internal |
| 12 # name to discourage random targets from accidentally depending on this and | 13 # name to discourage random targets from accidentally depending on this and |
| 13 # bypassing the GTK target's visibility. | 14 # bypassing the GTK target's visibility. |
| 14 pkg_config("gtk2_internal_config") { | 15 pkg_config("gtk2_internal_config") { |
| 15 # Gtk requires gmodule, but it does not list it as a dependency in some | 16 # Gtk requires gmodule, but it does not list it as a dependency in some |
| 16 # misconfigured systems. | 17 # misconfigured systems. |
| 17 packages = [ | 18 packages = [ |
| 18 "gmodule-2.0", | 19 "gmodule-2.0", |
| 19 "gtk+-2.0", | 20 "gtk+-2.0", |
| 20 "gthread-2.0", | 21 "gthread-2.0", |
| 21 ] | 22 ] |
| 22 } | 23 } |
| 23 | 24 |
| 24 # Basically no parts of Chrome should depend on GTK. To prevent accidents, the | 25 # Basically no parts of Chrome should depend on GTK. To prevent accidents, the |
| 25 # parts that explicitly need GTK are whitelisted on this target. | 26 # parts that explicitly need GTK2 are whitelisted on this target. |
| 26 group("gtk2") { | 27 group("gtk2") { |
| 27 visibility = [ | 28 visibility = [ |
| 28 "//chrome/browser/ui/libgtkui:libgtk2ui", | 29 "//build/config/linux/gtk", |
| 29 "//gpu/gles2_conform_support:gles2_conform_test_windowless", | 30 "//chrome/browser/ui/libgtkui:*", |
|
Corentin Wallez
2016/11/21 21:52:52
This causes a generate_build_files failure on the
| |
| 30 "//remoting/host", | |
| 31 "//remoting/host/it2me:common", | |
| 32 "//remoting/host/it2me:remote_assistance_host", | |
| 33 "//remoting/host:remoting_me2me_host_static", | |
| 34 "//remoting/test:it2me_standalone_host_main", | |
| 35 ] | 31 ] |
| 36 public_configs = [ ":gtk2_internal_config" ] | 32 public_configs = [ ":gtk2_internal_config" ] |
| 37 } | 33 } |
| 38 | 34 |
| 39 # Depend on "gtkprint" to get this. | 35 # Depend on "gtkprint" to get this. |
| 40 pkg_config("gtkprint2_internal_config") { | 36 pkg_config("gtkprint2_internal_config") { |
| 41 packages = [ "gtk+-unix-print-2.0" ] | 37 packages = [ "gtk+-unix-print-2.0" ] |
| 42 } | 38 } |
| 43 | 39 |
| 44 group("gtkprint2") { | 40 group("gtkprint2") { |
| 45 visibility = [ "//chrome/browser/ui/libgtkui:libgtk2ui" ] | 41 visibility = [ "//chrome/browser/ui/libgtkui:libgtk2ui" ] |
| 46 public_configs = [ ":gtkprint2_internal_config" ] | 42 public_configs = [ ":gtkprint2_internal_config" ] |
| 47 } | 43 } |
| OLD | NEW |