summaryrefslogtreecommitdiff
path: root/test cases/java/9 jni/lib
diff options
context:
space:
mode:
authorTristan Partin <tristan@partin.io>2022-01-26 00:33:58 -0600
committerEli Schwartz <eschwartz93@gmail.com>2022-03-02 16:23:09 -0500
commit96b2469544fba40e63d009db73b41c3b07b80684 (patch)
tree4d365b8e8c8a6a8784b55b37eefa2b8b33b2d09b /test cases/java/9 jni/lib
parentf9bfeb2add70973113ab4a98454a5c5d7e3a26ae (diff)
downloadmeson-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/lib')
-rw-r--r--test cases/java/9 jni/lib/com_mesonbuild_JniTest.c9
-rw-r--r--test cases/java/9 jni/lib/meson.build18
-rw-r--r--test cases/java/9 jni/lib/native.c11
3 files changed, 38 insertions, 0 deletions
diff --git a/test cases/java/9 jni/lib/com_mesonbuild_JniTest.c b/test cases/java/9 jni/lib/com_mesonbuild_JniTest.c
new file mode 100644
index 000000000..5deca030b
--- /dev/null
+++ b/test cases/java/9 jni/lib/com_mesonbuild_JniTest.c
@@ -0,0 +1,9 @@
+#include <jni.h>
+
+#include "com_mesonbuild_JniTest.h"
+
+JNIEXPORT jint JNICALL Java_com_mesonbuild_JniTest_jni_1test
+ (JNIEnv *env, jclass clazz)
+{
+ return (jint)0xdeadbeef;
+}
diff --git a/test cases/java/9 jni/lib/meson.build b/test cases/java/9 jni/lib/meson.build
new file mode 100644
index 000000000..c2ddc7a31
--- /dev/null
+++ b/test cases/java/9 jni/lib/meson.build
@@ -0,0 +1,18 @@
+sources = [
+ files(
+ 'native.c',
+ 'com_mesonbuild_JniTest.c',
+ ),
+ native_headers
+]
+
+jnijava = shared_module(
+ 'jnijava',
+ sources,
+ dependencies : [jni_dep],
+ include_directories : [native_header_includes]
+)
+
+jnijava_dep = declare_dependency(
+ link_with : jnijava
+)
diff --git a/test cases/java/9 jni/lib/native.c b/test cases/java/9 jni/lib/native.c
new file mode 100644
index 000000000..0b5e71890
--- /dev/null
+++ b/test cases/java/9 jni/lib/native.c
@@ -0,0 +1,11 @@
+#include <jni.h>
+
+JNIEXPORT jint JNICALL
+JNI_OnLoad(JavaVM *vm, void *reserved)
+{
+ return JNI_VERSION_1_8;
+}
+
+JNIEXPORT void JNICALL
+JNI_OnUnload(JavaVM *vm, void *reserved)
+{}