| 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. Depend on | 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 # //build/config/linux/gtk to get GTK 2 or 3 depending on the build flags. |
| 11 # | 11 # |
| 12 # 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 |
| 13 # name to discourage random targets from accidentally depending on this and | 13 # name to discourage random targets from accidentally depending on this and |
| 14 # bypassing the GTK target's visibility. | 14 # bypassing the GTK target's visibility. |
| 15 pkg_config("gtk2_internal_config") { | 15 pkg_config("gtk2_internal_config") { |
| 16 # 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 |
| 17 # misconfigured systems. | 17 # misconfigured systems. |
| 18 packages = [ | 18 packages = [ |
| 19 "gmodule-2.0", | 19 "gmodule-2.0", |
| 20 "gtk+-2.0", | 20 "gtk+-2.0", |
| 21 "gthread-2.0", | 21 "gthread-2.0", |
| 22 ] | 22 ] |
| 23 } | 23 } |
| 24 | 24 |
| 25 # 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 |
| 26 # parts that explicitly need GTK2 are whitelisted on this target. | 26 # parts that explicitly need GTK2 are whitelisted on this target. |
| 27 group("gtk2") { | 27 group("gtk2") { |
| 28 visibility = [ | 28 visibility = [ |
| 29 "//gpu/gles2_conform_support:gles2_conform_test_windowless", |
| 29 "//build/config/linux/gtk", | 30 "//build/config/linux/gtk", |
| 30 "//chrome/browser/ui/libgtkui:*", | 31 "//chrome/browser/ui/libgtkui:*", |
| 31 ] | 32 ] |
| 32 public_configs = [ ":gtk2_internal_config" ] | 33 public_configs = [ ":gtk2_internal_config" ] |
| 33 } | 34 } |
| 34 | 35 |
| 35 # Depend on "gtkprint" to get this. | 36 # Depend on "gtkprint" to get this. |
| 36 pkg_config("gtkprint2_internal_config") { | 37 pkg_config("gtkprint2_internal_config") { |
| 37 packages = [ "gtk+-unix-print-2.0" ] | 38 packages = [ "gtk+-unix-print-2.0" ] |
| 38 } | 39 } |
| 39 | 40 |
| 40 group("gtkprint2") { | 41 group("gtkprint2") { |
| 41 visibility = [ "//chrome/browser/ui/libgtkui:libgtk2ui" ] | 42 visibility = [ "//chrome/browser/ui/libgtkui:libgtk2ui" ] |
| 42 public_configs = [ ":gtkprint2_internal_config" ] | 43 public_configs = [ ":gtkprint2_internal_config" ] |
| 43 } | 44 } |
| OLD | NEW |