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

assert(is_fuchsia)

import("fuchsia_sdk_pkg.gni")

config("sdk_lib_dirs_config") {
  visibility = [ ":*" ]
  lib_dirs = [ "sdk/arch/${target_cpu}/lib" ]
}

fuchsia_sdk_pkg("async") {
  sources = [
    "include/lib/async/dispatcher.h",
    "include/lib/async/receiver.h",
    "include/lib/async/task.h",
    "include/lib/async/time.h",
    "include/lib/async/trap.h",
    "include/lib/async/wait.h",
    "ops.c",
  ]
}

# async-default keep a per-thread dispatcher for async.
fuchsia_sdk_pkg("async_default") {
  package_name = "async-default"
  sources = [
    "include/lib/async/default.h",
  ]

  libs = [ "async-default" ]
}

fuchsia_sdk_pkg("fdio") {
  sources = [
    "include/lib/fdio/debug.h",
    "include/lib/fdio/io.h",
    "include/lib/fdio/limits.h",
    "include/lib/fdio/module.modulemap",
    "include/lib/fdio/namespace.h",
    "include/lib/fdio/private.h",
    "include/lib/fdio/remoteio.h",
    "include/lib/fdio/socket.h",
    "include/lib/fdio/spawn.h",
    "include/lib/fdio/util.h",
    "include/lib/fdio/vfs.h",
    "include/lib/fdio/watcher.h",
  ]

  libs = [ "fdio" ]
}

fuchsia_sdk_pkg("fidl") {
  # FIDL headers include async headers. These dependencies needs to be public
  # to ensure that dependent targets get correct include paths.
  public_deps = [
    ":async",
    ":async_default",
  ]

  sources = [
    "builder.cpp",
    "decoding.cpp",
    "encoding.cpp",
    "formatting.cpp",
    "include/lib/fidl/coding.h",
    "include/lib/fidl/cpp/builder.h",
    "include/lib/fidl/cpp/message.h",
    "include/lib/fidl/cpp/message_buffer.h",
    "include/lib/fidl/cpp/message_builder.h",
    "include/lib/fidl/cpp/message_part.h",
    "include/lib/fidl/cpp/string_view.h",
    "include/lib/fidl/cpp/vector_view.h",
    "include/lib/fidl/internal.h",
    "message.cpp",
    "message_buffer.cpp",
    "message_builder.cpp",
    "validating.cpp",
  ]
}

fuchsia_sdk_pkg("fidl_cpp") {
  public_deps = [
    ":fidl",
    ":fidl_cpp_sync",
    ":fit",
    ":zx",
  ]
  sources = [
    "clone.cc",
    "include/lib/fidl/cpp/binding.h",
    "include/lib/fidl/cpp/binding_set.h",
    "include/lib/fidl/cpp/clone.h",
    "include/lib/fidl/cpp/interface_ptr.h",
    "include/lib/fidl/cpp/interface_ptr_set.h",
    "include/lib/fidl/cpp/internal/header.h",
    "include/lib/fidl/cpp/internal/implementation.h",
    "include/lib/fidl/cpp/internal/message_handler.h",
    "include/lib/fidl/cpp/internal/message_reader.h",
    "include/lib/fidl/cpp/internal/pending_response.h",
    "include/lib/fidl/cpp/internal/proxy.h",
    "include/lib/fidl/cpp/internal/proxy_controller.h",
    "include/lib/fidl/cpp/internal/stub.h",
    "include/lib/fidl/cpp/internal/stub_controller.h",
    "include/lib/fidl/cpp/internal/weak_stub_controller.h",
    "include/lib/fidl/cpp/optional.h",
    "include/lib/fidl/cpp/string.h",
    "include/lib/fidl/cpp/thread_safe_binding_set.h",
    "internal/message_handler.cc",
    "internal/message_reader.cc",
    "internal/pending_response.cc",
    "internal/proxy.cc",
    "internal/proxy_controller.cc",
    "internal/stub.cc",
    "internal/stub_controller.cc",
    "internal/weak_stub_controller.cc",
    "string.cc",
  ]
}

