summaryrefslogtreecommitdiffstats
path: root/test cases/java/9 jni/src
diff options
context:
space:
mode:
Diffstat (limited to 'test cases/java/9 jni/src')
-rw-r--r--test cases/java/9 jni/src/com/mesonbuild/Configured.java.in5
-rw-r--r--test cases/java/9 jni/src/com/mesonbuild/JniTest.java15
-rw-r--r--test cases/java/9 jni/src/com/mesonbuild/meson.build11
-rw-r--r--test cases/java/9 jni/src/meson.build9
4 files changed, 40 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('.')
diff --git a/test cases/java/9 jni/src/meson.build b/test cases/java/9 jni/src/meson.build
new file mode 100644
index 0000000..af443b5
--- /dev/null
+++ b/test cases/java/9 jni/src/meson.build
@@ -0,0 +1,9 @@
+sources = [files('com/mesonbuild/JniTest.java')]
+
+subdir('com/mesonbuild')
+
+jnijar = jar(
+ 'jnijar',
+ sources,
+ main_class : 'com.mesonbuild.JniTest',
+)