Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(362)

Side by Side Diff: mojo/nacl/BUILD.gn

Issue 955113002: Rearrange mojo/nacl files. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Rebase Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | mojo/nacl/generator/generate_nacl_bindings.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2015 The Chromium Authors. All rights reserved. 1 # Copyright 2015 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 # All toolchains use the same generated code.
6 gen_dir = "$root_build_dir/gen/mojo/nacl"
7
8 # Only allow the generator to be run by one toolchain.
9 if (current_toolchain == default_toolchain) {
10 # Generate the code to plumb the Mojo public API into the NaCl sandbox.
11 action("mojo_nacl_codegen") {
12 script = "generator/generate_nacl_bindings.py"
13 args = [
14 "-d",
15 rebase_path(gen_dir, root_build_dir),
16 ]
17 inputs = [
18 script,
19 "generator/interface.py",
20 "generator/interface_dsl.py",
21 "generator/mojo_syscall.cc.tmpl",
22 "generator/libmojo.cc.tmpl",
23 ]
24 outputs = [
25 "$gen_dir/mojo_irt.c",
26 "$gen_dir/mojo_irt.h",
27 "$gen_dir/mojo_syscall.cc",
28 "$gen_dir/libmojo.cc",
29 ]
30 }
31 }
32
33 # Trusted code 5 # Trusted code
34 if (!is_nacl) { 6 if (!is_nacl) {
35 # A library for launching a NaCl sandbox connected to a Mojo embedder.
36 static_library("monacl_sel") {
37 sources = [
38 "mojo_syscall_internal.h",
39 "$gen_dir/mojo_syscall.cc",
40 "monacl_sel_main.cc",
41 ]
42 deps = [
43 # This target makes sure we have all the pre-processor defines needed to
44 # use NaCl's headers.
45 "//native_client/build/config/nacl:nacl_base",
46 "//native_client/src/trusted/desc:nrd_xfer",
47 "//native_client/src/trusted/service_runtime:sel_main_chrome",
48 ":mojo_nacl_codegen($default_toolchain)",
49 ]
50 }
51
52 # A simple shell for running untrusted binaries that talk to the Mojo 7 # A simple shell for running untrusted binaries that talk to the Mojo
53 # embedder. (No services.) 8 # embedder. (No services.)
54 executable("monacl_shell") { 9 executable("monacl_shell") {
55 testonly = true 10 testonly = true
56 sources = [ 11 sources = [
57 "monacl_shell.cc", 12 "monacl_shell.cc",
58 ] 13 ]
59 deps = [ 14 deps = [
60 "//base:base", 15 "//base:base",
61 "//mojo/edk/system:system", 16 "//mojo/edk/system:system",
62 ":monacl_sel", 17 "//nacl_bindings:monacl_sel",
63 ] 18 ]
64 19
65 data_deps = 20 data_deps = [ "//nacl_bindings:irt_mojo(//native_client/build/toolchain/nacl :irt_${cpu_arch})" ]
66 [ ":irt_mojo(//native_client/build/toolchain/nacl:irt_${cpu_arch})" ]
67 } 21 }
68 } 22 }
69 23
70 # Untrusted code 24 # Untrusted code
71 if (is_nacl) { 25 if (is_nacl) {
72 # Thunk mapping the Mojo public API onto NaCl syscalls.
73 static_library("mojo") {
74 sources = [
75 "$gen_dir/libmojo.cc",
76 "$gen_dir/mojo_irt.h",
77 ]
78 include_dirs = [ "$root_build_dir/gen" ]
79 deps = [
80 ":mojo_nacl_codegen($default_toolchain)",
81 ]
82 }
83
84 # Unit test for the Mojo public API. 26 # Unit test for the Mojo public API.
85 executable("monacl_test") { 27 executable("monacl_test") {
86 testonly = true 28 testonly = true
87 sources = [ 29 sources = [
88 "//mojo/public/cpp/system/tests/core_unittest.cc", 30 "//mojo/public/cpp/system/tests/core_unittest.cc",
89 "//mojo/public/cpp/system/tests/macros_unittest.cc", 31 "//mojo/public/cpp/system/tests/macros_unittest.cc",
90 ] 32 ]
91 deps = [ 33 deps = [
92 "//mojo/public/c/system/tests:tests", 34 "//mojo/public/c/system/tests:tests",
93 "//mojo/public/cpp/system:system", 35 "//mojo/public/cpp/system:system",
36 "//mojo/public/platform/nacl:mojo",
94 "//testing/gtest:gtest", 37 "//testing/gtest:gtest",
95 "//testing/gtest:gtest_main", 38 "//testing/gtest:gtest_main",
96 ":mojo",
97 ]
98 }
99
100 executable("irt_mojo") {
101 cflags_c = [ "-std=c99" ]
102 sources = [
103 "irt_entry_mojo.c",
104 "$gen_dir/mojo_irt.c",
105 "$gen_dir/mojo_irt.h",
106 ]
107 include_dirs = [ "$root_build_dir/gen" ]
108 deps = [
109 "//native_client/build/config/nacl:nacl_base",
110 "//native_client/src/untrusted/irt:irt_core_lib",
111 "//native_client/src/untrusted/nacl:imc_syscalls",
112 ":mojo_nacl_codegen($default_toolchain)",
113 ] 39 ]
114 } 40 }
115 } 41 }
116 42
117 group("mojo_nacl") { 43 group("mojo_nacl") {
118 deps = [ 44 deps = [
119 "//services/nacl:nacl_content_handler", 45 "//services/nacl:nacl_content_handler",
120 ] 46 ]
121 } 47 }
122 48
123 group("mojo_nacl_tests") { 49 group("mojo_nacl_tests") {
124 testonly = true 50 testonly = true
125 deps = [ 51 deps = [
126 ":monacl_shell", 52 ":monacl_shell",
127 ":monacl_test(//native_client/build/toolchain/nacl:clang_newlib_${cpu_arch}) ", 53 ":monacl_test(//native_client/build/toolchain/nacl:clang_newlib_${cpu_arch}) ",
128 ] 54 ]
129 } 55 }
OLDNEW
« no previous file with comments | « no previous file | mojo/nacl/generator/generate_nacl_bindings.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698