| # 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. |
| |
| import("//build/config/nacl/config.gni") |
| |
| source_set("headers") { |
| sources = [ |
| "configuration.h", |
| "connection_params.h", |
| "embedder.h", |
| "embedder_internal.h", |
| "incoming_broker_client_invitation.h", |
| "named_platform_channel_pair.h", |
| "named_platform_handle.h", |
| "named_platform_handle_utils.h", |
| "outgoing_broker_client_invitation.h", |
| "peer_connection.h", |
| "platform_channel_pair.h", |
| "platform_handle.h", |
| "platform_handle_utils.h", |
| "scoped_ipc_support.h", |
| "scoped_platform_handle.h", |
| "transport_protocol.h", |
| ] |
| |
| public_deps = [ |
| "//base", |
| "//mojo/public/cpp/system", |
| ] |
| } |
| |
| source_set("embedder") { |
| # This isn't really a standalone target; it must be linked into the |
| # mojo_system_impl component. |
| visibility = [ |
| "//mojo/edk/system", |
| "//components/nacl:nacl", |
| ] |
| |
| sources = [ |
| "configuration.h", |
| "connection_params.cc", |
| "embedder.cc", |
| "entrypoints.cc", |
| "entrypoints.h", |
| "incoming_broker_client_invitation.cc", |
| "outgoing_broker_client_invitation.cc", |
| "peer_connection.cc", |
| "scoped_ipc_support.cc", |
| |
| # Test-only code: |
| # TODO(vtl): It's a little unfortunate that these end up in the same |
| # component as non-test-only code. In the static build, this code should |
| # hopefully be dead-stripped. |
| "test_embedder.cc", |
| "test_embedder.h", |
| ] |
| |
| defines = [ "MOJO_SYSTEM_IMPL_IMPLEMENTATION" ] |
| |
| deps = [ |
| "//mojo/edk/system/ports", |
| ] |
| |
| public_deps = [ |
| ":headers", |
| ":platform", |
| "//base", |
| "//mojo/public/cpp/system", |
| ] |
| |
| if (!is_nacl) { |
| deps += [ "//crypto" ] |
| } |
| } |
| |
| source_set("platform") { |
| # This isn't really a standalone target; it must be linked into the |
| # mojo_system_impl component. |
| visibility = [ |
| ":embedder", |
| "//mojo/edk/system", |
| ] |
| |
| sources = [ |
| "named_platform_channel_pair.h", |
| "named_platform_channel_pair_win.cc", |
| "named_platform_handle.h", |
| "named_platform_handle_utils.h", |
| "named_platform_handle_utils_win.cc", |
| "platform_channel_pair.cc", |
| "platform_channel_pair.h", |
| "platform_channel_pair_win.cc", |
| "platform_handle.cc", |
| "platform_handle.h", |
| "platform_handle_utils.h", |
| "platform_handle_utils_win.cc", |
| "platform_handle_vector.h", |
| "platform_shared_buffer.cc", |
| "platform_shared_buffer.h", |
| "scoped_platform_handle.h", |
| ] |
| |
| if (is_fuchsia) { |
| sources += [ |
| "named_platform_handle_utils_fuchsia.cc", |
| "platform_channel_pair_fuchsia.cc", |
| "platform_handle_utils_fuchsia.cc", |
| ] |
| } else if (is_posix) { |
| sources += [ |
| "platform_channel_pair_posix.cc", |
| "platform_channel_utils_posix.cc", |
| "platform_channel_utils_posix.h", |
| "platform_handle_utils_posix.cc", |
| ] |
| if (!is_nacl) { |
| sources += [ "named_platform_handle_utils_posix.cc" ] |
| } |
| } |
| |
| if (is_nacl && !is_nacl_nonsfi) { |
| sources -= [ "platform_channel_utils_posix.cc" ] |
| } |
| |
| defines = [ "MOJO_SYSTEM_IMPL_IMPLEMENTATION" ] |
| |
| public_deps = [ |
| "//mojo/public/cpp/system", |
| ] |
| |
| deps = [ |
| "//base", |
| ] |
| |
| if (is_android) { |
| deps += [ "//third_party/ashmem" ] |
| } |
| } |
| |
| source_set("embedder_unittests") { |
| testonly = true |
| |
| # TODO: Figure out why this visibility check fails on Android. |
| # visibility = [ "//mojo/edk/system:mojo_system_unittests" ] |
| |
| sources = [ |
| "embedder_unittest.cc", |
| "platform_shared_buffer_unittest.cc", |
| ] |
| |
| if (is_posix && !is_fuchsia) { |
| sources += [ "platform_channel_pair_posix_unittest.cc" ] |
| } |
| |
| deps = [ |
| "//base", |
| "//base/test:test_support", |
| "//mojo/edk/system", |
| "//mojo/edk/system:test_utils", |
| "//mojo/edk/test:test_support", |
| "//testing/gtest", |
| ] |
| } |