# 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", "//remoting/host/linux", "//remoting/host/it2me:common", "//remoting/host/it2me:remote_assistance_host", "//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" ] }