blob: f7ec2b75e4793f70ecf614cf4da2041a0bd83394 [file] [log] [blame] [edit]
# 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/fidl/args.gni")
import("//build/zircon/migrated_targets.gni")
config("fidl-tracing-config") {
defines = [ "FIDL_TRACE_LEVEL=$fidl_trace_level" ]
}
# Base library used by both Fuchsia and host
zx_library("fidl_base") {
sdk = "source"
sdk_publishable = true
sdk_headers = [
"lib/fidl/coding.h",
"lib/fidl/txn_header.h",
"lib/fidl/internal.h",
"lib/fidl/internal_callable_traits.h",
"lib/fidl/trace.h",
"lib/fidl/transformer.h",
"lib/fidl/visitor.h",
"lib/fidl/walker.h",
]
sources = [
"decoding_and_validating.cc",
"encoding.cc",
"formatting.cc",
"handle_close_many.cc",
"internal.c",
"transformer.cc",
"txn_header.c",
"validate_string.cc",
"wire_format_metadata.cc",
]
deps = [
"//sdk/lib/fit",
"//sdk/lib/stdcompat",
"//src/zircon/lib/zircon",
]
all_dependent_configs = [ ":fidl-tracing-config" ]
}
zx_library("fidl") {
sdk = "source"
sdk_publishable = true
sdk_headers = [ "lib/fidl/epitaph.h" ]
sources = [
"epitaph.c",
"handle_closing.cc",
]
deps = [
":fidl_base",
"//src/zircon/lib/zircon",
]
public_deps = [ ":fidl_base" ]
}
llcpp_wavl_tree_headers = [
"lib/fidl/llcpp/internal/intrusive_container/node_utils.h",
"lib/fidl/llcpp/internal/intrusive_container/container_utils.h",
"lib/fidl/llcpp/internal/intrusive_container/pointer_traits.h",
"lib/fidl/llcpp/internal/intrusive_container/wavl_tree.h",
"lib/fidl/llcpp/internal/intrusive_container/wavl_tree_internal.h",
"lib/fidl/llcpp/internal/intrusive_container/helper_macros.h",
]
llcpp_wavl_tree_headers_with_include = []
foreach(header, llcpp_wavl_tree_headers) {
llcpp_wavl_tree_headers_with_include += [ "include/" + header ]
}
if (is_fuchsia) {
zx_library("fidl-llcpp") {
sdk = "source"
# TODO(fxbug.dev/80525): Change this back to "partner" post API stability.
sdk_publishable = "experimental"
sdk_name = "fidl-llcpp-experimental-driver-only"
sdk_headers = [
"lib/fidl/llcpp/array.h",
"lib/fidl/llcpp/async_binding.h",
"lib/fidl/llcpp/async_transaction.h",
"lib/fidl/llcpp/client_base.h",
"lib/fidl/llcpp/internal/thenable.h",
"lib/fidl/llcpp/client.h",
"lib/fidl/llcpp/coding.h",
"lib/fidl/llcpp/channel.h",
"lib/fidl/llcpp/connect_service.h",
"lib/fidl/llcpp/envelope.h",
"lib/fidl/llcpp/extract_resource_on_destruction.h",
"lib/fidl/llcpp/arena.h",
"lib/fidl/llcpp/message_storage.h",
"lib/fidl/llcpp/message.h",
"lib/fidl/llcpp/object_view.h",
"lib/fidl/llcpp/status.h",
"lib/fidl/llcpp/server.h",
"lib/fidl/llcpp/service_handler_interface.h",
"lib/fidl/llcpp/soft_migration.h",
"lib/fidl/llcpp/string_view.h",
"lib/fidl/llcpp/sync_call.h",
"lib/fidl/llcpp/traits.h",
"lib/fidl/llcpp/transaction.h",
"lib/fidl/llcpp/vector_view.h",
"lib/fidl/llcpp/wire_messaging.h",
"lib/fidl/llcpp/wire_messaging_declarations.h",
"lib/fidl/llcpp/wire_types.h",
"lib/fidl/llcpp/internal/arrow.h",
"lib/fidl/llcpp/internal/client_continuation.h",
"lib/fidl/llcpp/internal/client_details.h",
"lib/fidl/llcpp/internal/make_response_context.h",
"lib/fidl/llcpp/internal/endpoints.h",
"lib/fidl/llcpp/internal/server_details.h",
"lib/fidl/llcpp/internal/thread_checker.h",
"lib/fidl/llcpp/internal/debug_thread_checker.h",
"lib/fidl/llcpp/internal/transport.h",
"lib/fidl/llcpp/internal/transport_channel.h",
"lib/fidl/llcpp/internal/display_error.h",
] + llcpp_wavl_tree_headers
sdk_private_headers =
[
"include/lib/fidl/llcpp/internal/arrow.h",
"include/lib/fidl/llcpp/internal/client_details.h",
"include/lib/fidl/llcpp/internal/thenable.h",
"include/lib/fidl/llcpp/internal/make_response_context.h",
"include/lib/fidl/llcpp/internal/client_continuation.h",
"include/lib/fidl/llcpp/internal/endpoints.h",
"include/lib/fidl/llcpp/internal/server_details.h",
"include/lib/fidl/llcpp/internal/thread_checker.h",
"include/lib/fidl/llcpp/internal/debug_thread_checker.h",
"include/lib/fidl/llcpp/internal/transport.h",
"include/lib/fidl/llcpp/internal/transport_channel.h",
] + llcpp_wavl_tree_headers_with_include
sources = [
"llcpp_arena.cc",
"llcpp_async_binding.cc",
"llcpp_async_transaction.cc",
"llcpp_client_base.cc",
"llcpp_decoding.cc",
"llcpp_display_error.cc",
"llcpp_encoding.cc",
"llcpp_message.cc",
"llcpp_message_storage.cc",
"llcpp_server.cc",
"llcpp_status.cc",
"llcpp_thenable.cc",
"llcpp_transaction.cc",
"llcpp_transport.cc",
"llcpp_transport_channel.cc",
]
public_deps = [
":headers",
# <lib/fidl/llcpp/async_binding.h> has #include <lib/async/dispatcher.h>
"//zircon/system/ulib/async:headers",
# <lib/fidl/llcpp/wire_messaging.h> has #include <lib/fit/function.h>.
"//sdk/lib/fit:headers",
# <lib/fidl/llcpp/async_binding.h> has #include <lib/sync/completion.h>
"//zircon/system/ulib/sync:headers",
# <lib/fidl/llcpp/traits.h> has #include <lib/zx/object.h>.
"//zircon/system/ulib/zx:headers",
# <lib/fidl/llcpp/connect_service.h> has #include <lib/zx/status.h>.
"//zircon/system/ulib/zxc:headers",
]
deps = [
":fidl",
"//sdk/lib/fit",
"//sdk/lib/fit-promise",
"//src/zircon/lib/zircon",
"//zircon/system/ulib/async",
"//zircon/system/ulib/sync",
"//zircon/system/ulib/zxc",
]
# TODO(https://fxbug.dev/58162): delete the below and fix compiler warnings
configs += [ "//build/config:Wno-conversion" ]
}
} else {
zx_library("fidl-llcpp") {
sdk = "source"
sdk_headers = [
"lib/fidl/llcpp/array.h",
"lib/fidl/llcpp/coding.h",
"lib/fidl/llcpp/envelope.h",
"lib/fidl/llcpp/arena.h",
"lib/fidl/llcpp/message_storage.h",
"lib/fidl/llcpp/object_view.h",
"lib/fidl/llcpp/soft_migration.h",
"lib/fidl/llcpp/string_view.h",
"lib/fidl/llcpp/traits.h",
"lib/fidl/llcpp/vector_view.h",
"lib/fidl/llcpp/wire_types.h",
"lib/fidl/llcpp/internal/transport.h",
"lib/fidl/llcpp/internal/display_error.h",
"lib/fidl/llcpp/internal/transport_channel_host.h",
] + llcpp_wavl_tree_headers
sdk_private_headers =
[
"include/lib/fidl/llcpp/internal/transport.h",
"include/lib/fidl/llcpp/internal/transport_channel_host.h",
] + llcpp_wavl_tree_headers_with_include
sources = [
"llcpp_arena.cc",
"llcpp_decoding.cc",
"llcpp_display_error.cc",
"llcpp_encoding.cc",
"llcpp_message.cc",
"llcpp_message_storage.cc",
"llcpp_status.cc",
"llcpp_transport.cc",
"llcpp_transport_channel_host.cc",
]
public_deps = [
"//sdk/lib/fit:headers",
"//src/zircon/lib/zircon:headers",
"//zircon/system/ulib/zxc:headers",
]
deps = [
":fidl_base",
"//sdk/lib/fit",
"//src/zircon/lib/zircon",
"//zircon/system/ulib/zxc",
]
# TODO(https://fxbug.dev/58162): delete the below and fix compiler warnings
configs += [ "//build/config:Wno-conversion" ]
}
}