# Copyright 2015 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.

config("xdg_shell_protocol_config") {
  include_dirs = [ "include/protocol" ]
}

source_set("xdg_shell_protocol") {
  sources = [
    "include/protocol/xdg-shell-unstable-v5-client-protocol.h",
    "include/protocol/xdg-shell-unstable-v5-server-protocol.h",
    "include/protocol/xdg-shell-unstable-v6-client-protocol.h",
    "include/protocol/xdg-shell-unstable-v6-server-protocol.h",
    "protocol/xdg-shell-v5-protocol.c",
    "protocol/xdg-shell-v6-protocol.c",
  ]

  deps = [
    "//third_party/wayland:wayland_util",
  ]

  configs -= [ "//build/config/compiler:chromium_code" ]
  configs += [ "//build/config/compiler:no_chromium_code" ]

  public_configs = [ ":xdg_shell_protocol_config" ]
}

config("linux_dmabuf_protocol_config") {
  include_dirs = [ "include/protocol" ]
}

source_set("linux_dmabuf_protocol") {
  sources = [
    "include/protocol/linux-dmabuf-unstable-v1-client-protocol.h",
    "include/protocol/linux-dmabuf-unstable-v1-server-protocol.h",
    "protocol/linux-dmabuf-protocol.c",
  ]

  deps = [
    "//third_party/wayland:wayland_util",
  ]

  configs -= [ "//build/config/compiler:chromium_code" ]
  configs += [ "//build/config/compiler:no_chromium_code" ]

  public_configs = [ ":linux_dmabuf_protocol_config" ]
}

config("viewporter_protocol_config") {
  include_dirs = [ "include/protocol" ]
}

source_set("viewporter_protocol") {
  sources = [
    "include/protocol/viewporter-client-protocol.h",
    "include/protocol/viewporter-server-protocol.h",
    "protocol/viewporter-protocol.c",
  ]

  deps = [
    "//third_party/wayland:wayland_util",
  ]

  configs -= [ "//build/config/compiler:chromium_code" ]
  configs += [ "//build/config/compiler:no_chromium_code" ]

  public_configs = [ ":viewporter_protocol_config" ]
}

config("presentation_time_protocol_config") {
  include_dirs = [ "include/protocol" ]
}

source_set("presentation_time_protocol") {
  sources = [
    "include/protocol/presentation-time-client-protocol.h",
    "include/protocol/presentation-time-server-protocol.h",
    "protocol/presentation-time-protocol.c",
  ]

  deps = [
    "//third_party/wayland:wayland_util",
  ]

  configs -= [ "//build/config/compiler:chromium_code" ]
  configs += [ "//build/config/compiler:no_chromium_code" ]

  public_configs = [ ":presentation_time_protocol_config" ]
}

config("vsync_feedback_protocol_config") {
  include_dirs = [ "include/protocol" ]
}

source_set("vsync_feedback_protocol") {
  sources = [
    "include/protocol/vsync-feedback-unstable-v1-client-protocol.h",
    "include/protocol/vsync-feedback-unstable-v1-server-protocol.h",
    "protocol/vsync-feedback-protocol.c",
  ]

  deps = [
    "//third_party/wayland:wayland_util",
  ]

  configs -= [ "//build/config/compiler:chromium_code" ]
  configs += [ "//build/config/compiler:no_chromium_code" ]

  public_configs = [ ":vsync_feedback_protocol_config" ]
}

config("secure_output_protocol_config") {
  include_dirs = [ "include/protocol" ]
}

source_set("secure_output_protocol") {
  sources = [
    "include/protocol/secure-output-unstable-v1-client-protocol.h",
    "include/protocol/secure-output-unstable-v1-server-protocol.h",
    "protocol/secure-output-protocol.c",
  ]

  deps = [
    "//third_party/wayland:wayland_util",
  ]

  configs -= [ "//build/config/compiler:chromium_code" ]
  configs += [ "//build/config/compiler:no_chromium_code" ]

  public_configs = [ ":secure_output_protocol_config" ]
}

config("alpha_compositing_protocol_config") {
  include_dirs = [ "include/protocol" ]
}

source_set("alpha_compositing_protocol") {
  sources = [
    "include/protocol/alpha-compositing-unstable-v1-client-protocol.h",
    "include/protocol/alpha-compositing-unstable-v1-server-protocol.h",
    "protocol/alpha-compositing-protocol.c",
  ]

  deps = [
    "//third_party/wayland:wayland_util",
  ]

  configs -= [ "//build/config/compiler:chromium_code" ]
  configs += [ "//build/config/compiler:no_chromium_code" ]

  public_configs = [ ":alpha_compositing_protocol_config" ]
}

config("remote_shell_protocol_config") {
  include_dirs = [ "include/protocol" ]
}

source_set("remote_shell_protocol") {
  sources = [
    "include/protocol/remote-shell-unstable-v1-client-protocol.h",
    "include/protocol/remote-shell-unstable-v1-server-protocol.h",
    "protocol/remote-shell-protocol.c",
  ]

  deps = [
    "//third_party/wayland:wayland_util",
  ]

  configs -= [ "//build/config/compiler:chromium_code" ]
  configs += [ "//build/config/compiler:no_chromium_code" ]

  public_configs = [ ":remote_shell_protocol_config" ]
}

config("gaming_input_protocol_config") {
  include_dirs = [ "include/protocol" ]
}

