Change mojo application name to {name}.mojo

Also remove obsolete reference to gyp files.

R=abarth@chromium.org, brettw@chromium.org, aa@chromium.org

Review URL: https://codereview.chromium.org/713513002
diff --git a/mojo/public/mojo_application.gni b/mojo/public/mojo_application.gni
new file mode 100644
index 0000000..e355fb1
--- /dev/null
+++ b/mojo/public/mojo_application.gni
@@ -0,0 +1,117 @@
+# 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.
+
+# 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)) {
+    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)) {
+      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}" ]
+  }
+}