diff options
Diffstat (limited to 'third_party/libwebrtc/build/config/linux/gtk/BUILD.gn')
-rw-r--r-- | third_party/libwebrtc/build/config/linux/gtk/BUILD.gn | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/third_party/libwebrtc/build/config/linux/gtk/BUILD.gn b/third_party/libwebrtc/build/config/linux/gtk/BUILD.gn new file mode 100644 index 0000000000..6590023971 --- /dev/null +++ b/third_party/libwebrtc/build/config/linux/gtk/BUILD.gn @@ -0,0 +1,69 @@ +# 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") + +declare_args() { + # The (major) version of GTK to build against. A different version may be + # loaded at runtime. + gtk_version = 3 +} + +# 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 = [ + # This is the only target that can depend on GTK. Do not add more targets + # to this list. + "//ui/gtk:gtk_stubs", + + # These are allow-listed for WebRTC builds. + "//examples:peerconnection_client", + "//remoting/host:common", + "//remoting/host:remoting_me2me_host_static", + "//remoting/host/file_transfer", + "//remoting/host/it2me:common", + "//remoting/host/it2me:remote_assistance_host", + "//remoting/host/linux", + "//remoting/host/remote_open_url:common", + "//remoting/test:it2me_standalone_host_main", + "//webrtc/examples:peerconnection_client", + ] + + public_configs = [ ":gtk_internal_config" ] +} + +# Depend on "gtkprint" to get this. +pkg_config("gtkprint_internal_config") { + if (gtk_version == 3) { + packages = [ "gtk+-unix-print-3.0" ] + } else { + assert(gtk_version == 4) + packages = [ "gtk4-unix-print" ] + } +} + +group("gtkprint") { + visibility = [ "//ui/gtk:*" ] + public_configs = [ ":gtkprint_internal_config" ] +} |