source_set("gaming_input_protocol") {
  sources = [
    "include/protocol/gaming-input-unstable-v1-client-protocol.h",
    "include/protocol/gaming-input-unstable-v1-server-protocol.h",
    "include/protocol/gaming-input-unstable-v2-client-protocol.h",
    "include/protocol/gaming-input-unstable-v2-server-protocol.h",
    "protocol/gaming-input-protocol-v1.c",
    "protocol/gaming-input-protocol-v2.c",
  ]

  deps = [
    "//third_party/wayland:wayland_util",
  ]

  configs -= [ "//build/config/compiler:chromium_code" ]
  configs += [ "//build/config/compiler:no_chromium_code" ]

  public_configs = [ ":gaming_input_protocol_config" ]
}

config("stylus_protocol_config") {
  include_dirs = [ "include/protocol" ]
}

source_set("stylus_protocol") {
  sources = [
    "include/protocol/stylus-unstable-v2-client-protocol.h",
    "include/protocol/stylus-unstable-v2-server-protocol.h",
    "protocol/stylus-protocol-v2.c",
  ]

  deps = [
    "//third_party/wayland:wayland_util",
  ]

  configs -= [ "//build/config/compiler:chromium_code" ]
  configs += [ "//build/config/compiler:no_chromium_code" ]

  public_configs = [ ":stylus_protocol_config" ]
}

config("pointer_gestures_protocol_config") {
  include_dirs = [ "include/protocol" ]
}

source_set("pointer_gestures_protocol") {
  sources = [
    "include/protocol/pointer-gestures-unstable-v1-client-protocol.h",
    "include/protocol/pointer-gestures-unstable-v1-server-protocol.h",
    "protocol/pointer-gestures-v1-protocol.c",
  ]

  deps = [
    "//third_party/wayland:wayland_util",
  ]

  configs -= [ "//build/config/compiler:chromium_code" ]
  configs += [ "//build/config/compiler:no_chromium_code" ]

  public_configs = [ ":pointer_gestures_protocol_config" ]
}

config("keyboard_configuration_protocol_config") {
  include_dirs = [ "include/protocol" ]
}

source_set("keyboard_configuration_protocol") {
  sources = [
    "include/protocol/keyboard-configuration-unstable-v1-client-protocol.h",
    "include/protocol/keyboard-configuration-unstable-v1-server-protocol.h",
    "protocol/keyboard-configuration-protocol.c",
  ]

  deps = [
    "//third_party/wayland:wayland_util",
  ]

  configs -= [ "//build/config/compiler:chromium_code" ]
  configs += [ "//build/config/compiler:no_chromium_code" ]

  public_configs = [ ":keyboard_configuration_protocol_config" ]
}

config("stylus_tools_protocol_config") {
  include_dirs = [ "include/protocol" ]
}

source_set("stylus_tools_protocol") {
  sources = [
    "include/protocol/stylus-tools-unstable-v1-client-protocol.h",
    "include/protocol/stylus-tools-unstable-v1-server-protocol.h",
    "protocol/stylus-tools-protocol.c",
  ]

  deps = [
    "//third_party/wayland:wayland_util",
  ]

  configs -= [ "//build/config/compiler:chromium_code" ]
  configs += [ "//build/config/compiler:no_chromium_code" ]

  public_configs = [ ":stylus_tools_protocol_config" ]
}

config("keyboard_extension_protocol_config") {
  include_dirs = [ "include/protocol" ]
}

source_set("keyboard_extension_protocol") {
  sources = [
    "include/protocol/keyboard-extension-unstable-v1-client-protocol.h",
    "include/protocol/keyboard-extension-unstable-v1-server-protocol.h",
    "protocol/keyboard-extension-protocol.c",
  ]

  deps = [
    "//third_party/wayland:wayland_util",
  ]

  configs -= [ "//build/config/compiler:chromium_code" ]
  configs += [ "//build/config/compiler:no_chromium_code" ]

  public_configs = [ ":keyboard_extension_protocol_config" ]
}

config("input_timestamps_protocol_config") {
  include_dirs = [ "include/protocol" ]
}

source_set("input_timestamps_protocol") {
  sources = [
    "include/protocol/input-timestamps-unstable-v1-client-protocol.h",
    "include/protocol/input-timestamps-unstable-v1-server-protocol.h",
    "protocol/input-timestamps-v1-protocol.c",
  ]

  deps = [
    "//third_party/wayland:wayland_util",
  ]

  configs -= [ "//build/config/compiler:chromium_code" ]
  configs += [ "//build/config/compiler:no_chromium_code" ]

  public_configs = [ ":input_timestamps_protocol_config" ]
}

config("cursor_shapes_protocol_config") {
  include_dirs = [ "include/protocol" ]
}

source_set("cursor_shapes_protocol") {
  sources = [
    "include/protocol/cursor-shapes-unstable-v1-client-protocol.h",
    "include/protocol/cursor-shapes-unstable-v1-server-protocol.h",
    "protocol/cursor-shapes-protocol.c",
  ]

  deps = [
    "//third_party/wayland:wayland_util",
  ]

  configs -= [ "//build/config/compiler:chromium_code" ]
  configs += [ "//build/config/compiler:no_chromium_code" ]

  public_configs = [ ":cursor_shapes_protocol_config" ]
}

config("text_input_protocol_config") {
  include_dirs = [ "include/protocol" ]
}

source_set("text_input_protocol") {
  sources = [
    "include/protocol/text-input-unstable-v1-client-protocol.h",
    "include/protocol/text-input-unstable-v1-server-protocol.h",
    "protocol/text-input-v1-protocol.c",
  ]

  deps = [
    "//third_party/wayland:wayland_util",
  ]

  configs -= [ "//build/config/compiler:chromium_code" ]
  configs += [ "//build/config/compiler:no_chromium_code" ]

  public_configs = [ ":text_input_protocol_config" ]
}
