| OLD | NEW |
| (Empty) |
| 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 'variables': { | |
| 7 'chromium_code': 1, | |
| 8 }, | |
| 9 'includes': [ | |
| 10 '../build/common_untrusted.gypi', | |
| 11 ], | |
| 12 'conditions': [ | |
| 13 ['disable_nacl==0 and disable_nacl_untrusted==0', { | |
| 14 'targets': [ | |
| 15 { | |
| 16 # nacl_helper_nonsfi is similar to nacl_helper (built in nacl.gyp) | |
| 17 # but for the NaCl plugin in Non-SFI mode. | |
| 18 # This binary is built using the PNaCl toolchain, but it is native | |
| 19 # linux binary and will run on Linux directly. | |
| 20 # Most library code can be shared with the one for untrusted build | |
| 21 # (i.e. the one for irt.nexe built by the NaCl/PNaCl toolchain), but | |
| 22 # as nacl_helper_nonsfi runs on Linux, there are some differences, | |
| 23 # such as MessageLoopForIO (which is based on libevent in Non-SFI | |
| 24 # mode) or ipc_channel implementation. | |
| 25 # Because of the toolchain, in both builds, OS_NACL macro (derived | |
| 26 # from __native_client__ macro) is defined. Code can test whether | |
| 27 # __native_client_nonsfi__ is #defined in order to determine | |
| 28 # whether it is being compiled for SFI mode or Non-SFI mode. | |
| 29 # | |
| 30 # Currently, nacl_helper_nonsfi is under development and the binary | |
| 31 # does nothing (i.e. it has only empty main(), now). | |
| 32 # TODO(crbug.com/358465): Implement it then switch nacl_helper in | |
| 33 # Non-SFI mode to nacl_helper_nonsfi. | |
| 34 'target_name': 'nacl_helper_nonsfi', | |
| 35 'type': 'none', | |
| 36 'variables': { | |
| 37 'nacl_untrusted_build': 1, | |
| 38 'nexe_target': 'nacl_helper_nonsfi', | |
| 39 # Rename the output binary file to nacl_helper_nonsfi and put it | |
| 40 # directly under out/{Debug,Release}/. | |
| 41 'out_newlib32_nonsfi': '<(PRODUCT_DIR)/nacl_helper_nonsfi', | |
| 42 'out_newlib_arm_nonsfi': '<(PRODUCT_DIR)/nacl_helper_nonsfi', | |
| 43 | |
| 44 'build_glibc': 0, | |
| 45 'build_newlib': 0, | |
| 46 'build_irt': 0, | |
| 47 'build_pnacl_newlib': 0, | |
| 48 'build_nonsfi_helper': 1, | |
| 49 | |
| 50 'sources': [ | |
| 51 'nacl/common/nacl_messages.cc', | |
| 52 'nacl/common/nacl_switches.cc', | |
| 53 'nacl/common/nacl_types.cc', | |
| 54 'nacl/common/nacl_types_param_traits.cc', | |
| 55 'nacl/loader/nacl_helper_linux.cc', | |
| 56 'nacl/loader/nacl_trusted_listener.cc', | |
| 57 'nacl/loader/nonsfi/nonsfi_listener.cc', | |
| 58 'nacl/loader/nonsfi/nonsfi_main.cc', | |
| 59 ], | |
| 60 | |
| 61 'link_flags': [ | |
| 62 '-lbase_nacl_nonsfi', | |
| 63 '-lcommand_buffer_client_nacl', | |
| 64 '-lcommand_buffer_common_nacl', | |
| 65 '-lcontent_common_nacl_nonsfi', | |
| 66 '-lelf_loader', | |
| 67 '-levent_nacl_nonsfi', | |
| 68 '-lgfx_geometry_nacl', | |
| 69 '-lgfx_ipc_geometry_nacl', | |
| 70 '-lgio', | |
| 71 '-lgles2_cmd_helper_nacl', | |
| 72 '-lgles2_implementation_nacl', | |
| 73 '-lgles2_utils_nacl', | |
| 74 '-lgpu_ipc_nacl', | |
| 75 '-lipc_nacl_nonsfi', | |
| 76 '-lmojo_cpp_bindings_nacl', | |
| 77 '-lmojo_cpp_system_nacl', | |
| 78 '-lmojo_public_system_nacl', | |
| 79 '-lmojo_system_impl_nacl_nonsfi', | |
| 80 '-lnacl_helper_nonsfi_sandbox', | |
| 81 '-lplatform', | |
| 82 '-lppapi_ipc_nacl', | |
| 83 '-lppapi_proxy_nacl', | |
| 84 '-lppapi_shared_nacl', | |
| 85 '-lsandbox_linux_nacl_nonsfi', | |
| 86 '-lshared_memory_support_nacl', | |
| 87 '-ltracing_nacl', | |
| 88 ], | |
| 89 | |
| 90 'conditions': [ | |
| 91 ['target_arch=="ia32" or target_arch=="x64"', { | |
| 92 'extra_deps_newlib32_nonsfi': [ | |
| 93 '>(tc_lib_dir_nonsfi_helper32)/libbase_nacl_nonsfi.a', | |
| 94 '>(tc_lib_dir_nonsfi_helper32)/libcommand_buffer_client_nacl.a
', | |
| 95 '>(tc_lib_dir_nonsfi_helper32)/libcommand_buffer_common_nacl.a
', | |
| 96 '>(tc_lib_dir_nonsfi_helper32)/libcontent_common_nacl_nonsfi.a
', | |
| 97 '>(tc_lib_dir_nonsfi_helper32)/libelf_loader.a', | |
| 98 '>(tc_lib_dir_nonsfi_helper32)/libevent_nacl_nonsfi.a', | |
| 99 '>(tc_lib_dir_nonsfi_helper32)/libgfx_geometry_nacl.a', | |
| 100 '>(tc_lib_dir_nonsfi_helper32)/libgfx_ipc_geometry_nacl.a', | |
| 101 '>(tc_lib_dir_nonsfi_helper32)/libgio.a', | |
| 102 '>(tc_lib_dir_nonsfi_helper32)/libgles2_cmd_helper_nacl.a', | |
| 103 '>(tc_lib_dir_nonsfi_helper32)/libgles2_implementation_nacl.a'
, | |
| 104 '>(tc_lib_dir_nonsfi_helper32)/libgles2_utils_nacl.a', | |
| 105 '>(tc_lib_dir_nonsfi_helper32)/libgpu_ipc_nacl.a', | |
| 106 '>(tc_lib_dir_nonsfi_helper32)/libipc_nacl_nonsfi.a', | |
| 107 '>(tc_lib_dir_nonsfi_helper32)/libmojo_cpp_bindings_nacl.a', | |
| 108 '>(tc_lib_dir_nonsfi_helper32)/libmojo_cpp_system_nacl.a', | |
| 109 '>(tc_lib_dir_nonsfi_helper32)/libmojo_public_system_nacl.a', | |
| 110 '>(tc_lib_dir_nonsfi_helper32)/libmojo_system_impl_nacl_nonsfi
.a', | |
| 111 '>(tc_lib_dir_nonsfi_helper32)/libnacl_helper_nonsfi_sandbox.a
', | |
| 112 '>(tc_lib_dir_nonsfi_helper32)/libplatform.a', | |
| 113 '>(tc_lib_dir_nonsfi_helper32)/libppapi_ipc_nacl.a', | |
| 114 '>(tc_lib_dir_nonsfi_helper32)/libppapi_proxy_nacl.a', | |
| 115 '>(tc_lib_dir_nonsfi_helper32)/libppapi_shared_nacl.a', | |
| 116 '>(tc_lib_dir_nonsfi_helper32)/libsandbox_linux_nacl_nonsfi.a'
, | |
| 117 '>(tc_lib_dir_nonsfi_helper32)/libshared_memory_support_nacl.a
', | |
| 118 '>(tc_lib_dir_nonsfi_helper32)/libtracing_nacl.a', | |
| 119 ], | |
| 120 }], | |
| 121 ['target_arch=="arm"', { | |
| 122 'extra_deps_newlib_arm_nonsfi': [ | |
| 123 '>(tc_lib_dir_nonsfi_helper_arm)/libbase_nacl_nonsfi.a', | |
| 124 '>(tc_lib_dir_nonsfi_helper_arm)/libcommand_buffer_client_nacl
.a', | |
| 125 '>(tc_lib_dir_nonsfi_helper_arm)/libcommand_buffer_common_nacl
.a', | |
| 126 '>(tc_lib_dir_nonsfi_helper_arm)/libcontent_common_nacl_nonsfi
.a', | |
| 127 '>(tc_lib_dir_nonsfi_helper_arm)/libelf_loader.a', | |
| 128 '>(tc_lib_dir_nonsfi_helper_arm)/libevent_nacl_nonsfi.a', | |
| 129 '>(tc_lib_dir_nonsfi_helper_arm)/libgfx_geometry_nacl.a', | |
| 130 '>(tc_lib_dir_nonsfi_helper_arm)/libgfx_ipc_geometry_nacl.a', | |
| 131 '>(tc_lib_dir_nonsfi_helper_arm)/libgio.a', | |
| 132 '>(tc_lib_dir_nonsfi_helper_arm)/libgles2_cmd_helper_nacl.a', | |
| 133 '>(tc_lib_dir_nonsfi_helper_arm)/libgles2_implementation_nacl.
a', | |
| 134 '>(tc_lib_dir_nonsfi_helper_arm)/libgles2_utils_nacl.a', | |
| 135 '>(tc_lib_dir_nonsfi_helper_arm)/libgpu_ipc_nacl.a', | |
| 136 '>(tc_lib_dir_nonsfi_helper_arm)/libipc_nacl_nonsfi.a', | |
| 137 '>(tc_lib_dir_nonsfi_helper_arm)/libmojo_cpp_bindings_nacl.a', | |
| 138 '>(tc_lib_dir_nonsfi_helper_arm)/libmojo_cpp_system_nacl.a', | |
| 139 '>(tc_lib_dir_nonsfi_helper_arm)/libmojo_public_system_nacl.a'
, | |
| 140 '>(tc_lib_dir_nonsfi_helper_arm)/libmojo_system_impl_nacl_nons
fi.a', | |
| 141 '>(tc_lib_dir_nonsfi_helper_arm)/libnacl_helper_nonsfi_sandbox
.a', | |
| 142 '>(tc_lib_dir_nonsfi_helper_arm)/libplatform.a', | |
| 143 '>(tc_lib_dir_nonsfi_helper_arm)/libppapi_ipc_nacl.a', | |
| 144 '>(tc_lib_dir_nonsfi_helper_arm)/libppapi_proxy_nacl.a', | |
| 145 '>(tc_lib_dir_nonsfi_helper_arm)/libppapi_shared_nacl.a', | |
| 146 '>(tc_lib_dir_nonsfi_helper_arm)/libsandbox_linux_nacl_nonsfi.
a', | |
| 147 '>(tc_lib_dir_nonsfi_helper_arm)/libshared_memory_support_nacl
.a', | |
| 148 '>(tc_lib_dir_nonsfi_helper_arm)/libtracing_nacl.a', | |
| 149 ], | |
| 150 }], | |
| 151 ], | |
| 152 }, | |
| 153 'dependencies': [ | |
| 154 '../base/base_nacl.gyp:base_nacl_nonsfi', | |
| 155 '../content/content_nacl_nonsfi.gyp:content_common_nacl_nonsfi', | |
| 156 '../ipc/ipc_nacl.gyp:ipc_nacl_nonsfi', | |
| 157 '../mojo/mojo_edk_nacl.gyp:mojo_system_impl_nacl_nonsfi', | |
| 158 '../mojo/mojo_public_nacl.gyp:mojo_cpp_bindings_nacl', | |
| 159 '../mojo/mojo_public_nacl.gyp:mojo_cpp_system_nacl', | |
| 160 '../mojo/mojo_public_nacl.gyp:mojo_public_system_nacl', | |
| 161 '../native_client/src/nonsfi/irt/irt.gyp:nacl_sys_private', | |
| 162 '../native_client/src/nonsfi/loader/loader.gyp:elf_loader', | |
| 163 '../native_client/src/untrusted/nacl/nacl.gyp:nacl_lib_newlib', | |
| 164 '../ppapi/ppapi_proxy_nacl.gyp:ppapi_proxy_nacl', | |
| 165 '../sandbox/linux/sandbox_linux_nacl_nonsfi.gyp:sandbox_linux_nacl_n
onsfi', | |
| 166 'nacl_helper_nonsfi_sandbox', | |
| 167 ], | |
| 168 }, | |
| 169 | |
| 170 { | |
| 171 'target_name': 'nacl_helper_nonsfi_sandbox', | |
| 172 'type': 'none', | |
| 173 'variables': { | |
| 174 'nacl_untrusted_build': 1, | |
| 175 'nlib_target': 'libnacl_helper_nonsfi_sandbox.a', | |
| 176 | |
| 177 'build_glibc': 0, | |
| 178 'build_newlib': 0, | |
| 179 'build_irt': 0, | |
| 180 'build_pnacl_newlib': 0, | |
| 181 'build_nonsfi_helper': 1, | |
| 182 | |
| 183 'sources': [ | |
| 184 'nacl/loader/nonsfi/nonsfi_sandbox.cc', | |
| 185 'nacl/loader/sandbox_linux/nacl_sandbox_linux.cc', | |
| 186 ], | |
| 187 }, | |
| 188 'dependencies': [ | |
| 189 '../base/base_nacl.gyp:base_nacl_nonsfi', | |
| 190 '../content/content_nacl_nonsfi.gyp:content_common_nacl_nonsfi', | |
| 191 '../sandbox/linux/sandbox_linux_nacl_nonsfi.gyp:sandbox_linux_nacl_n
onsfi', | |
| 192 ], | |
| 193 }, | |
| 194 ], | |
| 195 }], | |
| 196 | |
| 197 ['disable_nacl==0 and disable_nacl_untrusted==0 and enable_nacl_nonsfi_test=
=1', { | |
| 198 'targets': [ | |
| 199 { | |
| 200 'target_name': 'nacl_helper_nonsfi_unittests_main', | |
| 201 'type': 'none', | |
| 202 'variables': { | |
| 203 'nacl_untrusted_build': 1, | |
| 204 'nexe_target': 'nacl_helper_nonsfi_unittests_main', | |
| 205 # Rename the output binary file to | |
| 206 # nacl_helper_nonsfi_unittests_main and put it directly under | |
| 207 # out/{Debug,Release}/, so that this is in the standard location, | |
| 208 # for running on the buildbots. | |
| 209 'out_newlib32_nonsfi': '<(PRODUCT_DIR)/nacl_helper_nonsfi_unittests_
main', | |
| 210 'out_newlib_arm_nonsfi': '<(PRODUCT_DIR)/nacl_helper_nonsfi_unittest
s_main', | |
| 211 | |
| 212 'build_glibc': 0, | |
| 213 'build_newlib': 0, | |
| 214 'build_irt': 0, | |
| 215 'build_pnacl_newlib': 0, | |
| 216 'build_nonsfi_helper': 1, | |
| 217 | |
| 218 'sources': [ | |
| 219 'nacl/loader/nonsfi/nonsfi_sandbox_sigsys_unittest.cc', | |
| 220 'nacl/loader/nonsfi/nonsfi_sandbox_unittest.cc', | |
| 221 'nacl/loader/nonsfi/run_all_unittests.cc', | |
| 222 ], | |
| 223 | |
| 224 'link_flags': [ | |
| 225 '-lbase_nacl_nonsfi', | |
| 226 '-lcontent_common_nacl_nonsfi', | |
| 227 '-levent_nacl_nonsfi', | |
| 228 '-lgio', | |
| 229 '-lgtest_nacl', | |
| 230 '-lnacl_helper_nonsfi_sandbox', | |
| 231 '-lplatform', | |
| 232 '-lsandbox_linux_nacl_nonsfi', | |
| 233 '-lsandbox_linux_test_utils_nacl_nonsfi', | |
| 234 '-ltest_support_base_nacl_nonsfi', | |
| 235 ], | |
| 236 | |
| 237 'conditions': [ | |
| 238 ['target_arch=="ia32" or target_arch=="x64"', { | |
| 239 'extra_deps_newlib32_nonsfi': [ | |
| 240 '>(tc_lib_dir_nonsfi_helper32)/libbase_nacl_nonsfi.a', | |
| 241 '>(tc_lib_dir_nonsfi_helper32)/libcontent_common_nacl_nonsfi.a
', | |
| 242 '>(tc_lib_dir_nonsfi_helper32)/libevent_nacl_nonsfi.a', | |
| 243 '>(tc_lib_dir_nonsfi_helper32)/libgio.a', | |
| 244 '>(tc_lib_dir_nonsfi_helper32)/libgtest_nacl.a', | |
| 245 '>(tc_lib_dir_nonsfi_helper32)/libnacl_helper_nonsfi_sandbox.a
', | |
| 246 '>(tc_lib_dir_nonsfi_helper32)/libplatform.a', | |
| 247 '>(tc_lib_dir_nonsfi_helper32)/libsandbox_linux_nacl_nonsfi.a'
, | |
| 248 '>(tc_lib_dir_nonsfi_helper32)/libsandbox_linux_test_utils_nac
l_nonsfi.a', | |
| 249 '>(tc_lib_dir_nonsfi_helper32)/libtest_support_base_nacl_nonsf
i.a', | |
| 250 ], | |
| 251 }], | |
| 252 ['target_arch=="arm"', { | |
| 253 'extra_deps_newlib_arm_nonsfi': [ | |
| 254 '>(tc_lib_dir_nonsfi_helper_arm)/libbase_nacl_nonsfi.a', | |
| 255 '>(tc_lib_dir_nonsfi_helper_arm)/libcontent_common_nacl_nonsfi
.a', | |
| 256 '>(tc_lib_dir_nonsfi_helper_arm)/libevent_nacl_nonsfi.a', | |
| 257 '>(tc_lib_dir_nonsfi_helper_arm)/libgio.a', | |
| 258 '>(tc_lib_dir_nonsfi_helper_arm)/libgtest_nacl.a', | |
| 259 '>(tc_lib_dir_nonsfi_helper_arm)/libnacl_helper_nonsfi_sandbox
.a', | |
| 260 '>(tc_lib_dir_nonsfi_helper_arm)/libplatform.a', | |
| 261 '>(tc_lib_dir_nonsfi_helper_arm)/libsandbox_linux_nacl_nonsfi.
a', | |
| 262 '>(tc_lib_dir_nonsfi_helper_arm)/libsandbox_linux_test_utils_n
acl_nonsfi.a', | |
| 263 '>(tc_lib_dir_nonsfi_helper_arm)/libtest_support_base_nacl_non
sfi.a', | |
| 264 ], | |
| 265 }], | |
| 266 ], | |
| 267 }, | |
| 268 | |
| 269 'dependencies': [ | |
| 270 '../base/base_nacl.gyp:base_nacl_nonsfi', | |
| 271 '../base/base_nacl.gyp:test_support_base_nacl_nonsfi', | |
| 272 '../content/content_nacl_nonsfi.gyp:content_common_nacl_nonsfi', | |
| 273 '../native_client/src/nonsfi/irt/irt.gyp:nacl_sys_private', | |
| 274 '../native_client/src/untrusted/nacl/nacl.gyp:nacl_lib_newlib', | |
| 275 '../sandbox/linux/sandbox_linux_nacl_nonsfi.gyp:sandbox_linux_nacl_n
onsfi', | |
| 276 '../sandbox/linux/sandbox_linux_nacl_nonsfi.gyp:sandbox_linux_test_u
tils_nacl_nonsfi', | |
| 277 '../testing/gtest_nacl.gyp:gtest_nacl', | |
| 278 'nacl_helper_nonsfi_sandbox', | |
| 279 ], | |
| 280 }, | |
| 281 ], | |
| 282 }], | |
| 283 | |
| 284 ['disable_nacl==0 and disable_nacl_untrusted==0 and enable_nacl_nonsfi_test=
=1 and test_isolation_mode!="noop"', { | |
| 285 'targets': [ | |
| 286 { | |
| 287 'target_name': 'nacl_helper_nonsfi_unittests_run', | |
| 288 'type': 'none', | |
| 289 'dependencies': [ | |
| 290 'nacl.gyp:nacl_helper_nonsfi_unittests', | |
| 291 'nacl_helper_nonsfi_unittests_main', | |
| 292 ], | |
| 293 'includes': [ | |
| 294 '../build/isolate.gypi', | |
| 295 ], | |
| 296 'sources': [ | |
| 297 'nacl_helper_nonsfi_unittests.isolate', | |
| 298 ], | |
| 299 }, | |
| 300 ], | |
| 301 }], | |
| 302 ], | |
| 303 } | |
| OLD | NEW |