chromium/mojo/public/cpp/system/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.

component("system") {
  output_name = "mojo_public_system_cpp"

  sources = [
    "buffer.cc",
    "buffer.h",
    "data_pipe.h",
    "data_pipe_drainer.cc",
    "data_pipe_drainer.h",
    "data_pipe_producer.cc",
    "data_pipe_producer.h",
    "data_pipe_utils.cc",
    "data_pipe_utils.h",
    "file_data_source.cc",
    "file_data_source.h",
    "filtered_data_source.cc",
    "filtered_data_source.h",
    "functions.cc",
    "functions.h",
    "handle.h",
    "handle_signal_tracker.cc",
    "handle_signal_tracker.h",
    "handle_signals_state.h",
    "invitation.cc",
    "invitation.h",
    "isolated_connection.cc",
    "isolated_connection.h",
    "message.h",
    "message_pipe.cc",
    "message_pipe.h",
    "platform_handle.cc",
    "platform_handle.h",
    "scope_to_message_pipe.cc",
    "scope_to_message_pipe.h",
    "simple_watcher.cc",
    "simple_watcher.h",
    "string_data_source.cc",
    "string_data_source.h",
    "system_export.h",
    "trap.cc",
    "trap.h",
    "wait.cc",
    "wait.h",
    "wait_set.cc",
    "wait_set.h",
  ]

  if (is_nacl) {
    # This file refers to a the base::File::File(path, flags)
    # constructor which does not exist in nacl builds, and the code
    # here is unused in nacl builds anyway.
    sources -= [ "file_data_source.cc" ]
  }

  public_deps = [
    "//base",
    "//mojo/core/embedder",
    "//mojo/public/c/system",
    "//mojo/public/cpp/platform",
  ]

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

  defines = [ "MOJO_CPP_SYSTEM_IMPLEMENTATION" ]
}