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 +++++++++++--
doc/GlueGen_Mapping.html | 43 +++++++++++++++++++++++++++++--------------
doc/GlueGen_Mapping.md | 13 +++++++++++--
www/index.html | 17 +++++++++++++++--
4 files changed, 66 insertions(+), 20 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
+- 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™.
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
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.
-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.
+GlueGen also provides a comprehensive runtime
+library 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 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.
GlueGen can produce native foreign function bindings to Java™ as well
as map native data structures to be fully
accessible from Java™ including potential calls to .
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
,
-which also provides JVMUtil_GetJNIEnv(..)
to resolve the
-JNIEnv*
as used by Java™ callback
-methods.
+Further, GlueGen supports generating
+JNI_OnLoad*(..)
for dynamic and static libraries, also
+resolving off-thread JNIEnv*
lookup.
GlueGen utilizes JCPP, migrated C
preprocessor written in Java™.
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
+- 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_(..)` 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™.
diff --git a/www/index.html b/www/index.html
index 7fcca09..812d3b3 100644
--- a/www/index.html
+++ b/www/index.html
@@ -46,7 +46,20 @@
and allows using native libraries within your Java™ application.
- It reads ANSI C header files
+ GlueGen also provides a comprehensive runtime library 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
@@ -72,7 +85,7 @@
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`, which also provides `JVMUtil_GetJNIEnv(..)` to resolve the `JNIEnv*` as used by Java™ callback methods.
+ Further, GlueGen supports generating `JNI_OnLoad*(..)` for dynamic and static libraries, also resolving off-thread `JNIEnv*` lookup.
GlueGen utilizes JCPP, migrated C preprocessor written in Java™.
--
cgit v1.2.3