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

Side by Side Diff: build/go/rules.gni

Issue 699873005: Add shared_library build rule for Go on Mojo. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 1 month 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 | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 rebase_path(target_out_dir, root_build_dir) + "/${target_name}", 52 rebase_path(target_out_dir, root_build_dir) + "/${target_name}",
53 rebase_path("//", root_build_dir), 53 rebase_path("//", root_build_dir),
54 "-I" + rebase_path("//"), 54 "-I" + rebase_path("//"),
55 " -L" + rebase_path(target_out_dir) + 55 " -L" + rebase_path(target_out_dir) +
56 " -l" + static_library_name + 56 " -l" + static_library_name +
57 " -lstdc++ -lpthread -lm -lglib-2.0", 57 " -lstdc++ -lpthread -lm -lglib-2.0",
58 "test", "-c", 58 "test", "-c",
59 ] + rebase_path(invoker.sources, build_dir) 59 ] + rebase_path(invoker.sources, build_dir)
60 } 60 }
61 } 61 }
62
63 template("go_shared_library") {
64 # Only available on android for now.
65 assert(is_android)
66 assert(defined(invoker.sources))
67 assert(go_build_tool != "")
68
69 static_library_name = target_name + "_static_library"
70
71 static_library(static_library_name) {
72 complete_static_lib = true
73 deps = invoker.deps
74 }
75
76 action(target_name) {
77 deps = [ ":$static_library_name" ]
78 script = "//build/go/go.py"
79 outputs = [ "${target_out_dir}/${target_name}" ]
80 # Since go test does not permit specifying an output directory or output
81 # binary name, we create a temporary build directory, and the python
82 # script will later identify the output, copy it to the target location,
83 # and clean up the temporary build directory.
84 build_dir = "${target_out_dir}/${target_name}_build"
85 args = [
86 "--",
87 "CGO_ENABLED=1 GOOS=android GOARCH=arm GOARM=7 ${go_build_tool}",
88 rebase_path(build_dir, root_build_dir),
89 rebase_path(target_out_dir, root_build_dir) + "/${target_name}",
90 rebase_path("//", root_build_dir),
91 "-I" + rebase_path("//"),
92 " -L" + rebase_path(target_out_dir) +
93 " -l" + static_library_name + "",
94 "build -ldflags=-shared",
95 ] + rebase_path(invoker.sources, build_dir)
96 }
97 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698