diff options
Diffstat (limited to 'make/joal-alc.cfg')
-rwxr-xr-x | make/joal-alc.cfg | 57 |
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 |