Chromium Code Reviews| Index: mojo/public/c/system/BUILD.gn |
| diff --git a/mojo/public/c/system/BUILD.gn b/mojo/public/c/system/BUILD.gn |
| index 38a348680331a032e14b2307dfcae185890dd753..5c9a164ed8767f611243d3cec38a19a4a1d9e88b 100644 |
| --- a/mojo/public/c/system/BUILD.gn |
| +++ b/mojo/public/c/system/BUILD.gn |
| @@ -2,9 +2,12 @@ |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| -source_set("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("headers") { |
| sources = [ |
| - "../../platform/native/system_thunks.cc", |
| "../../platform/native/system_thunks.h", |
| "buffer.h", |
| "core.h", |
| @@ -15,16 +18,6 @@ source_set("system") { |
| "system_export.h", |
| "types.h", |
| ] |
| - defines = [ "MOJO_SYSTEM_IMPLEMENTATION" ] |
| - |
| - # The GYP target analogous to this one builds this code into a |
| - # static library. When building for Android, both the GYP and GN |
| - # builds add --exclude-libs=ALL globally, which means that all |
| - # symbols in static libraries are excluded from export. That's a |
| - # problem, as code outside this target needs to be able to call |
| - # MojoSetSystemThunks(). Therefore, the GYP target needs to specifiy |
| - # that all dependent targets remove that link flag. Since GN uses a |
| - # source_set here, this flag change is not needed. |
| } |
| # In an is_component_build build, everything can link against //mojo/system |
| @@ -40,6 +33,7 @@ source_set("system") { |
| # //mojo/public/c/system:for_shared_library to your deps |
| group("for_shared_library") { |
| + public_deps = [ ":headers" ] |
| if (is_component_build) { |
| deps = [ "//mojo/system" ] |
| } else { |
| @@ -48,7 +42,29 @@ group("for_shared_library") { |
| } |
| group("for_component") { |
| + public_deps = [ ":headers" ] |
| if (is_component_build) { |
| deps = [ "//mojo/system" ] |
| } |
| } |
| + |
| +source_set("system") { |
|
viettrungluu
2014/09/25 00:36:21
Maybe it'd be more consistent (with the pattern fo
|
| + visibility = [ ":for_component", ":for_shared_library", "//mojo/public" ] |
| + |
| + sources = [ |
| + "../../platform/native/system_thunks.cc", |
| + ] |
| + defines = [ "MOJO_SYSTEM_IMPLEMENTATION" ] |
| + deps = [ ":headers" ] |
| + |
| + # The GYP target analogous to this one builds this code into a |
| + # static library. When building for Android, both the GYP and GN |
| + # builds add --exclude-libs=ALL globally, which means that all |
| + # symbols in static libraries are excluded from export. That's a |
| + # problem, as code outside this target needs to be able to call |
| + # MojoSetSystemThunks(). Therefore, the GYP target needs to specifiy |
| + # that all dependent targets remove that link flag. Since GN uses a |
| + # source_set here, this flag change is not needed. |
| +} |
| + |
| + |