diff options
Diffstat (limited to 'test cases/java/9 jni/src/com/mesonbuild')
3 files changed, 31 insertions, 0 deletions
diff --git a/test cases/java/9 jni/src/com/mesonbuild/Configured.java.in b/test cases/java/9 jni/src/com/mesonbuild/Configured.java.in new file mode 100644 index 0000000..fac6e05 --- /dev/null +++ b/test cases/java/9 jni/src/com/mesonbuild/Configured.java.in @@ -0,0 +1,5 @@ +package com.mesonbuild; + +public final class Configured { + public static final int FINGERPRINT = @fingerprint@; +} diff --git a/test cases/java/9 jni/src/com/mesonbuild/JniTest.java b/test cases/java/9 jni/src/com/mesonbuild/JniTest.java new file mode 100644 index 0000000..4bfffe9 --- /dev/null +++ b/test cases/java/9 jni/src/com/mesonbuild/JniTest.java @@ -0,0 +1,15 @@ +package com.mesonbuild; + +public final class JniTest { + private static native int jni_test(); + + public static void main(String[] args) { + if (jni_test() != Configured.FINGERPRINT) { + throw new RuntimeException("jdk_test() did not return 0"); + } + } + + static { + System.loadLibrary("jnijava"); + } +} diff --git a/test cases/java/9 jni/src/com/mesonbuild/meson.build b/test cases/java/9 jni/src/com/mesonbuild/meson.build new file mode 100644 index 0000000..a505b1a --- /dev/null +++ b/test cases/java/9 jni/src/com/mesonbuild/meson.build @@ -0,0 +1,11 @@ +configured = configure_file( + input: files('Configured.java.in'), + output: 'Configured.java', + configuration: configuration_data({'fingerprint': '0xdeadbeef'}) +) + +sources += configured + +native_headers = javamod.native_headers( + sources, package: 'com.mesonbuild', classes: ['JniTest']) +native_header_includes = include_directories('.') |