blob: 0c5983425175c4c5d7d28f900aa1c1a268b4dc51 [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("cpp") {
output_name = "service_manager_cpp"
sources = [
"binder_map.h",
"binder_map_internal.h",
"binder_registry.h",
"connect.h",
"connector.cc",
"connector.h",
"constants.cc",
"constants.h",
"export.h",
"interface_binder.h",
"interface_provider.cc",
"interface_provider.h",
"local_interface_provider.h",
"manifest.cc",
"manifest.h",
"manifest_builder.cc",
"manifest_builder.h",
"service.cc",
"service.h",
"service_binding.cc",
"service_binding.h",
"service_context_ref.h",
"service_keepalive.cc",
"service_keepalive.h",
]
configs += [ "//build/config/compiler:wexit_time_destructors" ]
public_deps = [
":cpp_types",
"//base",
"//mojo/public/cpp/bindings",
"//mojo/public/cpp/system",
"//services/service_manager/public/mojom",
"//services/service_manager/public/mojom:constants",
"//url",
]
deps = [
"//services/tracing/public/cpp:traced_process",
]
defines = [
"IS_SERVICE_MANAGER_CPP_IMPL",
# TODO: Use COMPONENT_EXPORT everywhere here and remove this.
"SERVICE_MANAGER_PUBLIC_CPP_IMPL",
]
}
# A component for types which the public interfaces depend on for typemapping.
# Unlike ":cpp" above, this cannot itself depend on the main public interfaces
# target.
component("cpp_types") {
output_name = "service_manager_cpp_types"
sources = [
"bind_source_info.cc",
"bind_source_info.h",
"identity.cc",
"identity.h",
"interface_provider_spec.cc",
"interface_provider_spec.h",
"service_filter.cc",
"service_filter.h",
"types_export.h",
]
configs += [ "//build/config/compiler:wexit_time_destructors" ]
deps = [
"//services/service_manager/public/mojom:constants",
]
defines = [
"IS_SERVICE_MANAGER_CPP_TYPES_IMPL",
# TODO: Use COMPONENT_EXPORT everywhere and remove this.
"SERVICE_MANAGER_PUBLIC_CPP_TYPES_IMPL",
]
}
component("mojom_traits") {
output_name = "service_manager_mojom_traits"
sources = [
"identity_mojom_traits.cc",
"identity_mojom_traits.h",
"service_filter_mojom_traits.cc",
"service_filter_mojom_traits.h",
]
public_deps = [
":cpp_types",
"//mojo/public/cpp/base:shared_typemap_traits",
"//services/service_manager/public/mojom:mojom_shared",
]
defines = [ "IS_SERVICE_MANAGER_MOJOM_TRAITS_IMPL" ]
}
source_set("unittests") {
testonly = true
sources = [
"manifest_unittest.cc",
]
deps = [
":cpp",
"//base",
"//services/service_manager/public/mojom",
"//testing/gmock",
"//testing/gtest",
]
}