| # Copyright 2016 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/gtk/gtk.gni") |
| import("//build/config/linux/pkg_config.gni") |
| |
| assert(is_linux, "This file should only be referenced on Linux") |
| |
| # 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+-${gtk_version}.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/test:interactive_ui_tests", |
| "//chrome/test:unit_tests", |
| "//examples:peerconnection_client", |
| "//gpu/gles2_conform_support:gles2_conform_test_windowless", |
| "//remoting/host/linux", |
| "//remoting/host/it2me:common", |
| "//remoting/host/it2me:remote_assistance_host", |
| "//remoting/host:common", |
| "//remoting/host/file_transfer:common", |
| "//remoting/host:remoting_me2me_host_static", |
| "//remoting/test:it2me_standalone_host_main", |
| "//webrtc/examples:peerconnection_client", |
| "//chrome/browser/ui/libgtkui:*", |
| ] |
| |
| public_configs = [ ":gtk_internal_config" ] |
| } |
| |
| # Depend on "gtkprint" to get this. |
| pkg_config("gtkprint_internal_config") { |
| packages = [ "gtk+-unix-print-${gtk_version}.0" ] |
| } |
| |
| group("gtkprint") { |
| visibility = [ "//chrome/browser/ui/libgtkui:*" ] |
| public_configs = [ ":gtkprint_internal_config" ] |
| } |