summaryrefslogtreecommitdiffstats
path: root/make/joal-alc.cfg
diff options
context:
space:
mode:
authorkbr <[email protected]>2006-01-10 11:07:30 +0000
committerkbr <[email protected]>2006-01-10 11:07:30 +0000
commit1a0b7c61155813ac0bf3c6d58b4dac15f0225101 (patch)
treee3b573ca2193ae8a6aacd5bc5cb3060321308ba7 /make/joal-alc.cfg
parent0badf374064da5c608dcb06ef2d2e9966792ddc8 (diff)
Merged gluegen-branch-1-0 on to the main JOAL trunk. JOAL is now built
using GlueGen and currently requires a built JOGL workspace as a sibling workspace of the JOAL workspace. git-svn-id: file:///home/mbien/NetBeansProjects/JOGAMP/joal-sync/git-svn/../svn-server-sync/joal/trunk@101 03bf7f67-59de-4072-a415-9a990d468a3f
Diffstat (limited to 'make/joal-alc.cfg')
-rwxr-xr-xmake/joal-alc.cfg57
1 files changed, 57 insertions, 0 deletions
diff --git a/make/joal-alc.cfg b/make/joal-alc.cfg
new file mode 100755
index 0000000..cdc24bb
--- /dev/null
+++ b/make/joal-alc.cfg
@@ -0,0 +1,57 @@
+# This .cfg file is used to generate the JOAL interface.
+Include joal-common.cfg
+
+Style InterfaceAndImpl
+JavaClass ALC
+ImplPackage net.java.games.joal.impl
+ImplJavaClass ALCImpl
+Extends ALC ALCConstants
+
+EmitProcAddressTable true
+ProcAddressTableClassName ALCProcAddressTable
+GetProcAddressTableExpr ALProcAddressLookup.getALCProcAddressTable()
+ProcAddressNameExpr LP $UPPERCASE({0})
+
+Import java.nio.*
+Import net.java.games.joal.*
+Import net.java.games.joal.impl.*
+
+# Factor out the OpenAL constants into their own interface
+Ignore ^AL_.+
+Ignore ^ALC_.+
+
+# This routine is ignored. The analogous routine alGetProcAddress is
+# broken at least up through OpenAL 1.1 so there is no point in trying
+# to use this routine to look up the ALC function pointers.
+Ignore alcGetProcAddress
+
+# These routines use or return strings
+ReturnsString alcGetString
+ArgumentIsString alcIsExtensionPresent 1
+ArgumentIsString alcOpenDevice 0
+
+# Mappings for data types
+Opaque boolean ALCboolean
+
+# Provide #includes to native code
+CustomCCode #include "alc.h"
+
+# Indicate that the direct buffers for ALCcontext, etc. are "opaque",
+# i.e., the user shouldn't be poking around in them
+ReturnValueCapacity alcCreateContext 0
+ReturnValueCapacity alcGetContextsDevice 0
+ReturnValueCapacity alcGetCurrentContext 0
+ReturnValueCapacity alcGetCurrentDevice 0
+ReturnValueCapacity alcOpenDevice 0
+
+# These routines need to be statically linked for bootstrapping
+SkipProcAddressGen alcOpenDevice
+SkipProcAddressGen alcCreateContext
+SkipProcAddressGen alcMakeContextCurrent
+
+# Need an epilogue on alcOpenDevice and alcMakeContextCurrent to set
+# up the proc address tables the first time
+JavaEpilogue alcOpenDevice ALProcAddressLookup.resetALCProcAddressTable();
+JavaEpilogue alcMakeContextCurrent ALProcAddressLookup.resetALProcAddressTable();
+
+IncludeAs CustomCCode joal-common-CustomCCode.c