| Index: mojo/public/c/system/BUILD.gn
|
| diff --git a/mojo/public/c/system/BUILD.gn b/mojo/public/c/system/BUILD.gn
|
| index 5d7085decdd849dc012bee707e438dc6a60fd243..c876027690c64e8788c44f9c160cbe4864e1d3a8 100644
|
| --- a/mojo/public/c/system/BUILD.gn
|
| +++ b/mojo/public/c/system/BUILD.gn
|
| @@ -2,7 +2,11 @@
|
| # Use of this source code is governed by a BSD-style license that can be
|
| # found in the LICENSE file.
|
|
|
| -component("system") {
|
| +# Depend on this target to use the types etc defined in the system without
|
| +# linking against a specific implementation of the system. To link against a
|
| +# particular implementation, use the :for_component or
|
| +# :for_shared_library targets, depending on the type of target you are.
|
| +source_set("system") {
|
| sources = [
|
| "buffer.h",
|
| "core.h",
|
| @@ -12,38 +16,45 @@
|
| "message_pipe.h",
|
| "platform_handle.h",
|
| "system_export.h",
|
| - "thunks.cc",
|
| - "thunks.h",
|
| "types.h",
|
| "wait_set.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 //mojo/public/mojo_application.gni.
|
| -source_set("set_thunks_for_app") {
|
| - sources = [
|
| - "set_thunks_for_app.cc",
|
| - ]
|
| -
|
| - public_deps = [
|
| - ":system",
|
| - ]
|
| -}
|
| -
|
| -# TODO(rockot): Delete these deprecated aliases.
|
| +# In an is_component_build build, everything can link against //mojo/edk/system
|
| +# because it is built as a shared library. However, in a static build,
|
| +# //mojo/edk/system is linked into an executable (e.g., mojo_shell), and must be
|
| +# injected into other shared libraries (i.e., Mojo Apps) that need the mojo
|
| +# system API.
|
| +#
|
| +# For component targets, add //mojo/public/c/system:for_component to your deps
|
| +# section.
|
| +#
|
| +# For shared_library targets (e.g., a Mojo App), add
|
| +# //mojo/public/c/system:for_shared_library to your deps
|
|
|
| group("for_shared_library") {
|
| public_deps = [
|
| ":system",
|
| ]
|
| + if (is_component_build) {
|
| + deps = [
|
| + "//mojo/edk/system",
|
| + ]
|
| + } else {
|
| + deps = [
|
| + "../../platform/native:system",
|
| + ]
|
| + }
|
| }
|
|
|
| group("for_component") {
|
| public_deps = [
|
| ":system",
|
| ]
|
| + if (is_component_build) {
|
| + deps = [
|
| + "//mojo/edk/system",
|
| + ]
|
| + }
|
| }
|
|
|