# Copyright 2017 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. component("embedder") { public = [ "embedded_service_info.h", "embedded_service_runner.h", "manifest_utils.h", ] sources = [ "embedded_instance_manager.cc", "embedded_instance_manager.h", "embedded_service_info.cc", "embedded_service_runner.cc", "manifest_utils.cc", "service_manager_embedder_export.h", ] # iOS embeds the Service Manager but does not use service_manager::Main() (and # cannot use or even build it as-is). if (!is_ios) { public += [ "main.h", "main_delegate.h", "process_type.h", "set_process_title.h", "set_process_title_linux.h", "shared_file_util.h", ] sources += [ "main.cc", "main_delegate.cc", "set_process_title.cc", "set_process_title_linux.cc", "shared_file_util.cc", ] } if (is_mac) { sources += [ "mac_init.h", "mac_init.mm", ] libs = [ "Foundation.framework" ] } deps = [ "//base:base_static", "//base:i18n", ] public_deps = [ ":embedder_result_codes", "//base", "//services/service_manager/public/cpp", ] if (!is_ios) { # deps of ServiceManager::Main and related functionality. deps += [ "//base/allocator:buildflags", "//components/tracing:startup_tracing", ] if (!is_nacl) { # NaCl stuff should not depend on skia as it would require platform and # cpu properties set. deps += [ "//ui/base" ] } public_deps += [ ":embedder_switches", "//mojo/core/embedder", "//services/service_manager/background:lib", "//services/service_manager/public/cpp/standalone_service", "//services/service_manager/runner:init", "//services/service_manager/runner/common", ] } defines = [ "SERVICE_MANAGER_EMBEDDER_IMPL" ] } component("embedder_switches") { sources = [ "service_manager_embedder_switches_export.h", "switches.cc", "switches.h", ] defines = [ "SERVICE_MANAGER_EMBEDDER_SWITCHES_IMPL" ] } source_set("embedder_result_codes") { sources = [ "result_codes.h", ] } source_set("unittests") { testonly = true sources = [ "embedded_instance_manager_unittest.cc", "manifest_utils_unittest.cc", ] # These headers are duplicated here so that they can remain private in the # "embedder" target. See http://crbug.com/732993 for a way to make it # unnecessary to do this. sources += [ "embedded_instance_manager.h", "service_manager_embedder_export.h", ] deps = [ ":embedder", "//base", "//base/test:test_support", "//testing/gtest", ] }