| # Copyright 2019 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/config/android/rules.gni") |
| import("//chrome/android/modules/buildflags.gni") |
| import("//third_party/jni_zero/jni_zero.gni") |
| |
| android_library("java") { |
| srcjar_deps = [ ":jni_headers" ] |
| sources = [ "java/src/org/chromium/chrome/modules/stack_unwinder/StackUnwinderModuleContentsImpl.java" ] |
| |
| deps = [ |
| "//build/android:build_java", |
| "//chrome/android/modules/stack_unwinder/public:java", |
| "//third_party/jni_zero:jni_zero_java", |
| ] |
| } |
| |
| generate_jni("jni_headers") { |
| sources = [ "java/src/org/chromium/chrome/modules/stack_unwinder/StackUnwinderModuleContentsImpl.java" ] |
| } |
| |
| # This group is effectively an alias representing the module's native code, |
| # allowing it to be named "native" for clarity in module descriptors. The |
| # component target must be named according to the feature, so that the component |
| # build's .cr.co library is named properly (ie. libstack_unwinder.cr.so). |
| group("native") { |
| deps = [ ":stack_unwinder" ] |
| } |
| |
| component_with_jni("stack_unwinder") { |
| java_targets = [ ":java" ] |
| sources = [ |
| "entrypoints.cc", |
| "stack_unwinder_module_contents_impl.cc", |
| ] |
| deps = [ |
| ":jni_headers", |
| "//base", |
| "//chrome/android/features/stack_unwinder/public:native", |
| "//third_party/jni_zero", |
| ] |
| |
| # stack unwinder native entrypoints belong in the partition. |
| if (use_native_partitions) { |
| cflags = [ "-fsymbol-partition=stack_unwinder_partition" ] |
| } |
| manual_jni_registration = true |
| namespace = "stack_unwinder" |
| module_name = "stack_unwinder" |
| } |