diff options
author | ncbray <ncbray@chromium.org> | 2014-09-11 16:00:16 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-09-11 23:12:58 +0000 |
commit | 95d2d4025c767fbc5669377aae457a4bfb5ca46b (patch) | |
tree | 2aa4a8c86a814466dddf88c16ab28f6e50549201 /mojo/mojo_nacl.gyp | |
parent | 60cf26c22bf0bb90fa6dbbdef5cb79fe7c305ecb (diff) | |
download | chromium_src-95d2d4025c767fbc5669377aae457a4bfb5ca46b.zip chromium_src-95d2d4025c767fbc5669377aae457a4bfb5ca46b.tar.gz chromium_src-95d2d4025c767fbc5669377aae457a4bfb5ca46b.tar.bz2 |
Mojo + NaCl prototype.
Create a standalone executable that plumbs public Mojo API calls into a NaCl
sandbox. This allows the public Mojo unit tests to run inside NaCl.
BUG=401761
Review URL: https://codereview.chromium.org/385983008
Cr-Commit-Position: refs/heads/master@{#294484}
Diffstat (limited to 'mojo/mojo_nacl.gyp')
-rw-r--r-- | mojo/mojo_nacl.gyp | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/mojo/mojo_nacl.gyp b/mojo/mojo_nacl.gyp new file mode 100644 index 0000000..1184dd7 --- /dev/null +++ b/mojo/mojo_nacl.gyp @@ -0,0 +1,119 @@ +# Copyright 2014 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. + +{ + 'conditions': [ + ['disable_nacl==0 and disable_nacl_untrusted==0', { + 'variables': { + 'monacl_codegen_dir': '<(SHARED_INTERMEDIATE_DIR)/<!(python <(DEPTH)/build/inverse_depth.py <(DEPTH))/monacl', + }, + 'includes': [ + 'mojo_variables.gypi', + '../build/common_untrusted.gypi', + '../components/nacl/nacl_defines.gypi', + ], + 'targets': [ + { + 'target_name': 'monacl_codegen', + 'type': 'none', + 'actions': [ + { + 'action_name': 'generate_nacl_bindings', + 'inputs': [ + 'nacl/generator/generate_nacl_bindings.py', + 'nacl/generator/interface.py', + 'nacl/generator/interface_dsl.py', + 'nacl/generator/mojo_syscall.cc.tmpl', + 'nacl/generator/libmojo.cc.tmpl', + ], + 'outputs': [ + '<(monacl_codegen_dir)/mojo_syscall.cc', + '<(monacl_codegen_dir)/libmojo.cc', + ], + 'action': [ + 'python', + 'nacl/generator/generate_nacl_bindings.py', + '-d', '<(monacl_codegen_dir)', + ], + }, + ], + }, + { + 'target_name': 'monacl_sel', + 'type': 'static_library', + 'defines': [ + '<@(nacl_defines)', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + '<(monacl_codegen_dir)/mojo_syscall.cc', + 'nacl/monacl_sel_main.cc', + ], + 'dependencies': [ + '<(DEPTH)/native_client/src/trusted/service_runtime/service_runtime.gyp:sel', + ], + }, + { + 'target_name': 'monacl_shell', + 'type': 'executable', + 'dependencies': [ + '../base/base.gyp:base', + 'mojo_base.gyp:mojo_system_impl', + 'monacl_sel', + ], + 'sources': [ + 'nacl/monacl_shell.cc', + ], + }, + { + 'target_name': 'mojo_nacl', + 'type': 'none', + 'variables': { + 'nlib_target': 'libmojo.a', + 'build_glibc': 0, + 'build_newlib': 1, + 'build_pnacl_newlib': 0, + }, + 'defines': [ + '<@(nacl_defines)', + ], + 'sources': [ + '<(monacl_codegen_dir)/libmojo.cc', + ], + 'dependencies': [ + 'monacl_codegen', + ], + }, + { + 'target_name': 'monacl_test', + 'type': 'none', + 'variables': { + 'nexe_target': 'monacl_test', + 'build_newlib': 1, + 'link_flags': [ + '-pthread', + '-lmojo', + '-limc_syscalls', + ], + 'sources': [ + '<@(mojo_public_system_unittest_sources)', + ], + }, + 'dependencies': [ + '<(DEPTH)/native_client/tools.gyp:prep_toolchain', + '<(DEPTH)/native_client/src/untrusted/nacl/nacl.gyp:nacl_lib', + '<(DEPTH)/native_client/src/untrusted/nacl/nacl.gyp:imc_syscalls_lib', + '<(DEPTH)/native_client/src/untrusted/pthread/pthread.gyp:pthread_lib', + '../testing/gtest_nacl.gyp:gtest_nacl', + '../testing/gtest_nacl.gyp:gtest_main_nacl', + 'mojo_nacl', + 'monacl_codegen', + ], + }, + ], + }], + ], +} |