• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2016 The Chromium Authors
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5import("//build/config/linux/gtk/gtk.gni")
6import("//build/config/linux/pkg_config.gni")
7
8assert(is_linux, "This file should only be referenced on Linux")
9
10# GN doesn't check visibility for configs so we give this an obviously internal
11# name to discourage random targets from accidentally depending on this and
12# bypassing the GTK target's visibility.
13pkg_config("gtk_internal_config") {
14  # Gtk requires gmodule, but it does not list it as a dependency in some
15  # misconfigured systems.
16  packages = [
17    "gmodule-2.0",
18    "gthread-2.0",
19  ]
20  if (gtk_version == 3) {
21    packages += [ "gtk+-3.0" ]
22  } else {
23    assert(gtk_version == 4)
24    packages += [ "gtk4" ]
25  }
26}
27
28group("gtk") {
29  visibility = [
30    # These are allow-listed for WebRTC builds.  Nothing in else should depend
31    # on GTK.
32    "//examples:peerconnection_client",
33    "//remoting/host:common",
34    "//remoting/host:remoting_me2me_host_static",
35    "//remoting/host/file_transfer",
36    "//remoting/host/it2me:common",
37    "//remoting/host/it2me:main",
38    "//remoting/host/linux",
39    "//remoting/host/remote_open_url:common",
40    "//remoting/test:it2me_standalone_host_main",
41    "//webrtc/examples:peerconnection_client",
42  ]
43
44  public_configs = [ ":gtk_internal_config" ]
45}
46