blob: 212cc8d4375ee27bc4bf253ae6b9ad30cc3b1174 [file] [log] [blame]
# 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",
]
public_deps = [
"//base",
"//services/service_manager/public/cpp",
]
if (!is_ios) {
# deps of ServiceManager::Main and related functionality.
deps += [
"//base/allocator:features",
"//components/tracing:startup_tracing",
"//ui/base",
]
public_deps += [
":embedder_switches",
"//mojo/edk/system",
"//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("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",
]
}