diff options
author | Sven Gothel <[email protected]> | 2014-01-26 00:34:45 +0100 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2014-01-26 00:34:45 +0100 |
commit | 2b5522690722cb3b02a4b2aced6e4bd7b2f82dfe (patch) | |
tree | 44310a515a3aa77b55ff61bb4c2d230bf788f6f7 /make/config/joal-alc.cfg | |
parent | 23183ccf782c0252957c8d9cf2b51f70b9815acf (diff) |
Build: Move gluegen config files into make/config (cleanup)
Diffstat (limited to 'make/config/joal-alc.cfg')
-rwxr-xr-x | make/config/joal-alc.cfg | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/make/config/joal-alc.cfg b/make/config/joal-alc.cfg new file mode 100755 index 0000000..efba5a6 --- /dev/null +++ b/make/config/joal-alc.cfg @@ -0,0 +1,54 @@ +# This .cfg file is used to generate the JOAL interface. +Include joal-common.cfg + +Style InterfaceAndImpl +JavaClass ALC +ImplPackage jogamp.openal +ImplJavaClass ALCAbstractImpl +AccessControl ALCAbstractImpl PUBLIC_ABSTRACT +Extends ALC ALCConstants + +EmitProcAddressTable true +ProcAddressTableClassName ALCProcAddressTable +GetProcAddressTableExpr alcProcAddressTable +ProcAddressNameExpr LP $UPPERCASE({0}) + +# Force all of the methods to be emitted using dynamic linking so we +# don't need to link against any emulation library on the desktop or +# depend on the presence of an import library for a particular device +ForceProcAddressGen __ALL__ + +# Also force the calling conventions of the locally generated function +# pointer typedefs for these routines to ALC_APIENTRY +LocalProcAddressCallingConvention __ALL__ ALC_APIENTRY + +Import java.io.UnsupportedEncodingException +Import java.util.* +Import com.jogamp.openal.* +Import jogamp.openal.* +Import java.security.AccessController +Import java.security.PrivilegedAction + +# Factor out the OpenAL constants into their own interface +Ignore ^AL_.+ +Ignore ^ALC_.+ + +# Manually implement alcGetString so we can +# implement alcGetString(NULL, ALC_DEVICE_SPECIFIER) in another method +ReturnsString alcGetString +ManuallyImplement alcGetString + +# Note that we don't declare this as "ReturnsString" because we're +# going to wrap it in another method +IncludeAs CustomJavaCode ALC joal-alc-CustomJavaCode.java +IncludeAs CustomJavaCode ALCAbstractImpl joal-alcabstract-CustomJavaCode.java + +# These routines use strings +ArgumentIsString alcIsExtensionPresent 1 +ArgumentIsString alcOpenDevice 0 + +# Provide #includes to native code +CustomCCode #include "alc.h" + +IncludeAs CustomCCode joal-common-CustomCCode.c +IncludeAs CustomCCode joal-alc-impl-CustomCCode.c |