summaryrefslogtreecommitdiff
path: root/test cases/java
diff options
context:
space:
mode:
authorTristan Partin <tristan@partin.io>2021-06-19 01:50:15 -0500
committerDylan Baker <dylan@pnwbakers.com>2021-08-22 07:57:29 -0700
commitbe92e3783751b8bf1481dc81635e86b70977698a (patch)
treee86b3752ebe1ee6c2e4b7dbef56269f0707b7d82 /test cases/java
parentcd9db63bfbabdc241cc12805ffd84309d90346ab (diff)
downloadmeson-be92e3783751b8bf1481dc81635e86b70977698a.tar.gz
Add Java module
The Java module will serve as a source for easing Java development within Meson. Currently it only supports generating native header files.
Diffstat (limited to 'test cases/java')
-rw-r--r--test cases/java/9 jdk/lib/com_mesonbuild_JdkTest.h21
-rw-r--r--test cases/java/9 jdk/lib/meson.build12
-rw-r--r--test cases/java/9 jdk/meson.build3
-rw-r--r--test cases/java/9 jdk/src/com/mesonbuild/meson.build2
4 files changed, 13 insertions, 25 deletions
diff --git a/test cases/java/9 jdk/lib/com_mesonbuild_JdkTest.h b/test cases/java/9 jdk/lib/com_mesonbuild_JdkTest.h
deleted file mode 100644
index 40083ac9b..000000000
--- a/test cases/java/9 jdk/lib/com_mesonbuild_JdkTest.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_mesonbuild_JdkTest */
-
-#ifndef _Included_com_mesonbuild_JdkTest
-#define _Included_com_mesonbuild_JdkTest
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class: com_mesonbuild_JdkTest
- * Method: jdk_test
- * Signature: ()I
- */
-JNIEXPORT jint JNICALL Java_com_mesonbuild_JdkTest_jdk_1test
- (JNIEnv *, jclass);
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/test cases/java/9 jdk/lib/meson.build b/test cases/java/9 jdk/lib/meson.build
index a94776972..edffc1c6a 100644
--- a/test cases/java/9 jdk/lib/meson.build
+++ b/test cases/java/9 jdk/lib/meson.build
@@ -1,12 +1,16 @@
-sources = files(
- 'native.c',
- 'com_mesonbuild_JdkTest.c',
-)
+sources = [
+ files(
+ 'native.c',
+ 'com_mesonbuild_JdkTest.c',
+ ),
+ native_header
+]
jdkjava = shared_module(
'jdkjava',
sources,
dependencies : [jdk],
+ include_directories : [native_header_includes]
)
jdkjava_dep = declare_dependency(
diff --git a/test cases/java/9 jdk/meson.build b/test cases/java/9 jdk/meson.build
index 310ba5e2a..e5c9728f9 100644
--- a/test cases/java/9 jdk/meson.build
+++ b/test cases/java/9 jdk/meson.build
@@ -9,10 +9,13 @@ if build_machine.system() == 'windows' and build_machine.cpu_family() == 'x86'
endif
fs = import('fs')
+javamod = import('java')
java = find_program('java')
jdk = dependency('jdk', version : '>=1.8')
+# generate native headers
+subdir('src/com/mesonbuild')
subdir('lib')
subdir('src')
diff --git a/test cases/java/9 jdk/src/com/mesonbuild/meson.build b/test cases/java/9 jdk/src/com/mesonbuild/meson.build
new file mode 100644
index 000000000..07daf51ef
--- /dev/null
+++ b/test cases/java/9 jdk/src/com/mesonbuild/meson.build
@@ -0,0 +1,2 @@
+native_header = javamod.generate_native_header('JdkTest.java', package: 'com.mesonbuild')
+native_header_includes = include_directories('.')