| # Copyright 2023 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//third_party/jni_zero/jni_zero.gni") |
| |
| config("jni_include_dir") { |
| include_dirs = [ jni_headers_dir ] |
| } |
| |
| config("use_chromium_base_define") { |
| defines = [ "USE_CHROMIUM_BASE" ] |
| } |
| |
| config("toolchain_define") { |
| if (is_robolectric) { |
| defines = [ "JNI_ZERO_IS_ROBOLECTRIC" ] |
| } |
| } |
| |
| source_set("jni_export") { |
| sources = [ "jni_export.h" ] |
| } |
| |
| # Base depends on this transitively, so we have to avoid deps onto base. |
| # Eventually, it will make sense to merge this with :jni_zero once it also no |
| # longer depends on //base. |
| component("jni_zero_utils") { |
| sources = [ |
| "logging.cc", |
| "logging.h", |
| ] |
| public_deps = [ ":jni_export" ] |
| if (is_android) { |
| libs = [ "log" ] |
| } |
| configs += [ ":toolchain_define" ] |
| } |
| |
| source_set("jni_zero") { |
| sources = [ |
| "jni_int_wrapper.h", |
| "jni_zero_helper.h", |
| ] |
| |
| public_deps = [ |
| ":jni_export", |
| ":jni_zero_utils", |
| "//base", |
| ] |
| |
| public_configs = [ ":use_chromium_base_define" ] |
| } |
| |
| if (enable_java_templates && is_android) { |
| import("//build/config/android/rules.gni") |
| |
| java_library("jni_zero_java") { |
| supports_android = true |
| deps = [ "//build/android:build_java" ] |
| sources = [ |
| "java/src/org/jni_zero/AccessedByNative.java", |
| "java/src/org/jni_zero/CalledByNative.java", |
| "java/src/org/jni_zero/CalledByNativeForTesting.java", |
| "java/src/org/jni_zero/CalledByNativeUnchecked.java", |
| "java/src/org/jni_zero/CheckDiscard.java", |
| "java/src/org/jni_zero/JNINamespace.java", |
| "java/src/org/jni_zero/JniStaticTestMocker.java", |
| "java/src/org/jni_zero/NativeClassQualifiedName.java", |
| "java/src/org/jni_zero/NativeLibraryLoadedStatus.java", |
| "java/src/org/jni_zero/NativeMethods.java", |
| ] |
| proguard_configs = [ "proguard.flags" ] |
| } |
| } |