| # Copyright 2016 The Chromium Authors |
| # 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", |
| "gthread-2.0", |
| ] |
| if (gtk_version == 3) { |
| packages += [ "gtk+-3.0" ] |
| } else { |
| assert(gtk_version == 4) |
| packages += [ "gtk4" ] |
| } |
| } |
| |
| group("gtk") { |
| visibility = [ |
| # These are allow-listed for WebRTC builds. Nothing in else should depend |
| # on GTK. |
| "//examples:peerconnection_client", |
| "//remoting/host:common", |
| "//remoting/host:remoting_me2me_host_static", |
| "//remoting/host/file_transfer", |
| "//remoting/host/it2me:common", |
| "//remoting/host/it2me:main", |
| "//remoting/host/linux", |
| "//remoting/host/remote_open_url:common", |
| "//remoting/test:it2me_standalone_host_main", |
| "//webrtc/examples:peerconnection_client", |
| ] |
| |
| public_configs = [ ":gtk_internal_config" ] |
| } |