From f6898c7129bfae5bfe6aa71563370d07517a81de Mon Sep 17 00:00:00 2001 From: compilelife Date: Tue, 14 Mar 2023 17:49:58 +0800 Subject: [swig java] add demo --- tests/projects/swig/java_c/src/example.c | 4 ++++ tests/projects/swig/java_c/src/example.i | 5 +++++ tests/projects/swig/java_c/xmake.lua | 21 +++++++++++++++++++++ 3 files changed, 30 insertions(+) create mode 100644 tests/projects/swig/java_c/src/example.c create mode 100644 tests/projects/swig/java_c/src/example.i create mode 100644 tests/projects/swig/java_c/xmake.lua (limited to 'tests/projects/swig/java_c') diff --git a/tests/projects/swig/java_c/src/example.c b/tests/projects/swig/java_c/src/example.c new file mode 100644 index 000000000..06f76c542 --- /dev/null +++ b/tests/projects/swig/java_c/src/example.c @@ -0,0 +1,4 @@ +int fact(int n) { + return n; +} + diff --git a/tests/projects/swig/java_c/src/example.i b/tests/projects/swig/java_c/src/example.i new file mode 100644 index 000000000..e952f6123 --- /dev/null +++ b/tests/projects/swig/java_c/src/example.i @@ -0,0 +1,5 @@ +%module example +%{ +extern int fact(int n); +%} +extern int fact(int n); diff --git a/tests/projects/swig/java_c/xmake.lua b/tests/projects/swig/java_c/xmake.lua new file mode 100644 index 000000000..65e871ce6 --- /dev/null +++ b/tests/projects/swig/java_c/xmake.lua @@ -0,0 +1,21 @@ +add_rules("mode.release", "mode.debug") + +-- make sure you config to an enviroment with jni.h +-- for example: xmake f -c -p android + +target("example") + set_kind('shared') + -- set moduletype to java + add_rules("swig.c", {moduletype = "java"}) + -- use swigflags to provider package name and output path of java files + add_files("src/example.i", {swigflags = { + "-package", + "com.example", + "-outdir", + "build/java/com/example/" + }}) + add_files("src/example.c") + before_build(function() + -- ensure output path exists before running swig + os.mkdir("build/java/com/example/") + end) -- cgit v1.3.1