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 declare_args() { | 5 declare_args() { |
6 # By default, there is no go build tool, because go builds are not supported. | 6 # By default, there is no go build tool, because go builds are not supported. |
7 go_build_tool = "" | 7 go_build_tool = "" |
8 } | 8 } |
9 | 9 |
10 # Declare a go test binary target. | 10 # Declare a go test binary target. |
(...skipping 11 matching lines...) Expand all Loading... |
22 | 22 |
23 template("go_test_binary") { | 23 template("go_test_binary") { |
24 # Only available on linux for now. | 24 # Only available on linux for now. |
25 assert(is_linux) | 25 assert(is_linux) |
26 assert(defined(invoker.sources)) | 26 assert(defined(invoker.sources)) |
27 assert(go_build_tool != "") | 27 assert(go_build_tool != "") |
28 | 28 |
29 static_library_name = target_name + "_static_library" | 29 static_library_name = target_name + "_static_library" |
30 | 30 |
31 static_library(static_library_name) { | 31 static_library(static_library_name) { |
| 32 testonly = true |
32 sources = invoker.static_library_sources | 33 sources = invoker.static_library_sources |
33 deps = invoker.deps | 34 deps = invoker.deps |
34 complete_static_lib = true | 35 complete_static_lib = true |
35 } | 36 } |
36 | 37 |
37 action(target_name) { | 38 action(target_name) { |
| 39 testonly = true |
38 deps = [ | 40 deps = [ |
39 ":$static_library_name", | 41 ":$static_library_name", |
40 ] | 42 ] |
41 script = "//mojo/go/go.py" | 43 script = "//mojo/go/go.py" |
| 44 inputs = invoker.sources |
42 outputs = [ | 45 outputs = [ |
43 "${target_out_dir}/${target_name}", | 46 "${target_out_dir}/${target_name}", |
44 ] | 47 ] |
45 | 48 |
46 # Since go test does not permit specifying an output directory or output | 49 # Since go test does not permit specifying an output directory or output |
47 # binary name, we create a temporary build directory, and the python | 50 # binary name, we create a temporary build directory, and the python |
48 # script will later identify the output, copy it to the target location, | 51 # script will later identify the output, copy it to the target location, |
49 # and clean up the temporary build directory. | 52 # and clean up the temporary build directory. |
50 build_dir = "${target_out_dir}/${target_name}_build" | 53 build_dir = "${target_out_dir}/${target_name}_build" |
51 args = [ | 54 args = [ |
(...skipping 23 matching lines...) Expand all Loading... |
75 static_library(static_library_name) { | 78 static_library(static_library_name) { |
76 complete_static_lib = true | 79 complete_static_lib = true |
77 deps = invoker.deps | 80 deps = invoker.deps |
78 } | 81 } |
79 | 82 |
80 action(target_name) { | 83 action(target_name) { |
81 deps = [ | 84 deps = [ |
82 ":$static_library_name", | 85 ":$static_library_name", |
83 ] | 86 ] |
84 script = "//mojo/go/go.py" | 87 script = "//mojo/go/go.py" |
| 88 inputs = invoker.sources |
85 outputs = [ | 89 outputs = [ |
86 "${target_out_dir}/${target_name}", | 90 "${target_out_dir}/${target_name}", |
87 ] | 91 ] |
88 | 92 |
89 # Since go test does not permit specifying an output directory or output | 93 # Since go test does not permit specifying an output directory or output |
90 # binary name, we create a temporary build directory, and the python | 94 # binary name, we create a temporary build directory, and the python |
91 # script will later identify the output, copy it to the target location, | 95 # script will later identify the output, copy it to the target location, |
92 # and clean up the temporary build directory. | 96 # and clean up the temporary build directory. |
93 build_dir = "${target_out_dir}/${target_name}_build" | 97 build_dir = "${target_out_dir}/${target_name}_build" |
94 args = [ | 98 args = [ |
95 "--", | 99 "--", |
96 "CGO_ENABLED=1 GOOS=android GOARCH=arm GOARM=7 ${go_build_tool}", | 100 "CGO_ENABLED=1 GOOS=android GOARCH=arm GOARM=7 ${go_build_tool}", |
97 rebase_path(build_dir, root_build_dir), | 101 rebase_path(build_dir, root_build_dir), |
98 rebase_path(target_out_dir, root_build_dir) + "/${target_name}", | 102 rebase_path(target_out_dir, root_build_dir) + "/${target_name}", |
99 rebase_path("//", root_build_dir), | 103 rebase_path("//", root_build_dir), |
100 rebase_path(root_out_dir, root_build_dir), | 104 rebase_path(root_out_dir, root_build_dir), |
101 "-I" + rebase_path("//"), | 105 "-I" + rebase_path("//"), |
102 " -L" + rebase_path(target_out_dir) + " -l" + static_library_name + | 106 " -L" + rebase_path(target_out_dir) + " -l" + static_library_name + |
103 "", | 107 "", |
104 "build -ldflags=-shared", | 108 "build -ldflags=-shared", |
105 ] + rebase_path(invoker.sources, build_dir) | 109 ] + rebase_path(invoker.sources, build_dir) |
106 } | 110 } |
107 } | 111 } |
OLD | NEW |