| # Copyright 2016 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/config.gni") |
| import("//build/package.gni") |
| import("//build/test/test_package.gni") |
| import("//build/testing/environments.gni") |
| |
| source_set("lib") { |
| sources = [ |
| "component_controller_impl.cc", |
| "component_controller_impl.h", |
| "debug_info_retriever.cc", |
| "debug_info_retriever.h", |
| "dynamic_library_loader.cc", |
| "dynamic_library_loader.h", |
| "environment_controller_impl.cc", |
| "environment_controller_impl.h", |
| "hub/component_hub.cc", |
| "hub/component_hub.h", |
| "hub/hub.cc", |
| "hub/hub.h", |
| "hub/hub_info.cc", |
| "hub/hub_info.h", |
| "hub/realm_hub.cc", |
| "hub/realm_hub.h", |
| "job_provider_impl.cc", |
| "job_provider_impl.h", |
| "namespace.cc", |
| "namespace.h", |
| "namespace_builder.cc", |
| "namespace_builder.h", |
| "realm.cc", |
| "realm.h", |
| "runner_holder.cc", |
| "runner_holder.h", |
| "scheme_map.cc", |
| "scheme_map.h", |
| "service_provider_dir_impl.cc", |
| "service_provider_dir_impl.h", |
| "storage_watchdog.cc", |
| "storage_watchdog.h", |
| "system_objects_directory.cc", |
| "system_objects_directory.h", |
| "util.cc", |
| "util.h", |
| ] |
| |
| public_deps = [ |
| "//garnet/lib/cmx", |
| "//garnet/lib/loader", |
| "//garnet/public/lib/backoff", |
| "//garnet/public/lib/fsl", |
| "//garnet/public/lib/inspect", |
| "//garnet/public/lib/json", |
| "//sdk/fidl/fuchsia.sys", |
| "//sdk/lib/sys/cpp", |
| "//src/lib/fxl", |
| "//src/lib/pkg_url", |
| "//third_party/rapidjson", |
| "//zircon/public/fidl/fuchsia-inspect", |
| "//zircon/public/fidl/fuchsia-process", |
| "//zircon/public/fidl/fuchsia-scheduler", |
| "//zircon/public/fidl/fuchsia-virtualconsole", |
| "//zircon/public/lib/async-loop-cpp", |
| "//zircon/public/lib/fit", |
| "//zircon/public/lib/fs", |
| "//zircon/public/lib/inspector", |
| "//zircon/public/lib/loader-service", |
| "//zircon/public/lib/trace-provider", |
| "//zircon/public/lib/zx", |
| ] |
| |
| deps = [ |
| "//zircon/public/fidl/fuchsia-device-manager", |
| "//zircon/public/fidl/fuchsia-kernel", |
| ] |
| |
| defines = [ "_ALL_SOURCE=1" ] |
| } |
| |
| source_set("appmgr_for_test") { |
| testonly = true |
| |
| sources = [ |
| "appmgr.cc", |
| "appmgr.h", |
| ] |
| |
| public_deps = [ |
| ":lib", |
| "//sdk/fidl/fuchsia.sys", |
| "//sdk/lib/sys/cpp", |
| "//src/lib/fxl", |
| "//zircon/public/lib/fs", |
| "//zircon/public/lib/zx", |
| ] |
| } |
| |
| executable("bin") { |
| output_name = "appmgr" |
| |
| sources = [ |
| "appmgr.cc", |
| "appmgr.h", |
| "main.cc", |
| ] |
| |
| deps = [ |
| ":lib", |
| "//sdk/lib/sys/cpp", |
| ] |
| |
| # appmgr starts early in the boot sequence before shared libraries from |
| # packages are available, so it has to avoid dynamically linking against |
| # libraries outside of /boot/lib. These rules ensure that appmgr statically |
| # links against the C++ standard library and prevents dependencies on some |
| # shared library targets that are easy to pull in unintentionally. |
| configs += [ "//build/config/fuchsia:static_cpp_standard_library" ] |
| assert_no_deps = [ "//garnet/public/lib/fostr/*" ] |
| } |
| |
| executable("tests") { |
| testonly = true |
| |
| output_name = "appmgr_unittests" |
| |
| sources = [ |
| "component_controller_unittest.cc", |
| "hub/hub_holder_unittest.cc", |
| "namespace_builder_unittest.cc", |
| "namespace_unittest.cc", |
| "scheme_map_unittest.cc", |
| "service_provider_dir_unittest.cc", |
| "storage_watchdog_unittest.cc", |
| "util_unittest.cc", |
| ] |
| |
| deps = [ |
| ":appmgr_for_test", |
| ":lib", |
| "//garnet/examples/fidl/services:echo", |
| "//garnet/public/lib/gtest", |
| "//sdk/lib/sys/cpp", |
| "//sdk/lib/sys/cpp/testing:unit", |
| "//sdk/lib/vfs/cpp", |
| "//src/lib/fxl/test:gtest_main", |
| "//third_party/googletest:gmock", |
| "//zircon/public/fidl/fuchsia-device-manager", |
| "//zircon/public/fidl/fuchsia-kernel", |
| "//zircon/public/lib/memfs", |
| ] |
| } |
| |
| package("appmgr") { |
| deprecated_system_image = true |
| |
| deps = [ |
| ":bin", |
| ] |
| binaries = [ |
| { |
| name = "appmgr" |
| }, |
| ] |
| } |
| |
| config_data("appmgr_scheme_config") { |
| for_pkg = "appmgr" |
| sources = [ |
| "scheme_map.config", |
| ] |
| outputs = [ |
| "scheme_map/default.config", |
| ] |
| } |
| |
| test_package("appmgr_unittests") { |
| deps = [ |
| ":tests", |
| ] |
| tests = [ |
| { |
| name = "appmgr_unittests" |
| environments = basic_envs |
| }, |
| ] |
| } |