https://en.wikipedia.org/wiki/SWIG
https://link.springer.com/book/10.1007/978-1-4302-4828-6
What is SWIG?
SWIG is a compile-time software development tool that can produce the code necessary to connect native modules written in C/C++ with other programming languages, including Java. SWIG is an interface compiler, merely a code generator; it does not define a new protocol nor is it a component
O. Cinar, Pro Android C++ with the NDK © Onur Cinar 2012
95
96 CHAPTER 4: Auto-Generate JNI Code Using SWIG
framework or a specialized runtime library. SWIG takes an interface file as its input and produces the necessary code to expose that interface in Java. SWIG is not a stub generator; it produces code that is ready to be compiled and run.
SWIG was originally developed in 1995 for scientific applications; it has since evolved into a general- purpose tool that is distributed under GNU GPL open source license. More information about SWIG can be found at www.swig.org.