1 # Copyright 2014 The Chromium Authors. All rights reserved. 2 # Use of this source code is governed by a BSD-style license that can be 3 # found in the LICENSE file. 4 5 { 6 'conditions': [ 7 ['disable_nacl==0 and disable_nacl_untrusted==0', { 8 'variables': { 9 'monacl_codegen_dir': '<(SHARED_INTERMEDIATE_DIR)/<!(python <(DEPTH)/build/inverse_depth.py <(DEPTH))/monacl', 10 }, 11 'includes': [ 12 'mojo_variables.gypi', 13 '../build/common_untrusted.gypi', 14 '../components/nacl/nacl_defines.gypi', 15 ], 16 'targets': [ 17 { 18 'target_name': 'monacl_codegen', 19 'type': 'none', 20 'actions': [ 21 { 22 'action_name': 'generate_nacl_bindings', 23 'inputs': [ 24 'nacl/generator/generate_nacl_bindings.py', 25 'nacl/generator/interface.py', 26 'nacl/generator/interface_dsl.py', 27 'nacl/generator/mojo_syscall.cc.tmpl', 28 'nacl/generator/libmojo.cc.tmpl', 29 ], 30 'outputs': [ 31 '<(monacl_codegen_dir)/mojo_syscall.cc', 32 '<(monacl_codegen_dir)/libmojo.cc', 33 ], 34 'action': [ 35 'python', 36 'nacl/generator/generate_nacl_bindings.py', 37 '-d', '<(monacl_codegen_dir)', 38 ], 39 }, 40 ], 41 }, 42 { 43 'target_name': 'monacl_sel', 44 'type': 'static_library', 45 'defines': [ 46 '<@(nacl_defines)', 47 ], 48 'include_dirs': [ 49 '..', 50 ], 51 'sources': [ 52 '<(monacl_codegen_dir)/mojo_syscall.cc', 53 'nacl/monacl_sel_main.cc', 54 ], 55 'dependencies': [ 56 '<(DEPTH)/native_client/src/trusted/service_runtime/service_runtime.gyp:sel', 57 ], 58 }, 59 { 60 'target_name': 'monacl_shell', 61 'type': 'executable', 62 'dependencies': [ 63 '../base/base.gyp:base', 64 'mojo_base.gyp:mojo_system_impl', 65 'monacl_sel', 66 ], 67 'sources': [ 68 'nacl/monacl_shell.cc', 69 ], 70 }, 71 { 72 'target_name': 'mojo_nacl', 73 'type': 'none', 74 'variables': { 75 'nlib_target': 'libmojo.a', 76 'build_glibc': 0, 77 'build_newlib': 1, 78 'build_pnacl_newlib': 0, 79 }, 80 'defines': [ 81 '<@(nacl_defines)', 82 ], 83 'sources': [ 84 '<(monacl_codegen_dir)/libmojo.cc', 85 ], 86 'dependencies': [ 87 'monacl_codegen', 88 ], 89 }, 90 { 91 'target_name': 'monacl_test', 92 'type': 'none', 93 'variables': { 94 'nexe_target': 'monacl_test', 95 'build_newlib': 1, 96 'link_flags': [ 97 '-pthread', 98 '-lmojo', 99 '-limc_syscalls', 100 ], 101 'sources': [ 102 '<@(mojo_public_system_unittest_sources)', 103 ], 104 }, 105 'dependencies': [ 106 '<(DEPTH)/native_client/tools.gyp:prep_toolchain', 107 '<(DEPTH)/native_client/src/untrusted/nacl/nacl.gyp:nacl_lib', 108 '<(DEPTH)/native_client/src/untrusted/nacl/nacl.gyp:imc_syscalls_lib', 109 '<(DEPTH)/native_client/src/untrusted/pthread/pthread.gyp:pthread_lib', 110 '../testing/gtest_nacl.gyp:gtest_nacl', 111 '../testing/gtest_nacl.gyp:gtest_main_nacl', 112 'mojo_nacl', 113 'monacl_codegen', 114 ], 115 }, 116 ], 117 }], 118 ], 119 } 120