blob: 1ec0b04494c1bca869b8b26b9e11b4cfd2e77c1e [file] [log] [blame]
# Copyright 2019 The Fuchsia 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/zircon/migrated_targets.gni")
if (zx == "/") {
import("$zx/public/gn/fidl/params.gni")
} else {
import("//build/fidl/args.gni")
zx_fidl_trace_level = fidl_trace_level
}
config("fidl-tracing-config") {
defines = [ "FIDL_TRACE_LEVEL=$zx_fidl_trace_level" ]
}
# Base library used by both Fuchsia and host
zx_library("fidl_base") {
sdk = "source"
sdk_publishable = true
host = true
sdk_headers = [
"lib/fidl/coding.h",
"lib/fidl/txn_header.h",
"lib/fidl/cpp/builder.h",
"lib/fidl/cpp/message.h",
"lib/fidl/cpp/message_buffer.h",
"lib/fidl/cpp/message_builder.h",
"lib/fidl/cpp/message_part.h",
"lib/fidl/internal.h",
"lib/fidl/internal_callable_traits.h",
"lib/fidl/trace.h",
"lib/fidl/visitor.h",
"lib/fidl/walker.h",
]
sdk_migrated = true
sources = [
"builder.cc",
"decoding_and_validating.cc",
"encoding.cc",
"formatting.cc",
"handle_close_many.cc",
"internal.c",
"message.cc",
"message_buffer.cc",
"message_builder.cc",
"txn_header.c",
"validate_string.cc",
"walker.cc",
]
deps = [
"$zx/system/ulib/fit",
"$zx/system/ulib/zircon",
]
all_dependent_configs = [ ":fidl-tracing-config" ]
}
zx_library("fidl") {
sdk = "source"
sdk_publishable = true
sdk_headers = [ "lib/fidl/epitaph.h" ]
sdk_migrated = true
sources = [
"epitaph.c",
"handle_closing.cc",
]
deps = [
":fidl_base",
"$zx/system/ulib/zircon",
]
public_deps = [ ":fidl_base" ]
}
if (is_fuchsia) {
zx_library("fidl-llcpp") {
sdk = "source"
sdk_headers = [
"lib/fidl/llcpp/aligned.h",
"lib/fidl/llcpp/allocator.h",
"lib/fidl/llcpp/array.h",
"lib/fidl/llcpp/async_binding.h",
"lib/fidl/llcpp/async_transaction.h",
"lib/fidl/llcpp/buffer_allocator.h",
"lib/fidl/llcpp/buffer_then_heap_allocator.h",
"lib/fidl/llcpp/client_base.h",
"lib/fidl/llcpp/client.h",
"lib/fidl/llcpp/client_end.h",
"lib/fidl/llcpp/coding.h",
"lib/fidl/llcpp/connect_service.h",
"lib/fidl/llcpp/envelope.h",
"lib/fidl/llcpp/errors.h",
"lib/fidl/llcpp/extract_resource_on_destruction.h",
"lib/fidl/llcpp/failover_allocator.h",
"lib/fidl/llcpp/fidl_allocator.h",
"lib/fidl/llcpp/heap_allocator.h",
"lib/fidl/llcpp/memory.h",
"lib/fidl/llcpp/message.h",
"lib/fidl/llcpp/message_storage.h",
"lib/fidl/llcpp/object_view.h",
"lib/fidl/llcpp/result.h",
"lib/fidl/llcpp/server.h",
"lib/fidl/llcpp/server_end.h",
"lib/fidl/llcpp/service_handler_interface.h",
"lib/fidl/llcpp/string_view.h",
"lib/fidl/llcpp/sync_call.h",
"lib/fidl/llcpp/tracking_ptr.h",
"lib/fidl/llcpp/traits.h",
"lib/fidl/llcpp/transaction.h",
"lib/fidl/llcpp/types.h",
"lib/fidl/llcpp/unowned_ptr.h",
"lib/fidl/llcpp/unsafe_buffer_allocator.h",
"lib/fidl/llcpp/vector_view.h",
]
sdk_migrated = true
sources = [
"llcpp_async_binding.cc",
"llcpp_async_transaction.cc",
"llcpp_client_base.cc",
"llcpp_coding.c",
"llcpp_fidl_allocator.cc",
"llcpp_message.cc",
"llcpp_server.cc",
"llcpp_transaction.cc",
]
public_deps = [
":headers",
# <lib/fidl/llcpp/async_binding.h> has #include <lib/async/dispatcher.h>
"$zx/system/ulib/async:headers",
# <lib/fidl/llcpp/client_base.h> has #include <fbl/intrusive_wavl_tree.h>
"$zx/system/ulib/fbl:headers",
# <lib/fidl/llcpp/sync_call.h> has #include <lib/fit/result.h>.
# <lib/fidl/llcpp/types.h> has #include <lib/fit/function.h>
"$zx/system/ulib/fit:headers",
# <lib/fidl/llcpp/async_binding.h> has #include <lib/sync/completion.h>
"$zx/system/ulib/sync:headers",
# <lib/fidl/llcpp/traits.h> has #include <lib/zx/object.h>.
"$zx/system/ulib/zx:headers",
# <lib/fidl/llcpp/connect_service.h> has #include <lib/zx/status.h>.
"$zx/system/ulib/zxc:headers",
]
deps = [
":fidl",
"$zx/system/ulib/async",
"$zx/system/ulib/fbl",
"$zx/system/ulib/fit",
"$zx/system/ulib/sync",
"$zx/system/ulib/zircon",
"$zx/system/ulib/zxc",
]
}
} else {
zx_library("fidl-llcpp") {
host = true
sdk = "source"
sdk_headers = [
"lib/fidl/llcpp/aligned.h",
"lib/fidl/llcpp/allocator.h",
"lib/fidl/llcpp/array.h",
"lib/fidl/llcpp/buffer_allocator.h",
"lib/fidl/llcpp/buffer_then_heap_allocator.h",
"lib/fidl/llcpp/coding.h",
"lib/fidl/llcpp/envelope.h",
"lib/fidl/llcpp/failover_allocator.h",
"lib/fidl/llcpp/fidl_allocator.h",
"lib/fidl/llcpp/memory.h",
"lib/fidl/llcpp/object_view.h",
"lib/fidl/llcpp/string_view.h",
"lib/fidl/llcpp/tracking_ptr.h",
"lib/fidl/llcpp/traits.h",
"lib/fidl/llcpp/unowned_ptr.h",
"lib/fidl/llcpp/unsafe_buffer_allocator.h",
"lib/fidl/llcpp/vector_view.h",
]
sdk_migrated = true
sources = [
"llcpp_coding.c",
"llcpp_fidl_allocator.cc",
"llcpp_message.cc",
]
public_deps = [
"$zx/system/ulib/zircon:headers",
"$zx/system/ulib/zxc:headers",
]
deps = [
":fidl_base",
"$zx/system/ulib/fbl",
"$zx/system/ulib/fit",
"$zx/system/ulib/zircon",
"$zx/system/ulib/zxc",
]
}
}