Index: mojo/public/mojo_application.gni |
diff --git a/mojo/public/mojo_application.gni b/mojo/public/mojo_application.gni |
new file mode 100644 |
index 0000000000000000000000000000000000000000..c4ee04ada769e4a8d3465236ca2e69d8ede2178e |
--- /dev/null |
+++ b/mojo/public/mojo_application.gni |
@@ -0,0 +1,117 @@ |
+# Copyright 2014 The Chromium Authors. All rights reserved. |
Aaron Boodman
2014/11/07 18:02:47
You should get brettw to give this a once-over.
qsr
2014/11/12 10:04:59
Done.
|
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+# Generate a binary mojo application.The parameters of this template are those |
+# of a shared library. |
+template("mojo_binary_application") { |
Aaron Boodman
2014/11/07 18:02:47
"binary" is so fuzzy. Is a java application binary
DaveMoore
2014/11/07 18:24:41
Why not simply mojo_application? What other types
qsr
2014/11/12 10:04:59
Done.
|
+ if (defined(invoker.output_name)) { |
+ output = invoker.output_name + ".mojo" |
+ library_target_name = invoker.output_name + "_library" |
+ } else { |
+ output = target_name + ".mojo" |
+ library_target_name = target_name + "_library" |
+ } |
+ |
+ if (is_linux || is_android) { |
+ library_name = "lib${library_target_name}.so" |
+ } else if (is_windows) { |
+ library_name = "${library_target_name}.dll" |
+ } else if (is_mac) { |
+ library_name = "${library_target_name}.so" |
+ } else { |
+ assert(false, "Platform not supported.") |
+ } |
+ |
+ final_target_name = target_name |
+ |
+ shared_library(library_target_name) { |
+ if (defined(invoker.cflags)) { |
Aaron Boodman
2014/11/07 18:02:47
Do we use all of these params right now? There are
qsr
2014/11/12 10:04:59
I put all the flags used by shared_library. This i
|
+ cflags = invoker.cflags |
+ } |
+ if (defined(invoker.cflags_c)) { |
+ cflags_c = invoker.cflags_c |
+ } |
+ if (defined(invoker.cflags_cc)) { |
+ cflags_cc = invoker.cflags_cc |
+ } |
+ if (defined(invoker.cflags_objc)) { |
+ cflags_objc = invoker.cflags_objc |
+ } |
+ if (defined(invoker.cflags_objcc)) { |
+ cflags_objcc = invoker.cflags_objcc |
+ } |
+ if (defined(invoker.defines)) { |
+ defines = invoker.defines |
+ } |
+ if (defined(invoker.include_dirs)) { |
+ include_dirs = invoker.include_dirs |
+ } |
+ if (defined(invoker.ldflags)) { |
+ ldflags = invoker.ldflags |
+ } |
+ if (defined(invoker.lib_dirs)) { |
+ lib_dirs = invoker.lib_dirs |
+ } |
+ if (defined(invoker.libs)) { |
+ libs = invoker.libs |
+ } |
+ if (defined(invoker.datadeps)) { |
+ datadeps = invoker.datadeps |
+ } |
+ if (defined(invoker.deps)) { |
+ deps = invoker.deps |
+ } |
+ if (defined(invoker.forward_dependent_configs_from)) { |
+ forward_dependent_configs_from = invoker.forward_dependent_configs_from |
+ } |
+ if (defined(invoker.public_deps)) { |
+ public_deps = invoker.public_deps |
+ } |
+ if (defined(invoker.all_dependent_configs)) { |
+ all_dependent_configs = invoker.all_dependent_configs |
+ } |
+ if (defined(invoker.public_configs)) { |
+ public_configs = invoker.public_configs |
+ } |
+ if (defined(invoker.check_includes)) { |
+ check_includes = invoker.check_includes |
+ } |
+ if (defined(invoker.configs)) { |
+ configs = invoker.configs |
+ } |
+ if (defined(invoker.data)) { |
+ data = invoker.data |
+ } |
+ if (defined(invoker.inputs)) { |
+ inputs = invoker.inputs |
+ } |
+ if (defined(invoker.public)) { |
+ public = invoker.public |
+ } |
+ if (defined(invoker.sources)) { |
+ sources = invoker.sources |
+ } |
+ if (defined(invoker.testonly)) { |
+ testonly = invoker.testonly |
+ } |
+ |
+ visibility = [ |
+ ":${final_target_name}", |
+ ] |
+ } |
+ |
+ copy(final_target_name) { |
+ if (defined(invoker.testonly)) { |
+ testonly = invoker.testonly |
+ } |
+ if (defined(invoker.visibility)) { |
+ visibility = invoker.visibility |
+ } |
+ deps = [ |
+ ":${library_target_name}", |
+ ] |
+ sources = [ "${root_out_dir}/${library_name}" ] |
+ outputs = [ "${root_out_dir}/${output}" ] |
+ } |
+} |