diff options
| author | ruki <[email protected]> | 2023-03-14 22:00:31 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2023-03-14 22:00:31 +0800 |
| commit | c1789f73dbee830047ea2eb7cd3b33fc782d6387 (patch) | |
| tree | 01d4588ab1bf9293898e0390c7ca43c588ee2083 /tests/projects | |
| parent | d068e8a4c4f54da17dc964b1329b0d98c4b59149 (diff) | |
| parent | f6898c7129bfae5bfe6aa71563370d07517a81de (diff) | |
Merge pull request #3504 from compilelife/master
add swig java support
Diffstat (limited to 'tests/projects')
| -rw-r--r-- | tests/projects/swig/java_c/src/example.c | 4 | ||||
| -rw-r--r-- | tests/projects/swig/java_c/src/example.i | 5 | ||||
| -rw-r--r-- | tests/projects/swig/java_c/xmake.lua | 21 |
3 files changed, 30 insertions, 0 deletions
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) |
