| # Copyright 2020 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/package.gni") |
| import("//src/camera/debug.gni") |
| |
| declare_args() { |
| # TODO(fxbug.dev/58063): Restore camera default exclusivity policy. |
| camera_policy_allow_replacement_connections = true |
| } |
| |
| source_set("lib") { |
| sources = [ |
| "device_impl.cc", |
| "device_impl.h", |
| "device_impl_client.cc", |
| "stream_impl.cc", |
| "stream_impl.h", |
| "stream_impl_client.cc", |
| "util.h", |
| ] |
| |
| deps = [ |
| "//sdk/lib/syslog/cpp", |
| "//sdk/lib/syslog/cpp:backend_legacy", |
| "//src/camera/lib/hanging_get_helper", |
| "//src/lib/fsl", |
| "//zircon/public/lib/fbl", |
| "//zircon/system/ulib/async-loop:async-loop-default", |
| "//zircon/system/ulib/trace", |
| ] |
| |
| public_deps = [ |
| "//sdk/fidl/fuchsia.camera2.hal", |
| "//sdk/fidl/fuchsia.camera3", |
| "//sdk/fidl/fuchsia.sysmem", |
| "//sdk/fidl/fuchsia.ui.policy", |
| "//sdk/lib/fidl/cpp", |
| "//zircon/public/lib/fit", |
| "//zircon/system/ulib/async-loop:async-loop-cpp", |
| ] |
| |
| defines = [ camera_debug_define ] |
| |
| if (camera_policy_allow_replacement_connections) { |
| defines += [ "CAMERA_POLICY_ALLOW_REPLACEMENT_CONNECTIONS=(true)" ] |
| } else { |
| defines += [ "CAMERA_POLICY_ALLOW_REPLACEMENT_CONNECTIONS=(false)" ] |
| } |
| } |
| |
| executable("bin") { |
| output_name = "device" |
| |
| sources = [ "main.cc" ] |
| |
| deps = [ |
| ":lib", |
| "//sdk/lib/sys/cpp", |
| "//sdk/lib/syslog/cpp", |
| "//sdk/lib/syslog/cpp:backend_legacy", |
| "//zircon/system/ulib/async-loop:async-loop-default", |
| "//zircon/system/ulib/trace-provider:trace-provider-with-fdio", |
| ] |
| |
| defines = [ camera_debug_define ] |
| } |
| |
| package("camera_device") { |
| deps = [ ":bin" ] |
| |
| binaries = [ |
| { |
| name = "device" |
| }, |
| ] |
| meta = [ |
| { |
| path = "${target_name}.cmx" |
| dest = "${target_name}.cmx" |
| }, |
| ] |
| } |
| |
| group("device") { |
| public_deps = [ ":camera_device" ] |
| } |