fuchsia_sdk_pkg("fidl_cpp_sync") {
  public_deps = [
    ":fidl",
    ":fit",
    ":zx",
  ]
  sources = [
    "coding_traits.cc",
    "decoder.cc",
    "encoder.cc",
    "include/lib/fidl/cpp/array.h",
    "include/lib/fidl/cpp/coding_traits.h",
    "include/lib/fidl/cpp/comparison.h",
    "include/lib/fidl/cpp/decoder.h",
    "include/lib/fidl/cpp/encoder.h",
    "include/lib/fidl/cpp/interface_handle.h",
    "include/lib/fidl/cpp/interface_request.h",
    "include/lib/fidl/cpp/internal/logging.h",
    "include/lib/fidl/cpp/internal/synchronous_proxy.h",
    "include/lib/fidl/cpp/synchronous_interface_ptr.h",
    "include/lib/fidl/cpp/traits.h",
    "include/lib/fidl/cpp/vector.h",
    "internal/logging.cc",
    "internal/synchronous_proxy.cc",
  ]
}

fuchsia_sdk_pkg("fit") {
  sources = [
    "include/lib/fit/function.h",
  ]
}

fuchsia_sdk_fidl_pkg("fonts") {
  namespace = "fuchsia"
  namespace_path = "fuchsia"
  sources = [
    "font_provider.fidl",
  ]
  deps = [
    ":mem",
  ]
}

fuchsia_sdk_fidl_pkg("gfx") {
  namespace = "fuchsia.ui"
  namespace_path = "fuchsia/ui"
  sources = [
    "commands.fidl",
    "display_info.fidl",
    "events.fidl",
    "hit.fidl",
    "nodes.fidl",
    "renderer.fidl",
    "resources.fidl",
    "shapes.fidl",
    "types.fidl",
  ]
  deps = [
    ":images",
    ":vectorial",
  ]
}

fuchsia_sdk_fidl_pkg("images") {
  namespace = "fuchsia"
  namespace_path = "fuchsia"
  sources = [
    "encoded_image.fidl",
    "image_info.fidl",
    "image_pipe.fidl",
    "memory_type.fidl",
    "presentation_info.fidl",
  ]
}

fuchsia_sdk_fidl_pkg("input") {
  namespace = "fuchsia.ui"
  namespace_path = "fuchsia/ui"
  sources = [
    "commands.fidl",
    "ime_service.fidl",
    "input_connection.fidl",
    "input_device_registry.fidl",
    "input_dispatcher.fidl",
    "input_event_constants.fidl",
    "input_events.fidl",
    "input_reports.fidl",
    "text_editing.fidl",
    "text_input.fidl",
    "usages.fidl",
  ]
}

fuchsia_sdk_fidl_pkg("math") {
  namespace = "fuchsia"
  namespace_path = "fuchsia"
  sources = [
    "math.fidl",
  ]
}

fuchsia_sdk_fidl_pkg("media") {
  namespace = "fuchsia"
  namespace_path = "fuchsia"

  sources = [
    "audio.fidl",
    "audio_device_enumerator.fidl",
    "audio_in.fidl",
    "audio_out.fidl",
    "audio_renderer.fidl",
    "gain_control.fidl",
    "stream.fidl",
    "stream_type.fidl",
  ]
}

fuchsia_sdk_fidl_pkg("mem") {
  namespace = "fuchsia"
  namespace_path = "fuchsia"

  sources = [
    "buffer.fidl",
  ]
}

fuchsia_sdk_fidl_pkg("netstack") {
  namespace = "fuchsia"
  namespace_path = "fuchsia"

  sources = [
    "net_address.fidl",
    "netstack.fidl",
  ]
}

fuchsia_sdk_fidl_pkg("oldhttp") {
  namespace = "fuchsia.net"
  namespace_path = "fuchsia/net"
  sources = [
    "http_error.fidl",
    "http_header.fidl",
    "http_service.fidl",
    "url_body.fidl",
    "url_loader.fidl",
    "url_request.fidl",
    "url_response.fidl",
  ]
  deps = [
    ":mem",
  ]
}

fuchsia_sdk_fidl_pkg("policy") {
  namespace = "fuchsia.ui"
  namespace_path = "fuchsia/ui"
  sources = [
    "display_usage.fidl",
    "presentation.fidl",
    "presenter.fidl",
  ]
  deps = [
    ":viewsv1",
  ]
}

fuchsia_sdk_fidl_pkg("scenic") {
  namespace = "fuchsia.ui"
  namespace_path = "fuchsia/ui"
  sources = [
    "commands.fidl",
    "events.fidl",
    "scenic.fidl",
    "session.fidl",
  ]
  deps = [
    ":gfx",
    ":input",
    ":sys",
    ":views",
  ]
}

