Index: mojo/public/mojo_application.gni |
diff --git a/mojo/public/mojo_application.gni b/mojo/public/mojo_application.gni |
deleted file mode 100644 |
index 386393546bfcaeb04c658fde469b6533ea619abe..0000000000000000000000000000000000000000 |
--- a/mojo/public/mojo_application.gni |
+++ /dev/null |
@@ -1,438 +0,0 @@ |
-# Copyright 2014 The Chromium Authors. All rights reserved. |
-# Use of this source code is governed by a BSD-style license that can be |
-# found in the LICENSE file. |
- |
-import("//build/module_args/mojo.gni") |
-import("mojo.gni") |
-import("mojo_sdk.gni") |
- |
-# Generate a binary mojo application.The parameters of this template are those |
-# of a shared library. |
-template("mojo_native_application") { |
- if (defined(invoker.output_name)) { |
- base_target_name = invoker.output_name |
- } else { |
- base_target_name = target_name |
- } |
- |
- if (!is_nacl) { |
- final_target_name = target_name |
- output = base_target_name + ".mojo" |
- library_target_name = base_target_name + "_library" |
- copy_symbols_target = "__${final_target_name}_copy_symbols" |
- |
- if (is_linux || is_android) { |
- library_name = "lib${library_target_name}.so" |
- } else if (is_win) { |
- library_name = "${library_target_name}.dll" |
- } else if (is_mac || is_ios) { |
- library_name = "lib${library_target_name}.dylib" |
- } else { |
- assert(false, "Platform not supported.") |
- } |
- |
- if (is_android) { |
- # On android, use the stripped version of the library, because applications |
- # are always fetched over the network. |
- library_dir = "${root_out_dir}/lib.stripped" |
- } else { |
- library_dir = root_out_dir |
- } |
- |
- shared_library(library_target_name) { |
- data_deps = [] |
- forward_variables_from(invoker, |
- [ |
- "cflags", |
- "cflags_c", |
- "cflags_cc", |
- "cflags_objc", |
- "cflags_objcc", |
- "defines", |
- "include_dirs", |
- "ldflags", |
- "lib_dirs", |
- "libs", |
- ]) |
- if (defined(invoker.data_deps)) { |
- data_deps += invoker.data_deps |
- } |
- |
- # Copy any necessary prebuilt artifacts. |
- if (mojo_use_prebuilt_mojo_shell) { |
- data_deps += |
- [ rebase_path("mojo/public/tools:copy_mojo_shell", ".", mojo_root) ] |
- } |
- if (mojo_use_prebuilt_network_service) { |
- data_deps += [ rebase_path("mojo/public/tools:copy_network_service", |
- ".", |
- mojo_root) ] |
- } |
- |
- deps = rebase_path([ "mojo/public/platform/native:system_thunks" ], |
- ".", |
- mojo_root) |
- if (defined(invoker.deps)) { |
- deps += invoker.deps |
- } |
- if (defined(invoker.configs)) { |
- configs += invoker.configs |
- } |
- forward_variables_from(invoker, |
- [ |
- "public_deps", |
- "all_dependent_configs", |
- "public_configs", |
- "check_includes", |
- "data", |
- "inputs", |
- "public", |
- "sources", |
- "testonly", |
- ]) |
- |
- visibility = [ |
- ":${final_target_name}", |
- ":${copy_symbols_target}", |
- ] |
- } |
- |
- copy(copy_symbols_target) { |
- if (defined(invoker.testonly)) { |
- testonly = invoker.testonly |
- } |
- visibility = [ ":${final_target_name}" ] |
- deps = [ |
- ":${library_target_name}", |
- ] |
- |
- sources = [ |
- "${root_out_dir}/${library_name}", |
- ] |
- outputs = [ |
- "${root_out_dir}/symbols/${library_name}", |
- ] |
- } |
- |
- copy(final_target_name) { |
- forward_variables_from(invoker, |
- [ |
- "testonly", |
- "visibility", |
- ]) |
- |
- public_deps = [ |
- # We want to allow rules to depend on symbol libraries. |
- ":${copy_symbols_target}", |
- ] |
- |
- deps = [ |
- ":${library_target_name}", |
- ] |
- |
- sources = [ |
- "${library_dir}/${library_name}", |
- ] |
- outputs = [ |
- "${root_out_dir}/${output}", |
- ] |
- } |
- } else { |
- nexe_target_name = base_target_name + "_nexe" |
- executable_target_name = base_target_name + "_exe" |
- |
- executable(nexe_target_name) { |
- output_name = base_target_name |
- data_deps = [] |
- forward_variables_from(invoker, |
- [ |
- "cflags", |
- "cflags_c", |
- "cflags_cc", |
- "cflags_objc", |
- "cflags_objcc", |
- "defines", |
- "include_dirs", |
- "ldflags", |
- "lib_dirs", |
- "libs", |
- ]) |
- if (defined(invoker.data_deps)) { |
- data_deps += invoker.data_deps |
- } |
- |
- # Copy any necessary prebuilt artifacts. |
- if (mojo_use_prebuilt_mojo_shell) { |
- data_deps += |
- [ rebase_path("mojo/public/tools:copy_mojo_shell", ".", mojo_root) ] |
- } |
- if (mojo_use_prebuilt_network_service) { |
- data_deps += [ rebase_path("mojo/public/tools:copy_network_service", |
- ".", |
- mojo_root) ] |
- } |
- |
- deps = rebase_path([ |
- "mojo/public/c:system", |
- "mojo/public/platform/nacl:system", |
- ], |
- ".", |
- mojo_root) |
- if (defined(invoker.deps)) { |
- deps += invoker.deps |
- } |
- if (defined(invoker.configs)) { |
- configs += invoker.configs |
- } |
- |
- forward_variables_from(invoker, |
- [ |
- "forward_dependent_configs_from", |
- "public_deps", |
- "all_dependent_configs", |
- "public_configs", |
- "check_includes", |
- "data", |
- "inputs", |
- "public", |
- "sources", |
- "testonly", |
- ]) |
- |
- visibility = [ ":*" ] |
- } |
- |
- group(target_name) { |
- # This group specifies two targets: first, it requests that the |
- # pexe be built, and secondly (if the toolchain is not requesting |
- # a pexe implicitly), it creates a nexe. |
- forward_variables_from(invoker, [ "testonly" ]) |
- deps = [ |
- ":${executable_target_name}(//build/toolchain/nacl:newlib_pnacl)", |
- ] |
- if (current_cpu != "pnacl") { |
- deps += [ ":${executable_target_name}" ] |
- } |
- } |
- |
- action(executable_target_name) { |
- if (current_cpu == "pnacl") { |
- input_file_extension = ".pexe" |
- output_file_extension = ".pexe.mojo" |
- content_handler = "content_handler_nonsfi_pexe" |
- } else { |
- input_file_extension = ".nexe" |
- output_file_extension = "_${target_cpu}.nexe.mojo" |
- content_handler = "content_handler_sfi_nexe" |
- } |
- input_file = "${base_target_name}${input_file_extension}" |
- output_file = "${base_target_name}${output_file_extension}" |
- |
- forward_variables_from(invoker, |
- [ |
- "testonly", |
- "visibility", |
- ]) |
- |
- script = rebase_path("mojo/public/tools/prepend.py", ".", mojo_root) |
- |
- input_path = "${root_out_dir}/${input_file}" |
- inputs = [ |
- input_path, |
- ] |
- |
- output_path = "${root_build_dir}/${output_file}" |
- outputs = [ |
- output_path, |
- ] |
- |
- deps = [ |
- ":${nexe_target_name}", |
- ] |
- |
- rebase_input = rebase_path(input_path, root_build_dir) |
- rebase_output = rebase_path(output_path, root_build_dir) |
- args = [ |
- "--input=$rebase_input", |
- "--output=$rebase_output", |
- "--line=#!mojo mojo:$content_handler", |
- ] |
- } |
- } |
-} |
- |
-if (is_android) { |
- import("//build/config/android/rules.gni") |
- |
- # Declares an Android Mojo application consisting of an .so file and a |
- # corresponding .dex.jar file. |
- # |
- # Variables: |
- # sources (optional): The c++ sources. |
- # deps (optional): The c++ dependencies. |
- # java_sources (optional): The java sources. |
- # java_deps (optional): The java dependencies. |
- # jni_package (optional): The c++ package for the generated jni headers. |
- # output_name (optional): override for the output file name |
- # public_deps / data_deps (optional): Dependencies. |
- template("mojo_android_application") { |
- shared_library_name = "__${target_name}_lib" |
- library_basename = "lib${shared_library_name}.so" |
- if (defined(invoker.jni_package)) { |
- assert(defined(invoker.java_sources)) |
- generate_jni_name = "__${target_name}_jni" |
- } |
- if (defined(invoker.java_sources)) { |
- java_library_name = "__${target_name}_java" |
- } |
- android_standalone_library_name = "__${target_name}_java_lib" |
- dex_output_path = "${target_gen_dir}/${target_name}.dex.jar" |
- zip_action_name = "__${target_name}_zip" |
- zip_action_output = "${target_gen_dir}/${target_name}.zip" |
- copy_symbols_target = "__${target_name}_copy_symbols" |
- final_target_name = target_name |
- |
- if (defined(invoker.jni_package)) { |
- generate_jni(generate_jni_name) { |
- visibility = [ ":${shared_library_name}" ] |
- |
- sources = invoker.java_sources |
- jni_package = invoker.jni_package |
- } |
- } |
- |
- shared_library(shared_library_name) { |
- visibility = [ |
- ":${copy_symbols_target}", |
- ":${zip_action_name}", |
- ] |
- |
- if (defined(invoker.sources)) { |
- sources = invoker.sources |
- } |
- |
- deps = rebase_path([ "mojo/public/platform/native:system_thunks" ], |
- ".", |
- mojo_root) |
- if (defined(invoker.jni_package)) { |
- deps += [ ":${generate_jni_name}" ] |
- } |
- if (defined(invoker.deps)) { |
- deps += invoker.deps |
- } |
- } |
- |
- copy(copy_symbols_target) { |
- visibility = [ ":${final_target_name}" ] |
- deps = [ |
- ":${shared_library_name}", |
- ] |
- |
- sources = [ |
- "${root_out_dir}/${library_basename}", |
- ] |
- outputs = [ |
- "${root_out_dir}/symbols/${library_basename}", |
- ] |
- } |
- |
- if (defined(invoker.java_sources)) { |
- android_library(java_library_name) { |
- visibility = [ ":*" ] |
- |
- java_files = invoker.java_sources |
- |
- if (defined(invoker.java_deps)) { |
- deps = invoker.java_deps |
- } |
- } |
- } |
- |
- android_standalone_library(android_standalone_library_name) { |
- deps = [] |
- |
- if (defined(invoker.java_sources)) { |
- deps += [ ":${java_library_name}" ] |
- } |
- |
- if (defined(invoker.java_deps)) { |
- deps += invoker.java_deps |
- } |
- |
- dex_path = dex_output_path |
- } |
- |
- action(zip_action_name) { |
- visibility = [ ":${final_target_name}" ] |
- script = "//build/android/gn/zip.py" |
- |
- inputs = [ |
- "${root_out_dir}/lib.stripped/${library_basename}", |
- dex_output_path, |
- ] |
- |
- output = zip_action_output |
- outputs = [ |
- output, |
- ] |
- |
- rebase_inputs = rebase_path(inputs, root_build_dir) |
- rebase_output = rebase_path(output, root_build_dir) |
- args = [ |
- "--inputs=${rebase_inputs}", |
- "--output=${rebase_output}", |
- ] |
- |
- deps = [ |
- ":${android_standalone_library_name}", |
- ":${shared_library_name}", |
- ] |
- |
- if (defined(invoker.deps)) { |
- deps += invoker.deps |
- } |
- if (defined(invoker.public_deps)) { |
- public_deps = invoker.public_deps |
- } |
- if (defined(invoker.data_deps)) { |
- data_deps = invoker.data_deps |
- } |
- } |
- |
- if (defined(invoker.output_name)) { |
- mojo_output = "${root_out_dir}/" + invoker.output_name + ".mojo" |
- } else { |
- mojo_output = "${root_out_dir}/" + target_name + ".mojo" |
- } |
- |
- action(final_target_name) { |
- script = rebase_path("mojo/public/tools/prepend.py", ".", mojo_root) |
- |
- input = zip_action_output |
- inputs = [ |
- input, |
- ] |
- |
- output = mojo_output |
- outputs = [ |
- output, |
- ] |
- |
- rebase_input = rebase_path(input, root_build_dir) |
- rebase_output = rebase_path(output, root_build_dir) |
- args = [ |
- "--input=${rebase_input}", |
- "--output=${rebase_output}", |
- "--line=#!mojo mojo:android_handler", |
- ] |
- |
- deps = [ |
- ":${copy_symbols_target}", |
- ] |
- |
- public_deps = [ |
- ":${zip_action_name}", |
- ] |
- } |
- } |
-} |