chromium/services/service_manager/BUILD.gn

# Copyright 2014 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//testing/test.gni")

group("all") {
  testonly = true
  deps = [ ":service_manager" ]

  if (!is_ios) {
    deps += [
      # These tests heavily rely on service binaries, which are not supported on
      # iOS.
      "//services/service_manager/tests",
    ]
  }
}

source_set("service_manager") {
  sources = [
    "background_service_manager.cc",
    "background_service_manager.h",
    "catalog.cc",
    "catalog.h",
    "service_instance.cc",
    "service_instance.h",
    "service_instance_registry.cc",
    "service_instance_registry.h",
    "service_manager.cc",
    "service_manager.h",
    "service_process_host.h",
    "service_process_launcher_delegate.h",
    "service_process_launcher_factory.h",
    "switches.cc",
    "switches.h",
  ]

  configs += [ "//build/config/compiler:wexit_time_destructors" ]

  deps = [
    "//build:chromeos_buildflags",
    "//components/services/filesystem:lib",
    "//components/services/filesystem/public/mojom",
    "//sandbox/policy",
    "//ui/base",
  ]

  public_deps = [
    "//base",
    "//mojo/public/cpp/bindings",
    "//sandbox/policy/mojom",
    "//services/service_manager/public/cpp",
    "//services/service_manager/public/mojom",
  ]

  if (!is_ios) {
    sources += [
      "service_process_launcher.cc",
      "service_process_launcher.h",
    ]

    deps += [
      "//mojo/core/embedder",
      "//services/service_manager/public/cpp/service_executable:switches",
    ]
  }

  if (is_linux || is_chromeos) {
    deps += [ "//sandbox/linux:sandbox_services" ]
  }
}