blob: 16829abed233401ddc007705323e1d523ee5cc87 [file] [log] [blame]
# Copyright 2015 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.
# See comments in mojo/public/c/system/BUILD.gn which this is based on.
# Summary: depend on this target to use the platform handle functions without
# linking against a specific implementation.
# For component targets, add //mojo/platform_handle:for_component to your deps
# section.
# For shared_library targets (e.g., a Mojo App), add
# //mojo/platform_handle:for_shared_library to your deps.
source_set("platform_handle") {
sources = [
"platform_handle.h",
"platform_handle_functions.h",
]
deps = [
"//mojo/public/c/system",
]
}
component("platform_handle_impl") {
output_name = "platform_handle_impl"
public_deps = [
":platform_handle",
]
sources = [
"platform_handle_functions.cc",
]
defines = [ "PLATFORM_HANDLE_IMPLEMENTATION" ]
deps = [
"//base",
"//mojo/edk/embedder:headers",
"//mojo/public/c/system:for_component",
]
}
source_set("platform_handle_thunks") {
public_deps = [
":platform_handle",
]
sources = [
"platform_handle_private_thunks.cc",
"platform_handle_private_thunks.h",
]
defines = [ "PLATFORM_HANDLE_IMPLEMENTATION" ]
deps = [
"//mojo/public/c/system",
]
}
group("for_shared_library") {
public_deps = [
":platform_handle",
]
if (is_component_build) {
deps = [
":platform_handle_impl",
]
} else {
deps = [
":platform_handle_thunks",
]
}
}
group("for_component") {
public_deps = [
":platform_handle",
]
if (is_component_build) {
deps = [
":platform_handle_impl",
]
}
}