Index: mojo/mojo_public.gyp |
diff --git a/mojo/mojo_public.gyp b/mojo/mojo_public.gyp |
index ec5eb0eca412a168d885ff59794f3632507c2425..d73e4123f8ffee9c0d39b666c520baf3492a962b 100644 |
--- a/mojo/mojo_public.gyp |
+++ b/mojo/mojo_public.gyp |
@@ -3,13 +3,15 @@ |
# found in the LICENSE file. |
{ |
+ 'includes': [ |
+ 'mojo_variables.gypi', |
+ ], |
'target_defaults' : { |
'include_dirs': [ |
'..', |
], |
}, |
'variables': { |
- 'chromium_code': 1, |
'mojo_public_test_interfaces_mojom_files': [ |
'public/interfaces/bindings/tests/math_calculator.mojom', |
'public/interfaces/bindings/tests/no_module.mojom', |
@@ -34,15 +36,48 @@ |
'type': 'none', |
'dependencies': [ |
'mojo_js_bindings', |
- 'mojo_public_system', |
'mojo_public_test_interfaces', |
'mojo_public_test_utils', |
+ 'mojo_system', |
+ ], |
+ }, |
+ { |
+ # Targets that (a) need to obtain the settings that mojo_system passes on |
+ # to its direct dependents but (b) are not themselves in a position to |
+ # hardcode a dependency to mojo_system vs. mojo_system_impl (e.g., |
+ # because they are components) should depend on this target. |
+ 'target_name': 'mojo_system_placeholder', |
+ 'type': 'none', |
+ }, |
+ { |
+ 'target_name': 'mojo_system', |
+ 'type': 'static_library', |
+ 'defines': [ |
+ 'MOJO_SYSTEM_IMPLEMENTATION', |
+ ], |
+ 'all_dependent_settings': { |
+ 'conditions': [ |
+ # We need to be able to call the MojoSetSystemThunks() function in |
+ # system_thunks.cc |
+ ['OS=="android"', { |
+ 'ldflags!': [ |
+ '-Wl,--exclude-libs=ALL', |
+ ], |
+ }], |
+ ], |
+ }, |
+ 'sources': [ |
+ 'public/platform/native/system_thunks.cc', |
+ 'public/platform/native/system_thunks.h', |
+ ], |
+ 'dependencies': [ |
+ 'mojo_system_headers', |
], |
}, |
{ |
# GN version: //mojo/public/c/system |
- 'target_name': 'mojo_public_system', |
- 'type': '<(component)', |
+ 'target_name': 'mojo_system_headers', |
+ 'type': 'none', |
'sources': [ |
'public/c/system/buffer.h', |
'public/c/system/core.h', |
@@ -52,13 +87,8 @@ |
'public/c/system/message_pipe.h', |
'public/c/system/platform_handle.h', |
'public/c/system/system_export.h', |
- 'public/c/system/thunks.cc', |
- 'public/c/systme/thunks.h', |
'public/c/system/types.h', |
'public/c/system/wait_set.h', |
- ], |
- 'defines': [ |
- 'MOJO_SYSTEM_IMPLEMENTATION', |
], |
}, |
{ |
@@ -81,7 +111,7 @@ |
], |
'dependencies': [ |
'../base/base.gyp:base', |
- 'mojo_public_system', |
+ 'mojo_system_headers', |
], |
}, |
{ |
@@ -217,7 +247,7 @@ |
'dependencies': [ |
'../base/base.gyp:base', |
'../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations', |
- 'mojo_cpp_system', |
+ '<(mojo_system_for_component)', |
], |
'export_dependent_settings': [ |
'../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations', |