| # Copyright 2015 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/config/linux/pkg_config.gni") |
| |
| assert(is_linux, "This file should only be referenced on Linux") |
| |
| # Depend on //build/config/linux/gtk to use GTK. |
| # |
| # GN doesn't check visibility for configs so we give this an obviously internal |
| # name to discourage random targets from accidentally depending on this and |
| # bypassing the GTK target's visibility. |
| pkg_config("gtk_internal_config") { |
| # Gtk requires gmodule, but it does not list it as a dependency in some |
| # misconfigured systems. |
| packages = [ |
| "gmodule-2.0", |
| "gtk+-2.0", |
| "gthread-2.0", |
| ] |
| } |
| |
| # Basically no parts of Chrome should depend on GTK. To prevent accidents, the |
| # parts that explicitly need GTK are whitelisted on this target. |
| group("gtk") { |
| visibility = [ |
| "//chrome/browser/ui/libgtk2ui", |
| "//gpu/gles2_conform_support:gles2_conform_test_windowless", |
| "//remoting/host", |
| "//remoting/host/it2me:remote_assistance_host", |
| "//remoting/host:remoting_me2me_host_static", |
| ] |
| public_configs = [ ":gtk_internal_config" ] |
| } |
| |
| # Depend on "gtkprint" to get this. |
| pkg_config("gtkprint_internal_config") { |
| packages = [ "gtk+-unix-print-2.0" ] |
| } |
| |
| group("gtkprint") { |
| visibility = [ "//chrome/browser/ui/libgtk2ui" ] |
| public_configs = [ ":gtkprint_internal_config" ] |
| } |