Index: mojo/public/c/system/BUILD.gn |
diff --git a/mojo/public/c/system/BUILD.gn b/mojo/public/c/system/BUILD.gn |
index c876027690c64e8788c44f9c160cbe4864e1d3a8..5d7085decdd849dc012bee707e438dc6a60fd243 100644 |
--- a/mojo/public/c/system/BUILD.gn |
+++ b/mojo/public/c/system/BUILD.gn |
@@ -2,11 +2,7 @@ |
# Use of this source code is governed by a BSD-style license that can be |
# found in the LICENSE file. |
-# 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") { |
+component("system") { |
sources = [ |
"buffer.h", |
"core.h", |
@@ -16,45 +12,38 @@ |
"message_pipe.h", |
"platform_handle.h", |
"system_export.h", |
+ "thunks.cc", |
+ "thunks.h", |
"types.h", |
"wait_set.h", |
] |
+ |
+ defines = [ "MOJO_SYSTEM_IMPLEMENTATION" ] |
} |
-# 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 |
+# 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. |
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", |
- ] |
- } |
} |