summaryrefslogtreecommitdiffstats
path: root/make/config/joal-alc.cfg
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2014-01-26 00:34:45 +0100
committerSven Gothel <[email protected]>2014-01-26 00:34:45 +0100
commit2b5522690722cb3b02a4b2aced6e4bd7b2f82dfe (patch)
tree44310a515a3aa77b55ff61bb4c2d230bf788f6f7 /make/config/joal-alc.cfg
parent23183ccf782c0252957c8d9cf2b51f70b9815acf (diff)
Build: Move gluegen config files into make/config (cleanup)
Diffstat (limited to 'make/config/joal-alc.cfg')
-rwxr-xr-xmake/config/joal-alc.cfg54
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