# 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",
    "protocol/xdg-shell-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("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",
    "protocol/gaming-input-protocol.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-v1-client-protocol.h",
    "include/protocol/stylus-unstable-v1-server-protocol.h",
    "include/protocol/stylus-unstable-v2-client-protocol.h",
    "include/protocol/stylus-unstable-v2-server-protocol.h",
    "protocol/stylus-protocol-v1.c",
    "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" ]
}
