service_resolver_64: Correctly check all the bytes of the service code.
[chromium-blink-merge.git] / mandoline / app / android / BUILD.gn
blobc832f94adfe8f6b6af7062afeeee097645e66372
1 # Copyright 2015 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 assert(is_android)
7 import("//build/config/android/config.gni")
8 import("//build/config/android/rules.gni")
9 import("//mojo/generate_mojo_shell_assets_list.gni")
11 mandoline_assets_dir = "$root_build_dir/mandoline_assets"
13 group("android") {
14   deps = [
15     ":mandoline_apk",
16   ]
19 executable("mandoline_runner") {
20   deps = [
21     ":jni_headers",
22     "//mandoline/ui/browser/public/interfaces",
23     "//mojo/common",
24     "//mojo/environment:chromium",
25     "//mojo/runner:mojo_runner_lib",
26   ]
28   sources = [
29     "../core_services_initialization.cc",
30     "mandoline_activity.cc",
31     "mandoline_context_init.cc",
32   ]
34   # On android, the executable is also the native library used by the apk.
35   # It means dynamic symbols must be preserved and exported.
36   ldflags = [ "-Wl,--export-dynamic" ]
39 copy("copy_mandoline_runner") {
40   deps = [
41     ":mandoline_runner",
42   ]
43   sources = [
44     "$root_out_dir/exe.stripped/mandoline_runner",
45   ]
46   outputs = [
47     "$root_out_dir/lib.stripped/libmandoline_runner.so",
48   ]
51 copy_ex("copy_mandoline_assets") {
52   clear_dir = true
53   dest = mandoline_assets_dir
54   deps = [
55     "//components/devtools_service",
56     "//components/html_viewer",
57     "//mandoline/services/core_services",
58     "//mojo/runner:bootstrap",
59     "//mojo/runner:bootstrap_java",
60   ]
61   sources = [
62     "$root_out_dir/lib.stripped/libbootstrap.so",
63     "$root_out_dir/obj/mojo/runner/bootstrap_java.dex.jar",
64   ]
66   # Directories can't be specified as sources so pass manually to the script.
67   args = [
68     "--files=" + rebase_path("$root_out_dir/core_services", root_build_dir),
69     "--files=" + rebase_path("$root_out_dir/devtools_service", root_build_dir),
70     "--files=" + rebase_path("$root_out_dir/html_viewer", root_build_dir),
71   ]
73   if (use_aura) {
74     deps += [
75       "//mandoline/ui/browser",
76       "//mandoline/ui/omnibox",
77     ]
79     args += [
80       "--files=" + rebase_path("$root_out_dir/browser", root_build_dir),
81       "--files=" + rebase_path("$root_out_dir/omnibox", root_build_dir),
82     ]
83   }
86 generate_mojo_shell_assets_list("build_mandoline_assets") {
87   deps = [
88     ":copy_mandoline_assets",
89   ]
90   dir = mandoline_assets_dir
93 android_library("java") {
94   java_files = [ "apk/src/org/chromium/mandoline/MandolineActivity.java" ]
96   deps = [
97     "//mojo/runner:java",
98     "//base:base_java",
99   ]
102 generate_jni("jni_headers") {
103   sources = [
104     "apk/src/org/chromium/mandoline/MandolineActivity.java",
105   ]
106   jni_package = "mandoline"
109 android_resources("mandoline_apk_resources") {
110   custom_package = "org.chromium.mandoline"
111   resource_dirs = [ "apk/res" ]
114 android_apk("mandoline_apk") {
115   apk_name = "Mandoline"
117   android_manifest = "apk/AndroidManifest.xml"
119   native_libs = [ "libmandoline_runner.so" ]
121   asset_location = mandoline_assets_dir
123   deps = [
124     ":build_mandoline_assets",
125     ":copy_mandoline_runner",
126     ":java",
127     ":mandoline_apk_resources",
128     "//mojo/runner:java",
129     "//mojo/runner:resources",
130     "//base:base_java",
131     "//third_party/android_tools:google_play_services_default_resources",
132     "//ui/platform_window/android:platform_window_java",
133   ]