diff options
| author | Tristan Partin <tristan@partin.io> | 2022-01-26 00:33:58 -0600 |
|---|---|---|
| committer | Eli Schwartz <eschwartz93@gmail.com> | 2022-03-02 16:23:09 -0500 |
| commit | 96b2469544fba40e63d009db73b41c3b07b80684 (patch) | |
| tree | 4d365b8e8c8a6a8784b55b37eefa2b8b33b2d09b /test cases/java/9 jni/src | |
| parent | f9bfeb2add70973113ab4a98454a5c5d7e3a26ae (diff) | |
| download | meson-96b2469544fba40e63d009db73b41c3b07b80684.tar.gz | |
Rename JDK system dep to JNI
JNI is a more apt name because it currently only supports the JNI. I
also believe that CMake uses the terminology JNI here as well.
JNI is currently the only way to interact with the JVM through native
code, but there is a project called "Project Panama" which aims to be
another way for native code to interact with the JVM.
Diffstat (limited to 'test cases/java/9 jni/src')
| -rw-r--r-- | test cases/java/9 jni/src/com/mesonbuild/JniTest.java | 15 | ||||
| -rw-r--r-- | test cases/java/9 jni/src/com/mesonbuild/meson.build | 3 | ||||
| -rw-r--r-- | test cases/java/9 jni/src/meson.build | 17 |
3 files changed, 35 insertions, 0 deletions
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 000000000..f80b326c1 --- /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() != 0xdeadbeef) { + 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 000000000..3ee208326 --- /dev/null +++ b/test cases/java/9 jni/src/com/mesonbuild/meson.build @@ -0,0 +1,3 @@ +native_headers = javamod.generate_native_headers( + 'JniTest.java', package: 'com.mesonbuild', classes: ['JdkTest']) +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 000000000..07a0664b0 --- /dev/null +++ b/test cases/java/9 jni/src/meson.build @@ -0,0 +1,17 @@ +jnijar = jar( + 'jnijar', + 'com' / 'mesonbuild' / 'JniTest.java', + main_class : 'com.mesonbuild.JniTest', +) + +test( + 'jnitest', + java, + args: [ + '-Djava.library.path=@0@'.format(fs.parent(jnijava.full_path())), + '-jar', + jnijar, + ], + protocol : 'exitcode', + depends : [jnijava], +) |
