blob: a69f6194456274fe9e221d0966d15a9f5c755dea [file] [log] [blame]
# 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_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",
]
}