aboutsummaryrefslogtreecommitdiff
path: root/plugin/src/sbt-test/sbt-jni/simple/native/src/library.c
diff options
context:
space:
mode:
authorJakob Odersky <jakob@odersky.com>2016-05-02 05:19:07 -0700
committerJakob Odersky <jakob@odersky.com>2016-05-11 11:17:09 -0700
commit791cb363b77332e3abdf4039102dfcdb863ce6c3 (patch)
tree09ff5d807a1407abedade57b692204ceac3f3280 /plugin/src/sbt-test/sbt-jni/simple/native/src/library.c
parent49563ee13599b0cb1add27b24446677a13b1f563 (diff)
downloadsbt-jni-791cb363b77332e3abdf4039102dfcdb863ce6c3.tar.gz
sbt-jni-791cb363b77332e3abdf4039102dfcdb863ce6c3.tar.bz2
sbt-jni-791cb363b77332e3abdf4039102dfcdb863ce6c3.zip
Use macro annotation to load native library
This also removes the need for third projects to depend on a "loader library".
Diffstat (limited to 'plugin/src/sbt-test/sbt-jni/simple/native/src/library.c')
-rw-r--r--plugin/src/sbt-test/sbt-jni/simple/native/src/library.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/plugin/src/sbt-test/sbt-jni/simple/native/src/library.c b/plugin/src/sbt-test/sbt-jni/simple/native/src/library.c
new file mode 100644
index 0000000..4fa15b1
--- /dev/null
+++ b/plugin/src/sbt-test/sbt-jni/simple/native/src/library.c
@@ -0,0 +1,16 @@
+#include <stdio.h>
+#include "simple_Library__.h"
+
+/*
+ * Class: simple_Library__
+ * Method: say
+ * Signature: (Ljava/lang/String;)I
+ */
+JNIEXPORT jint JNICALL Java_simple_Library_00024_say
+(JNIEnv *env, jobject clazz, jstring message) {
+ const char* msg = (*env)->GetStringUTFChars(env, message, 0);
+ fprintf(stdout, "Printing from native library: %s\n", msg);
+ fflush(stdout);
+ (*env)->ReleaseStringUTFChars(env, message, msg);
+ return 42;
+}