aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2023-07-01 02:50:18 +0200
committerSven Gothel <[email protected]>2023-07-01 02:50:18 +0200
commitdd5829a4fed25fbad766361b87c65076ef596ded (patch)
treeace12be630697838c1674fa9e3d1714f3144c314 /README.md
parenta73c992290930e617c78241bae9fe20cb18a01a9 (diff)
GlueGen Intro: Add section about its comprehensive runtime library, shorten the JNI_OnLoad section
Diffstat (limited to 'README.md')
-rw-r--r--README.md13
1 files changed, 11 insertions, 2 deletions
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</li>
+- 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_<LibraryBasename>(..)` 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™.