From dd5829a4fed25fbad766361b87c65076ef596ded Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Sat, 1 Jul 2023 02:50:18 +0200 Subject: GlueGen Intro: Add section about its comprehensive runtime library, shorten the JNI_OnLoad section --- README.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 25484fb..089ca01 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,16 @@ This project's canonical repositories is hosted on [JogAmp](https://jogamp.org/c generating Java™ and JNI C code offline at compile time and allows using native libraries within your Java™ application. -It reads ANSI C header files +GlueGen also provides a comprehensive [runtime library](https://jogamp.org/deployment/jogamp-next/javadoc/gluegen/javadoc/) offering +- Support for multi-arch and java code fat-jar deployment + - Native library including JNI bundle handling and Jar file cache + - Platform architecture information retrieval, ELF parser, alignment etc +- Enhanced NIO buffer handling for pointer, arrays, DMA mapping etc +- Network Uri RFC 2396, connection and resource handler to simplify asset loading +- Bitstream, hash maps, ringbuffer, sha cumulator, reflection and threading utils +- Abstract AudioFormat and AudioSink interfaces, concurrent locks .. and more + +GlueGen's compiler reads ANSI C header files and separate configuration files which provide control over many aspects of the glue code generation. GlueGen uses a complete ANSI C parser and an internal representation (IR) capable of representing all @@ -31,7 +40,7 @@ GlueGen also supports [producing an OO-Style API mapping](doc/GlueGen_Mapping.md GlueGen is capable to bind low-level APIs such as the Java™ Native Interface (JNI) and the AWT Native Interface (JAWT) back up to the Java programming language. -Further, GlueGen supports generating `JNI_OnLoad(..)` for dynamic and `JNI_OnLoad_(..)` for static libraries via [`LibraryOnLoad LibraryBasename`](doc/GlueGen_Mapping.md#libraryonload-librarybasename-for-jni_onload-), which also provides `JVMUtil_GetJNIEnv(..)` to resolve the `JNIEnv*` as used by [Java™ callback methods](doc/GlueGen_Mapping.md#java-callback-from-native-c-api-support). +Further, GlueGen supports [generating `JNI_OnLoad*(..)` for dynamic and static libraries](doc/GlueGen_Mapping.md#libraryonload-librarybasename-for-jni_onload-), also resolving off-thread `JNIEnv*` lookup. GlueGen utilizes [JCPP](https://jogamp.org/cgit/jcpp.git/about/), migrated C preprocessor written in Java™. -- cgit v1.2.3