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.
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"
19 executable("mandoline_runner") {
22 "//mandoline/ui/browser/public/interfaces",
24 "//mojo/environment:chromium",
25 "//mojo/runner:mojo_runner_lib",
29 "../core_services_initialization.cc",
30 "mandoline_activity.cc",
31 "mandoline_context_init.cc",
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") {
44 "$root_out_dir/exe.stripped/mandoline_runner",
47 "$root_out_dir/lib.stripped/libmandoline_runner$android_product_extension",
51 copy_ex("copy_mandoline_assets") {
53 dest = mandoline_assets_dir
55 "//components/devtools_service",
56 "//components/html_viewer",
57 "//mandoline/services/core_services",
58 "//mojo/services/network",
59 "//components/resource_provider",
60 "//mojo/runner:bootstrap",
61 "//mojo/runner:bootstrap_java",
64 "$root_out_dir/lib.stripped/libbootstrap$android_product_extension",
65 "$root_out_dir/obj/mojo/runner/bootstrap_java.dex.jar",
68 # Directories can't be specified as sources so pass manually to the script.
70 "--files=" + rebase_path("$root_out_dir/core_services", root_build_dir),
71 "--files=" + rebase_path("$root_out_dir/network_service", root_build_dir),
72 "--files=" + rebase_path("$root_out_dir/resource_provider", root_build_dir),
73 "--files=" + rebase_path("$root_out_dir/devtools_service", root_build_dir),
74 "--files=" + rebase_path("$root_out_dir/html_viewer", root_build_dir),
79 "//mandoline/ui/browser",
80 "//mandoline/ui/omnibox",
84 "--files=" + rebase_path("$root_out_dir/browser", root_build_dir),
85 "--files=" + rebase_path("$root_out_dir/omnibox", root_build_dir),
90 generate_mojo_shell_assets_list("build_mandoline_assets") {
92 ":copy_mandoline_assets",
94 dir = mandoline_assets_dir
97 android_library("java") {
98 java_files = [ "apk/src/org/chromium/mandoline/MandolineActivity.java" ]
101 "//mojo/runner:java",
106 generate_jni("jni_headers") {
108 "apk/src/org/chromium/mandoline/MandolineActivity.java",
110 jni_package = "mandoline"
113 android_resources("mandoline_apk_resources") {
114 custom_package = "org.chromium.mandoline"
115 resource_dirs = [ "apk/res" ]
118 android_apk("mandoline_apk") {
119 apk_name = "Mandoline"
121 android_manifest = "apk/AndroidManifest.xml"
123 native_libs = [ "libmandoline_runner$android_product_extension" ]
125 asset_location = mandoline_assets_dir
128 ":build_mandoline_assets",
129 ":copy_mandoline_runner",
131 ":mandoline_apk_resources",
132 "//mojo/runner:java",
133 "//mojo/runner:resources",
135 "//third_party/android_tools:google_play_services_default_resources",
136 "//ui/platform_window/android:platform_window_java",