| OLD | NEW |
| (Empty) |
| 1 # Copyright 2014 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. | |
| 4 | |
| 5 import("//mojo/public/mojo_application.gni") | |
| 6 import("//mojo/public/tools/bindings/mojom.gni") | |
| 7 import("//testing/test.gni") | |
| 8 | |
| 9 group("runner") { | |
| 10 testonly = true | |
| 11 | |
| 12 deps = [ | |
| 13 ":mojo_runner", | |
| 14 ] | |
| 15 } | |
| 16 | |
| 17 if (is_android) { | |
| 18 import("//build/config/android/config.gni") | |
| 19 import("//build/config/android/rules.gni") | |
| 20 } | |
| 21 | |
| 22 source_set("register_local_aliases_fwd") { | |
| 23 sources = [ | |
| 24 "register_local_aliases.h", | |
| 25 ] | |
| 26 } | |
| 27 | |
| 28 source_set("mojo_runner_lib") { | |
| 29 sources = [] | |
| 30 | |
| 31 deps = [ | |
| 32 ":lib", | |
| 33 "//base", | |
| 34 "//build/config/sanitizers:deps", | |
| 35 "//mojo/common", | |
| 36 "//mojo/environment:chromium", | |
| 37 "//mojo/message_pump", | |
| 38 "//mojo/shell/runner/host:lib", | |
| 39 "//mojo/shell/runner/host:switches", | |
| 40 ] | |
| 41 | |
| 42 if (!is_android) { | |
| 43 sources += [ | |
| 44 "desktop/main.cc", | |
| 45 "register_local_aliases.cc", | |
| 46 "register_local_aliases.h", | |
| 47 ] | |
| 48 deps += [ | |
| 49 "//components/tracing:startup_tracing", | |
| 50 "//third_party/icu:icudata", | |
| 51 ] | |
| 52 } else { | |
| 53 sources += [ | |
| 54 "android/context_init.h", | |
| 55 "android/library_loader.cc", | |
| 56 "android/main.cc", | |
| 57 "android/main.h", | |
| 58 ] | |
| 59 | |
| 60 deps += [ | |
| 61 ":jni_headers", | |
| 62 "//components/mus", | |
| 63 "//components/mus/ws:lib", | |
| 64 "//mojo/shell", | |
| 65 "//ui/gl", | |
| 66 "//ui/platform_window/android", | |
| 67 ] | |
| 68 } | |
| 69 } | |
| 70 | |
| 71 executable("mojo_runner") { | |
| 72 deps = [ | |
| 73 ":mojo_runner_lib", | |
| 74 "//build/config/sanitizers:deps", | |
| 75 ] | |
| 76 | |
| 77 if (is_android) { | |
| 78 sources = [ | |
| 79 "android/context_init.cc", | |
| 80 "register_local_aliases.cc", | |
| 81 ] | |
| 82 | |
| 83 deps += [ | |
| 84 ":lib", | |
| 85 ":register_local_aliases_fwd", | |
| 86 "//third_party/mojo/src/mojo/edk/system", | |
| 87 ] | |
| 88 | |
| 89 # On android, the executable is also the native library used by the apk. | |
| 90 # It means dynamic symbols must be preserved and exported. | |
| 91 ldflags = [ "-Wl,--export-dynamic" ] | |
| 92 } | |
| 93 } | |
| 94 | |
| 95 source_set("lib") { | |
| 96 sources = [ | |
| 97 "context.cc", | |
| 98 "context.h", | |
| 99 "scoped_user_data_dir.cc", | |
| 100 "scoped_user_data_dir.h", | |
| 101 "task_runners.cc", | |
| 102 "task_runners.h", | |
| 103 "tracer.cc", | |
| 104 "tracer.h", | |
| 105 ] | |
| 106 | |
| 107 deps = [ | |
| 108 "//base", | |
| 109 "//base:base_static", | |
| 110 "//base/third_party/dynamic_annotations", | |
| 111 "//components/devtools_service/public/cpp", | |
| 112 "//components/devtools_service/public/interfaces", | |
| 113 "//components/tracing:startup_tracing", | |
| 114 "//mojo/message_pump", | |
| 115 "//mojo/services/network/public/interfaces", | |
| 116 "//mojo/services/tracing/public/cpp", | |
| 117 "//mojo/services/tracing/public/interfaces", | |
| 118 "//mojo/shell", | |
| 119 "//mojo/shell/package_manager", | |
| 120 "//mojo/shell/public/cpp", | |
| 121 "//mojo/shell/runner:init", | |
| 122 "//mojo/shell/runner/child:interfaces", | |
| 123 "//mojo/shell/runner/host:lib", | |
| 124 "//mojo/util:filename_util", | |
| 125 "//third_party/mojo/src/mojo/edk/system", | |
| 126 "//ui/gl", | |
| 127 "//url", | |
| 128 ] | |
| 129 | |
| 130 public_deps = [ | |
| 131 ":switches", | |
| 132 "//mojo/shell", | |
| 133 "//mojo/shell/runner:init", | |
| 134 ] | |
| 135 | |
| 136 if (!is_component_build) { | |
| 137 data_deps = [ | |
| 138 "//components/devtools_service", | |
| 139 "//mojo/services/tracing", | |
| 140 ] | |
| 141 } | |
| 142 | |
| 143 if (is_android) { | |
| 144 sources += [ | |
| 145 "android/android_handler.cc", | |
| 146 "android/android_handler.h", | |
| 147 "android/android_handler_loader.cc", | |
| 148 "android/android_handler_loader.h", | |
| 149 "android/background_application_loader.cc", | |
| 150 "android/background_application_loader.h", | |
| 151 "android/ui_application_loader_android.cc", | |
| 152 "android/ui_application_loader_android.h", | |
| 153 ] | |
| 154 | |
| 155 deps += [ | |
| 156 ":jni_headers", | |
| 157 ":run_android_application_function", | |
| 158 "//components/mus/gles2", | |
| 159 "//mojo/shell/public/cpp:content_handler", | |
| 160 ] | |
| 161 } else { | |
| 162 sources += [ | |
| 163 "desktop/launcher_process.cc", | |
| 164 "desktop/launcher_process.h", | |
| 165 "desktop/main_helper.cc", | |
| 166 "desktop/main_helper.h", | |
| 167 ] | |
| 168 } | |
| 169 | |
| 170 # This target includes some files behind #ifdef OS... guards. Since gn is not | |
| 171 # smart enough to understand preprocess includes, it does complains about | |
| 172 # these includes when not using the build files for that OS. Suppress checking | |
| 173 # so we can enable checking for the rest of the targets in this file. | |
| 174 # TODO: Might be better to split the files with OS-specific includes out to a | |
| 175 # separate source_set so we can leave checking on for the rest of the target. | |
| 176 check_includes = false | |
| 177 } | |
| 178 | |
| 179 source_set("switches") { | |
| 180 sources = [ | |
| 181 "switches.cc", | |
| 182 "switches.h", | |
| 183 ] | |
| 184 | |
| 185 deps = [ | |
| 186 "//base", | |
| 187 ] | |
| 188 } | |
| 189 | |
| 190 if (is_android) { | |
| 191 generate_jni("jni_headers") { | |
| 192 sources = [ | |
| 193 "android/apk/src/org/chromium/mojo/shell/AndroidHandler.java", | |
| 194 "android/apk/src/org/chromium/mojo/shell/Bootstrap.java", | |
| 195 "android/apk/src/org/chromium/mojo/shell/ShellMain.java", | |
| 196 ] | |
| 197 jni_package = "mojo/shell" | |
| 198 } | |
| 199 | |
| 200 android_library("bootstrap_java") { | |
| 201 java_files = [ "android/apk/src/org/chromium/mojo/shell/Bootstrap.java" ] | |
| 202 | |
| 203 deps = [ | |
| 204 "//base:base_java", | |
| 205 ] | |
| 206 | |
| 207 dex_path = "$target_out_dir/bootstrap_java.dex.jar" | |
| 208 } | |
| 209 | |
| 210 shared_library("bootstrap") { | |
| 211 sources = [ | |
| 212 "android/bootstrap.cc", | |
| 213 "register_local_aliases.cc", | |
| 214 "register_local_aliases.h", | |
| 215 ] | |
| 216 deps = [ | |
| 217 ":jni_headers", | |
| 218 ":lib", | |
| 219 ":run_android_application_function", | |
| 220 "//base", | |
| 221 "//build/config/sanitizers:deps", | |
| 222 ] | |
| 223 } | |
| 224 | |
| 225 # Shared header between the bootstrap and the main shell .so. | |
| 226 source_set("run_android_application_function") { | |
| 227 sources = [ | |
| 228 "android/run_android_application_function.h", | |
| 229 ] | |
| 230 | |
| 231 deps = [ | |
| 232 "//base", | |
| 233 ] | |
| 234 } | |
| 235 | |
| 236 android_library("java") { | |
| 237 java_files = [ | |
| 238 "android/apk/src/org/chromium/mojo/shell/AndroidHandler.java", | |
| 239 "android/apk/src/org/chromium/mojo/shell/FileHelper.java", | |
| 240 "android/apk/src/org/chromium/mojo/shell/MojoShellActivity.java", | |
| 241 "android/apk/src/org/chromium/mojo/shell/MojoShellApplication.java", | |
| 242 "android/apk/src/org/chromium/mojo/shell/ShellMain.java", | |
| 243 ] | |
| 244 | |
| 245 deps = [ | |
| 246 ":resources", | |
| 247 "//base:base_java", | |
| 248 ] | |
| 249 } | |
| 250 | |
| 251 android_resources("resources") { | |
| 252 resource_dirs = [ "android/apk/res" ] | |
| 253 custom_package = "org.chromium.mojo.shell" | |
| 254 } | |
| 255 | |
| 256 android_assets("android_assets") { | |
| 257 deps = [ | |
| 258 ":bootstrap", | |
| 259 ":bootstrap_java", | |
| 260 ] | |
| 261 sources = [ | |
| 262 "$root_out_dir/obj/mojo/runner/bootstrap_java.dex.jar", | |
| 263 "$root_shlib_dir/${shlib_prefix}bootstrap$shlib_extension", | |
| 264 ] | |
| 265 } | |
| 266 | |
| 267 android_assets("mojo_runner_apptests_assets") { | |
| 268 testonly = true | |
| 269 deps = [ | |
| 270 ":android_assets", | |
| 271 "//components/clipboard:apptests_assets", | |
| 272 "//components/clipboard:clipboard_assets", | |
| 273 "//components/mus/ws:apptests_assets", | |
| 274 "//components/resource_provider:apptests_assets", | |
| 275 "//components/resource_provider:resource_provider_assets", | |
| 276 "//mojo/services/network:apptests_assets", | |
| 277 "//mojo/services/network:network_assets", | |
| 278 "//third_party/icu:icu_assets", | |
| 279 ] | |
| 280 } | |
| 281 | |
| 282 copy("copy_mojo_runner") { | |
| 283 sources = [ | |
| 284 "$root_out_dir/mojo_runner", | |
| 285 ] | |
| 286 outputs = [ | |
| 287 "$root_shlib_dir/${shlib_prefix}mojo_runner$shlib_extension", | |
| 288 ] | |
| 289 deps = [ | |
| 290 ":mojo_runner", | |
| 291 ] | |
| 292 } | |
| 293 | |
| 294 android_apk("mojo_runner_apptests_apk") { | |
| 295 testonly = true | |
| 296 apk_name = "MojoRunnerApptests" | |
| 297 android_manifest = "android/apk/AndroidManifest.xml" | |
| 298 native_libs = [ "${shlib_prefix}mojo_runner$shlib_extension" ] | |
| 299 write_asset_list = true | |
| 300 | |
| 301 deps = [ | |
| 302 ":copy_mojo_runner", | |
| 303 ":java", | |
| 304 ":mojo_runner_apptests_assets", | |
| 305 ":resources", | |
| 306 "//base:base_java", | |
| 307 "//ui/platform_window/android:platform_window_java", | |
| 308 google_play_services_resources, | |
| 309 ] | |
| 310 } | |
| 311 } | |
| OLD | NEW |