1*6777b538SAndroid Build Coastguard Worker# Copyright 2023 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker# found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Workerimport("//third_party/jni_zero/jni_zero.gni") 6*6777b538SAndroid Build Coastguard Worker 7*6777b538SAndroid Build Coastguard Workerconfig("jni_include_dir") { 8*6777b538SAndroid Build Coastguard Worker include_dirs = [ jni_headers_dir ] 9*6777b538SAndroid Build Coastguard Worker} 10*6777b538SAndroid Build Coastguard Worker 11*6777b538SAndroid Build Coastguard Workerconfig("toolchain_define") { 12*6777b538SAndroid Build Coastguard Worker if (is_robolectric) { 13*6777b538SAndroid Build Coastguard Worker defines = [ "JNI_ZERO_IS_ROBOLECTRIC" ] 14*6777b538SAndroid Build Coastguard Worker } 15*6777b538SAndroid Build Coastguard Worker} 16*6777b538SAndroid Build Coastguard Worker 17*6777b538SAndroid Build Coastguard Worker# This is the public target that we intend others to use. 18*6777b538SAndroid Build Coastguard Workercomponent("jni_zero") { 19*6777b538SAndroid Build Coastguard Worker # This is the public API. 20*6777b538SAndroid Build Coastguard Worker sources = [ "jni_zero.h" ] 21*6777b538SAndroid Build Coastguard Worker 22*6777b538SAndroid Build Coastguard Worker # These are intended to only be used within jni_zero and the code it generates. 23*6777b538SAndroid Build Coastguard Worker sources += [ 24*6777b538SAndroid Build Coastguard Worker "jni_export.h", 25*6777b538SAndroid Build Coastguard Worker "jni_zero.cc", 26*6777b538SAndroid Build Coastguard Worker "jni_zero_internal.h", 27*6777b538SAndroid Build Coastguard Worker "logging.cc", 28*6777b538SAndroid Build Coastguard Worker "logging.h", 29*6777b538SAndroid Build Coastguard Worker ] 30*6777b538SAndroid Build Coastguard Worker if (is_android) { 31*6777b538SAndroid Build Coastguard Worker libs = [ "log" ] 32*6777b538SAndroid Build Coastguard Worker } else if (is_robolectric) { 33*6777b538SAndroid Build Coastguard Worker public_configs = [ "//third_party/jdk:jdk" ] 34*6777b538SAndroid Build Coastguard Worker } 35*6777b538SAndroid Build Coastguard Worker configs += [ ":toolchain_define" ] 36*6777b538SAndroid Build Coastguard Worker} 37*6777b538SAndroid Build Coastguard Worker 38*6777b538SAndroid Build Coastguard Workerif (enable_java_templates && is_android) { 39*6777b538SAndroid Build Coastguard Worker import("//build/config/android/rules.gni") 40*6777b538SAndroid Build Coastguard Worker 41*6777b538SAndroid Build Coastguard Worker java_library("jni_zero_java") { 42*6777b538SAndroid Build Coastguard Worker supports_android = true 43*6777b538SAndroid Build Coastguard Worker deps = [ "//build/android:build_java" ] 44*6777b538SAndroid Build Coastguard Worker sources = [ 45*6777b538SAndroid Build Coastguard Worker "java/src/org/jni_zero/AccessedByNative.java", 46*6777b538SAndroid Build Coastguard Worker "java/src/org/jni_zero/CalledByNative.java", 47*6777b538SAndroid Build Coastguard Worker "java/src/org/jni_zero/CalledByNativeForTesting.java", 48*6777b538SAndroid Build Coastguard Worker "java/src/org/jni_zero/CalledByNativeUnchecked.java", 49*6777b538SAndroid Build Coastguard Worker "java/src/org/jni_zero/CheckDiscard.java", 50*6777b538SAndroid Build Coastguard Worker "java/src/org/jni_zero/JNINamespace.java", 51*6777b538SAndroid Build Coastguard Worker "java/src/org/jni_zero/JniStaticTestMocker.java", 52*6777b538SAndroid Build Coastguard Worker "java/src/org/jni_zero/JniType.java", 53*6777b538SAndroid Build Coastguard Worker "java/src/org/jni_zero/NativeClassQualifiedName.java", 54*6777b538SAndroid Build Coastguard Worker "java/src/org/jni_zero/NativeLibraryLoadedStatus.java", 55*6777b538SAndroid Build Coastguard Worker "java/src/org/jni_zero/NativeMethods.java", 56*6777b538SAndroid Build Coastguard Worker ] 57*6777b538SAndroid Build Coastguard Worker proguard_configs = [ "proguard.flags" ] 58*6777b538SAndroid Build Coastguard Worker } 59*6777b538SAndroid Build Coastguard Worker 60*6777b538SAndroid Build Coastguard Worker group("jni_zero_tests") { 61*6777b538SAndroid Build Coastguard Worker testonly = true 62*6777b538SAndroid Build Coastguard Worker deps = [ 63*6777b538SAndroid Build Coastguard Worker "//third_party/jni_zero/sample:jni_zero_sample_apk_test", 64*6777b538SAndroid Build Coastguard Worker "//third_party/jni_zero/test:jni_zero_compile_check_apk", 65*6777b538SAndroid Build Coastguard Worker ] 66*6777b538SAndroid Build Coastguard Worker } 67*6777b538SAndroid Build Coastguard Worker} 68