# Copyright 2014 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("system") {
  output_name = "mojo_public_system"

  sources = [
    "buffer.h",
    "core.h",
    "data_pipe.h",
    "functions.h",
    "macros.h",
    "message_pipe.h",
    "platform_handle.h",
    "system_export.h",
    "thunks.cc",
    "thunks.h",
    "types.h",
    "watcher.h",
  ]

  defines = [ "MOJO_SYSTEM_IMPLEMENTATION" ]
}

# This should ONLY be depended upon directly by shared_library targets which
# need to export the MojoSetSystemThunks symbol, like targets generated by the
# mojo_native_application template in //services/service_manager/public/cpp/service.gni.
source_set("set_thunks_for_app") {
  sources = [
    "set_thunks_for_app.cc",
  ]

  public_deps = [
    ":system",
  ]
}
