aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Zucchi <[email protected]>2013-01-26 01:01:25 +0100
committerXerxes Rånby <[email protected]>2013-01-26 01:01:25 +0100
commit4885e2a488223b852598520664875804d302d3e3 (patch)
tree4c27d199c4af3a9250b008a63db88f55651903c6
parent0801dd17ee69e88661401172026b48ac898d7a2b (diff)
Bug 567 (part 2): add support for openal extensions
Alter the OpenAL-soft headers to please the gluegen parser. al-types.h and alc-types.h imported from the patch made by Michael Zucchi. Author: Michael Zucchi <[email protected]> Signed-off-by: Xerxes Rånby <[email protected]>
-rw-r--r--make/stub_includes/openal/al-types.h87
-rw-r--r--make/stub_includes/openal/al.h6
-rw-r--r--make/stub_includes/openal/alc-types.h86
-rw-r--r--make/stub_includes/openal/alext.h16
4 files changed, 182 insertions, 13 deletions
diff --git a/make/stub_includes/openal/al-types.h b/make/stub_includes/openal/al-types.h
new file mode 100644
index 0000000..6a609e5
--- /dev/null
+++ b/make/stub_includes/openal/al-types.h
@@ -0,0 +1,87 @@
+#ifndef AL_AL_TYPES_H
+#define AL_AL_TYPES_H
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+#ifndef AL_API
+ #if defined(AL_LIBTYPE_STATIC)
+ #define AL_API
+ #elif defined(_WIN32)
+ #define AL_API __declspec(dllimport)
+ #else
+ #define AL_API extern
+ #endif
+#endif
+
+#if defined(_WIN32)
+ #define AL_APIENTRY __cdecl
+#else
+ #define AL_APIENTRY
+#endif
+
+#if defined(TARGET_OS_MAC) && TARGET_OS_MAC
+ #pragma export on
+#endif
+
+/*
+ * The OPENAL, ALAPI, ALAPIENTRY, AL_INVALID, AL_ILLEGAL_ENUM, and
+ * AL_ILLEGAL_COMMAND macros are deprecated, but are included for
+ * applications porting code from AL 1.0
+ */
+#define OPENAL
+#define ALAPI AL_API
+#define ALAPIENTRY AL_APIENTRY
+#define AL_INVALID (-1)
+#define AL_ILLEGAL_ENUM AL_INVALID_ENUM
+#define AL_ILLEGAL_COMMAND AL_INVALID_OPERATION
+
+#define AL_VERSION_1_0
+#define AL_VERSION_1_1
+
+
+/** 8-bit boolean */
+typedef char ALboolean;
+
+/** character */
+typedef char ALchar;
+
+/** signed 8-bit 2's complement integer */
+typedef signed char ALbyte;
+
+/** unsigned 8-bit integer */
+typedef unsigned char ALubyte;
+
+/** signed 16-bit 2's complement integer */
+typedef short ALshort;
+
+/** unsigned 16-bit integer */
+typedef unsigned short ALushort;
+
+/** signed 32-bit 2's complement integer */
+typedef int ALint;
+
+/** unsigned 32-bit integer */
+typedef unsigned int ALuint;
+
+/** non-negative 32-bit binary integer size */
+typedef int ALsizei;
+
+/** enumerated 32-bit value */
+typedef int ALenum;
+
+/** 32-bit IEEE754 floating-point */
+typedef float ALfloat;
+
+/** 64-bit IEEE754 floating-point */
+typedef double ALdouble;
+
+/** void type (for opaque pointers only) */
+typedef void ALvoid;
+
+#if defined(__cplusplus)
+} /* extern "C" */
+#endif
+
+#endif /* AL_AL_TYPES_H */
diff --git a/make/stub_includes/openal/al.h b/make/stub_includes/openal/al.h
index 413b383..bc84517 100644
--- a/make/stub_includes/openal/al.h
+++ b/make/stub_includes/openal/al.h
@@ -1,6 +1,12 @@
#ifndef AL_AL_H
#define AL_AL_H
+// joal: define prototypes, and disable ext_foldback (requires custom callback code)
+#define AL_ALEXT_PROTOTYPES
+#define AL_EXT_FOLDBACK
+#include "al-types.h"
+#include "alc-types.h"
+
#if defined(__cplusplus)
extern "C" {
#endif
diff --git a/make/stub_includes/openal/alc-types.h b/make/stub_includes/openal/alc-types.h
new file mode 100644
index 0000000..222a7a8
--- /dev/null
+++ b/make/stub_includes/openal/alc-types.h
@@ -0,0 +1,86 @@
+#ifndef AL_ALC_TYPES_H
+#define AL_ALC_TYPES_H
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+#ifndef ALC_API
+ #if defined(AL_LIBTYPE_STATIC)
+ #define ALC_API
+ #elif defined(_WIN32)
+ #define ALC_API __declspec(dllimport)
+ #else
+ #define ALC_API extern
+ #endif
+#endif
+
+#if defined(_WIN32)
+ #define ALC_APIENTRY __cdecl
+#else
+ #define ALC_APIENTRY
+#endif
+
+#if defined(TARGET_OS_MAC) && TARGET_OS_MAC
+ #pragma export on
+#endif
+
+/*
+ * The ALCAPI, ALCAPIENTRY, and ALC_INVALID macros are deprecated, but are
+ * included for applications porting code from AL 1.0
+ */
+#define ALCAPI ALC_API
+#define ALCAPIENTRY ALC_APIENTRY
+#define ALC_INVALID 0
+
+
+#define ALC_VERSION_0_1 1
+
+typedef struct ALCdevice_struct ALCdevice;
+typedef struct ALCcontext_struct ALCcontext;
+
+
+/** 8-bit boolean */
+typedef char ALCboolean;
+
+/** character */
+typedef char ALCchar;
+
+/** signed 8-bit 2's complement integer */
+typedef signed char ALCbyte;
+
+/** unsigned 8-bit integer */
+typedef unsigned char ALCubyte;
+
+/** signed 16-bit 2's complement integer */
+typedef short ALCshort;
+
+/** unsigned 16-bit integer */
+typedef unsigned short ALCushort;
+
+/** signed 32-bit 2's complement integer */
+typedef int ALCint;
+
+/** unsigned 32-bit integer */
+typedef unsigned int ALCuint;
+
+/** non-negative 32-bit binary integer size */
+typedef int ALCsizei;
+
+/** enumerated 32-bit value */
+typedef int ALCenum;
+
+/** 32-bit IEEE754 floating-point */
+typedef float ALCfloat;
+
+/** 64-bit IEEE754 floating-point */
+typedef double ALCdouble;
+
+/** void type (for opaque pointers only) */
+typedef void ALCvoid;
+
+#if defined(__cplusplus)
+} /* extern "C" */
+#endif
+
+#endif /* AL_ALC_TYPES_H */
diff --git a/make/stub_includes/openal/alext.h b/make/stub_includes/openal/alext.h
index 0447f2b..070e839 100644
--- a/make/stub_includes/openal/alext.h
+++ b/make/stub_includes/openal/alext.h
@@ -21,19 +21,9 @@
#ifndef AL_ALEXT_H
#define AL_ALEXT_H
-#include <stddef.h>
-/* Define int64_t and uint64_t types */
-#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-#include <inttypes.h>
-#elif defined(_WIN32) && defined(__GNUC__)
-#include <stdint.h>
-#elif defined(_WIN32)
-typedef __int64 int64_t;
-typedef unsigned __int64 uint64_t;
-#else
-/* Fallback if nothing above works */
-#include <inttypes.h>
-#endif
+// JOAL removed include of
+// stddef.h, inttypes.h, stdint.h or inttypes.h
+// tese headers confuse gluegen if in use.
#include "alc.h"
#include "al.h"