| # Copyright 2022 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/cpp/sdk_source_set.gni") |
| |
| _shared_public_configs = [ "//sdk/config" ] |
| |
| sdk_source_set("cpp") { |
| category = "partner" |
| sdk_name = "component_outgoing_cpp" |
| include_base = "//sdk" |
| stable = true |
| |
| sources = [ |
| "globals.cc", |
| "globals.h", |
| "handlers.h", |
| "outgoing_directory.cc", |
| "outgoing_directory.h", |
| "structured_config.h", |
| ] |
| |
| # TODO(https://fxbug.dev/322528969): Temporarily disable asan container check for |
| # OutgoingDirectory::MakePath. This seems to be a false positive, but let's |
| # temporarily disable this test for now. |
| if (target_cpu == "riscv64") { |
| non_sdk_deps = |
| [ "//build/config/sanitizers:suppress-asan-container-overflow" ] |
| } |
| |
| public_deps = [ |
| "//sdk/fidl/fuchsia.io:fuchsia.io_cpp", |
| "//sdk/lib/fdio", |
| "//sdk/lib/fit", |
| "//sdk/lib/fit-promise", |
| "//sdk/lib/stdcompat", |
| "//sdk/lib/svc", |
| "//zircon/system/ulib/async", |
| "//zircon/system/ulib/async:async-cpp", |
| "//zircon/system/ulib/zx", |
| ] |
| |
| public_configs = _shared_public_configs |
| } |
| |
| source_set("cpp_disable_synchronization_check") { |
| public_deps = [ ":cpp" ] |
| public_configs = _shared_public_configs |
| |
| sources = [ "disable_synchronization_check.cc" ] |
| |
| # Allowlist of components permitted to skip the synchronization check, which |
| # is turned on by default. |
| # |
| # Some components (mostly tests) use OutgoingDirectory with a multithreaded |
| # dispatcher, without honoring the requirement that the dispatcher servicing |
| # the outgoing directory is the same one that created it. These are granted a |
| # legacy exemption to run them with the check disabled so we can enable the |
| # checker in the SDK. |
| # |
| # Do not add to this allowlist without a good reason. |
| # |
| # TODO(https://fxbug.dev/42065251): Fix all deps in this allowlist and remove it. |
| visibility = [ |
| "//src/developer/adb/bin/adb-file-sync:adb-file-sync", |
| "//src/devices/light-sensor/drivers/ams-light:ams-light-test-bin", |
| "//src/devices/sysmem/drivers/sysmem:sysmem_common_srcs", |
| "//src/ui/input/drivers/gt6853:gt6853-test", |
| ] |
| } |