diff options
author | Kenneth Russel <[email protected]> | 2006-02-26 10:21:31 +0000 |
---|---|---|
committer | Kenneth Russel <[email protected]> | 2006-02-26 10:21:31 +0000 |
commit | e24dc9a626d1548f67dc79b8f73c519c392bda33 (patch) | |
tree | 472633b6f167ab9542202712a1bc99d38246f5d3 /doc/manual/example4 | |
parent | 60edc67981e7c3c1d4d43bc80994a8d63952c7bb (diff) |
Added five examples of GlueGen configuration files to the manual for
supporting access to various C programming language constructs. Still
need to add at least two more for concrete and somewhat complex
examples which show up in JOGL.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/gluegen/trunk@18 a78bb65f-1512-4460-ba86-f6dc96a7bf27
Diffstat (limited to 'doc/manual/example4')
-rw-r--r-- | doc/manual/example4/function.c | 10 | ||||
-rw-r--r-- | doc/manual/example4/function.cfg | 12 | ||||
-rw-r--r-- | doc/manual/example4/function.h | 2 | ||||
-rw-r--r-- | doc/manual/example4/gen.sh | 17 |
4 files changed, 41 insertions, 0 deletions
diff --git a/doc/manual/example4/function.c b/doc/manual/example4/function.c new file mode 100644 index 0000000..8666666 --- /dev/null +++ b/doc/manual/example4/function.c @@ -0,0 +1,10 @@ +#include <stdlib.h> +#include <malloc.h> + +void* custom_allocate(int num_bytes) { + return malloc(num_bytes); +} + +void custom_free(void* data) { + free(data); +} diff --git a/doc/manual/example4/function.cfg b/doc/manual/example4/function.cfg new file mode 100644 index 0000000..feee635 --- /dev/null +++ b/doc/manual/example4/function.cfg @@ -0,0 +1,12 @@ +Package testfunction +Style AllStatic +JavaClass TestFunction +JavaOutputDir gensrc/java +NativeOutputDir gensrc/native + +# The length of the returned ByteBuffer from custom_allocate is +# specified as the argument +ReturnValueCapacity custom_allocate {0} + +# custom_free will only ever receive a direct Buffer +NioDirectOnly custom_free diff --git a/doc/manual/example4/function.h b/doc/manual/example4/function.h new file mode 100644 index 0000000..8db77a1 --- /dev/null +++ b/doc/manual/example4/function.h @@ -0,0 +1,2 @@ +void* custom_allocate(int num_bytes); +void custom_free(void* data); diff --git a/doc/manual/example4/gen.sh b/doc/manual/example4/gen.sh new file mode 100644 index 0000000..6fb971e --- /dev/null +++ b/doc/manual/example4/gen.sh @@ -0,0 +1,17 @@ +#!/bin/ksh + +JAVA=java +GLUEGEN_JAR=../../../build/gluegen.jar +ANTLR_JAR=../../../../../ANTLR/antlr-2.7.4/antlr.jar + +NAME=`uname` + +if [ $NAME="Windows*" ] ; then + SEP=\; +elif [ $NAME="CYGWIN*" ] ; then + SEP=\; +else + SEP=: +fi + +java -cp $GLUEGEN_JAR$SEP$ANTLR_JAR com.sun.gluegen.GlueGen -I. -Ecom.sun.gluegen.JavaEmitter -Cfunction.cfg function.h |