OLD | NEW |
---|---|
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 { | 5 { |
6 'variables': { | 6 'variables': { |
7 'chromium_code': 1, | 7 'chromium_code': 1, |
8 }, | 8 }, |
9 'includes': [ | 9 'includes': [ |
10 '../build/common_untrusted.gypi', | 10 '../build/common_untrusted.gypi', |
11 ], | 11 ], |
12 'conditions': [ | 12 'conditions': [ |
13 ['disable_nacl==0 and disable_nacl_untrusted==0', { | 13 ['disable_nacl==0 and disable_nacl_untrusted==0', { |
14 'targets': [ | 14 'targets': [ |
15 { | 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 by the PNaCl toolchain, but it is native | |
Mark Seaborn
2014/10/23 03:33:48
Subtle nit: "by" -> "using" (since Gyp is involved
hidehiko
2014/10/23 14:19:08
Done.
| |
19 # linux binary (translated from a biased pexe) and will run on Linux | |
Mark Seaborn
2014/10/23 03:33:48
Nit: remove "(translated from a biased pexe)" -- w
hidehiko
2014/10/23 14:19:08
Done.
| |
20 # directly. | |
21 # Most library code can be shared with the one for untrusted build | |
22 # (i.e. the one for irt.nexe built by the NaCl/PNaCl toolchain), but | |
23 # as nacl_helper_nonsfi runs on Linux, there are some differences, | |
24 # such as MessageLoopForIO (which is based on libevent in Non-SFI | |
25 # mode) or ipc_channel implementation. | |
26 # Because of the toolchain, in both build, OS_NACL macro (derived | |
Mark Seaborn
2014/10/23 03:33:48
"in both builds" (plural)
hidehiko
2014/10/23 14:19:08
Done.
| |
27 # from __native_client__ macro) is defined. To figure out if it | |
28 # compiles for SFI-mode or Non-SFI mode, __native_client_nonsfi__ | |
Mark Seaborn
2014/10/23 03:33:48
"if it compiles for" -> "if it is being compiled f
hidehiko
2014/10/23 14:19:08
Done. Thank you for suggestion.
| |
29 # macro can be used, which is defined on Non-SFI mode build, but not | |
30 # on SFI-mode build. | |
31 # | |
16 # Currently, nacl_helper_nonsfi is under development and the binary | 32 # Currently, nacl_helper_nonsfi is under development and the binary |
17 # does nothing (i.e. it has only empty main(), now). | 33 # does nothing (i.e. it has only empty main(), now). |
18 # TODO(crbug.com/358465): Implement it then switch nacl_helper in | 34 # TODO(crbug.com/358465): Implement it then switch nacl_helper in |
19 # Non-SFI mode to nacl_helper_nonsfi. | 35 # Non-SFI mode to nacl_helper_nonsfi. |
20 'target_name': 'nacl_helper_nonsfi', | 36 'target_name': 'nacl_helper_nonsfi', |
21 'type': 'none', | 37 'type': 'none', |
22 'variables': { | 38 'variables': { |
23 'nacl_untrusted_build': 1, | 39 'nacl_untrusted_build': 1, |
24 'nexe_target': 'nacl_helper_nonsfi', | 40 'nexe_target': 'nacl_helper_nonsfi', |
25 # Rename the output binary file to nacl_helper_nonsfi and put it | 41 # Rename the output binary file to nacl_helper_nonsfi and put it |
26 # directly under out/{Debug,Release}/. | 42 # directly under out/{Debug,Release}/. |
27 'out_newlib32_nonsfi': '<(PRODUCT_DIR)/nacl_helper_nonsfi', | 43 'out_newlib32_nonsfi': '<(PRODUCT_DIR)/nacl_helper_nonsfi', |
28 | 44 |
29 'build_glibc': 0, | 45 'build_glibc': 0, |
30 'build_newlib': 0, | 46 'build_newlib': 0, |
31 'build_irt': 0, | 47 'build_irt': 0, |
32 'build_pnacl_newlib': 0, | 48 'build_pnacl_newlib': 0, |
33 'build_nonsfi_helper': 1, | 49 'build_nonsfi_helper': 1, |
34 | 50 |
35 'sources': [ | 51 'sources': [ |
36 'nacl/loader/nacl_helper_linux.cc', | 52 'nacl/loader/nacl_helper_linux.cc', |
37 'nacl/loader/nacl_helper_linux.h', | 53 'nacl/loader/nacl_helper_linux.h', |
38 ], | 54 ], |
39 | 55 |
40 'conditions': [ | 56 'conditions': [ |
41 ['target_arch=="ia32" or target_arch=="x64"', { | 57 ['target_arch=="ia32" or target_arch=="x64"', { |
42 'extra_deps_newlib32_nonsfi': [ | 58 'extra_deps_newlib32_nonsfi': [ |
43 '>(tc_lib_dir_nonsfi_helper32)/libbase_nacl_nonsfi.a', | 59 '>(tc_lib_dir_nonsfi_helper32)/libbase_nacl_nonsfi.a', |
44 '>(tc_lib_dir_nonsfi_helper32)/libevent_nacl_nonsfi.a', | 60 '>(tc_lib_dir_nonsfi_helper32)/libevent_nacl_nonsfi.a', |
61 '>(tc_lib_dir_nonsfi_helper32)/libipc_nacl_nonsfi.a', | |
45 '>(tc_lib_dir_nonsfi_helper32)/libshared_memory_support_nacl.a ', | 62 '>(tc_lib_dir_nonsfi_helper32)/libshared_memory_support_nacl.a ', |
46 ], | 63 ], |
47 }], | 64 }], |
48 ], | 65 ], |
49 }, | 66 }, |
50 'dependencies': [ | 67 'dependencies': [ |
51 '../base/base_nacl.gyp:base_nacl_nonsfi', | 68 '../base/base_nacl.gyp:base_nacl_nonsfi', |
69 '../ipc/ipc_nacl.gyp:ipc_nacl_nonsfi', | |
52 '../native_client/src/nonsfi/irt/irt.gyp:nacl_sys_private', | 70 '../native_client/src/nonsfi/irt/irt.gyp:nacl_sys_private', |
53 '../native_client/src/untrusted/nacl/nacl.gyp:nacl_lib_newlib', | 71 '../native_client/src/untrusted/nacl/nacl.gyp:nacl_lib_newlib', |
54 '../native_client/tools.gyp:prep_toolchain', | 72 '../native_client/tools.gyp:prep_toolchain', |
55 | 73 |
56 # Temporarily depends on some libraries to make sure they can be | 74 # Temporarily depends on some libraries to make sure they can be |
57 # built properly. These are depended on by PPAPI library. | 75 # built properly. These are depended on by PPAPI library. |
58 # TODO(hidehiko): Remove them when PPAPI library is introduced. | 76 # TODO(hidehiko): Remove them when PPAPI library is introduced. |
59 '../media/media_nacl.gyp:shared_memory_support_nacl', | 77 '../media/media_nacl.gyp:shared_memory_support_nacl', |
60 ], | 78 ], |
61 }, | 79 }, |
62 # TODO(hidehiko): Add Non-SFI version of nacl_loader_unittests. | 80 # TODO(hidehiko): Add Non-SFI version of nacl_loader_unittests. |
63 ], | 81 ], |
64 }], | 82 }], |
65 ], | 83 ], |
66 } | 84 } |
OLD | NEW |