fuchsia_sdk_pkg("svc") {
  sources = [
    "include/lib/svc/dir.h",
  ]

  libs = [ "svc" ]
}

fuchsia_sdk_fidl_pkg("sys") {
  namespace = "fuchsia"
  namespace_path = "fuchsia"

  sources = [
    "component_controller.fidl",
    "environment.fidl",
    "environment_controller.fidl",
    "flat_namespace.fidl",
    "launcher.fidl",
    "loader.fidl",
    "runner.fidl",
    "service_provider.fidl",
  ]
  deps = [
    ":mem",
  ]
}

fuchsia_sdk_fidl_pkg("vectorial") {
  namespace = "fuchsia.ui"
  namespace_path = "fuchsia/ui"
  sources = [
    "commands.fidl",
    "events.fidl",
  ]
}

fuchsia_sdk_fidl_pkg("views") {
  namespace = "fuchsia.ui"
  namespace_path = "fuchsia/ui"

  sources = [
    "commands.fidl",
    "events.fidl",
  ]
  deps = [
    ":gfx",
    ":images",
  ]
}

fuchsia_sdk_fidl_pkg("viewsv1") {
  namespace = "fuchsia.ui"
  namespace_path = "fuchsia/ui"

  sources = [
    "view_containers.fidl",
    "view_manager.fidl",
    "view_properties.fidl",
    "view_provider.fidl",
    "view_tree_token.fidl",
    "view_trees.fidl",
    "views.fidl",
  ]
  deps = [
    ":gfx",
    ":images",
    ":math",
    ":scenic",
    ":viewsv1token",
  ]
}

fuchsia_sdk_fidl_pkg("viewsv1token") {
  namespace = "fuchsia.ui"
  namespace_path = "fuchsia/ui"

  sources = [
    "view_token.fidl",
  ]
}

fuchsia_sdk_pkg("zx") {
  sources = [
    "channel.cpp",
    "event.cpp",
    "eventpair.cpp",
    "fifo.cpp",
    "guest.cpp",
    "include/lib/zx/bti.h",
    "include/lib/zx/channel.h",
    "include/lib/zx/event.h",
    "include/lib/zx/eventpair.h",
    "include/lib/zx/fifo.h",
    "include/lib/zx/guest.h",
    "include/lib/zx/handle.h",
    "include/lib/zx/interrupt.h",
    "include/lib/zx/job.h",
    "include/lib/zx/log.h",
    "include/lib/zx/object.h",
    "include/lib/zx/object_traits.h",
    "include/lib/zx/pmt.h",
    "include/lib/zx/port.h",
    "include/lib/zx/process.h",
    "include/lib/zx/resource.h",
    "include/lib/zx/socket.h",
    "include/lib/zx/task.h",
    "include/lib/zx/thread.h",
    "include/lib/zx/time.h",
    "include/lib/zx/timer.h",
    "include/lib/zx/vmar.h",
    "include/lib/zx/vmo.h",
    "interrupt.cpp",
    "job.cpp",
    "log.cpp",
    "port.cpp",
    "process.cpp",
    "resource.cpp",
    "socket.cpp",
    "thread.cpp",
    "timer.cpp",
    "vmar.cpp",
    "vmo.cpp",
  ]
}

copy("vulkan_layers") {
  sources = [
    "sdk/pkg/vulkan_layers/data/vulkan/explicit_layer.d/VkLayer_core_validation.json",
    "sdk/pkg/vulkan_layers/data/vulkan/explicit_layer.d/VkLayer_image_pipe_swapchain.json",
    "sdk/pkg/vulkan_layers/data/vulkan/explicit_layer.d/VkLayer_object_tracker.json",
    "sdk/pkg/vulkan_layers/data/vulkan/explicit_layer.d/VkLayer_parameter_validation.json",
    "sdk/pkg/vulkan_layers/data/vulkan/explicit_layer.d/VkLayer_standard_validation.json",
    "sdk/pkg/vulkan_layers/data/vulkan/explicit_layer.d/VkLayer_threading.json",
    "sdk/pkg/vulkan_layers/data/vulkan/explicit_layer.d/VkLayer_unique_objects.json",
  ]

  outputs = [
    "${root_gen_dir}/data/vulkan/explicit_layer.d/{{source_file_part}}",
  ]
}
