aboutsummaryrefslogtreecommitdiffstats
path: root/doc
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 /doc
parenta73c992290930e617c78241bae9fe20cb18a01a9 (diff)
GlueGen Intro: Add section about its comprehensive runtime library, shorten the JNI_OnLoad section
Diffstat (limited to 'doc')
-rw-r--r--doc/GlueGen_Mapping.html43
-rw-r--r--doc/GlueGen_Mapping.md13
2 files changed, 40 insertions, 16 deletions
diff --git a/doc/GlueGen_Mapping.html b/doc/GlueGen_Mapping.html
index 2bbc07a..e173c01 100644
--- a/doc/GlueGen_Mapping.html
+++ b/doc/GlueGen_Mapping.html
@@ -501,12 +501,31 @@ Build</a></li>
for function and data-structure declarations, generating Java and JNI C
code offline at compile time and allows using native libraries within
your Java application.</p>
-<p>It 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 C types to represent the APIs for which it
-generates interfaces. It has the ability to perform significant
-transformations on the IR before glue code emission.</p>
+<p>GlueGen also provides a comprehensive <a
+href="https://jogamp.org/deployment/jogamp-next/javadoc/gluegen/javadoc/">runtime
+library</a> offering</p>
+<ul>
+<li>Support for multi-arch and java code fat-jar deployment
+<ul>
+<li>Native library including JNI bundle handling and Jar file cache</li>
+<li>Platform architecture information retrieval, ELF parser, alignment
+etc</li>
+</ul></li>
+<li>Enhanced NIO buffer handling for pointer, arrays, DMA mapping
+etc</li></li>
+<li>Network Uri RFC 2396, connection and resource handler to simplify
+asset loading</li>
+<li>Bitstream, hash maps, ringbuffer, sha cumulator, reflection and
+threading utils</li>
+<li>Abstract AudioFormat and AudioSink interfaces, concurrent locks ..
+and more</li>
+</ul>
+<p>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 C types to represent the
+APIs for which it generates interfaces. It has the ability to perform
+significant transformations on the IR before glue code emission.</p>
<p>GlueGen can produce native foreign function bindings to Java™ as well
as <a href="#struct-mapping">map native data structures</a> to be fully
accessible from Java™ including potential calls to <a
@@ -524,14 +543,10 @@ incremental OpenGL Profile API levels</a>.</p>
<p>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.</p>
-<p>Further, GlueGen supports generating <code>JNI_OnLoad(..)</code> for
-dynamic and <code>JNI_OnLoad_&lt;LibraryBasename&gt;(..)</code> for
-static libraries via <a
-href="#libraryonload-librarybasename-for-jni_onload-"><code>LibraryOnLoad LibraryBasename</code></a>,
-which also provides <code>JVMUtil_GetJNIEnv(..)</code> to resolve the
-<code>JNIEnv*</code> as used by <a
-href="#java-callback-from-native-c-api-support">Java™ callback
-methods</a>.</p>
+<p>Further, GlueGen supports <a
+href="#libraryonload-librarybasename-for-jni_onload-">generating
+<code>JNI_OnLoad*(..)</code> for dynamic and static libraries</a>, also
+resolving off-thread <code>JNIEnv*</code> lookup.</p>
<p>GlueGen utilizes <a
href="https://jogamp.org/cgit/jcpp.git/about/">JCPP</a>, migrated C
preprocessor written in Java™.</p>
diff --git a/doc/GlueGen_Mapping.md b/doc/GlueGen_Mapping.md
index dbc66aa..9a169d7 100644
--- a/doc/GlueGen_Mapping.md
+++ b/doc/GlueGen_Mapping.md
@@ -19,7 +19,16 @@ table, th, td {
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
@@ -40,7 +49,7 @@ GlueGen also supports [producing an OO-Style API mapping](#oo-style-api-interfac
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`](#libraryonload-librarybasename-for-jni_onload-), which also provides `JVMUtil_GetJNIEnv(..)` to resolve the `JNIEnv*` as used by [Java™ callback methods](#java-callback-from-native-c-api-support).
+Further, GlueGen supports [generating `JNI_OnLoad*(..)` for dynamic and static libraries](#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™.