diff options
author | Michael Zucchi <[email protected]> | 2013-01-26 01:01:25 +0100 |
---|---|---|
committer | Xerxes Rånby <[email protected]> | 2013-01-26 01:01:25 +0100 |
commit | 4885e2a488223b852598520664875804d302d3e3 (patch) | |
tree | 4c27d199c4af3a9250b008a63db88f55651903c6 /make | |
parent | 0801dd17ee69e88661401172026b48ac898d7a2b (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]>
Diffstat (limited to 'make')
-rw-r--r-- | make/stub_includes/openal/al-types.h | 87 | ||||
-rw-r--r-- | make/stub_includes/openal/al.h | 6 | ||||
-rw-r--r-- | make/stub_includes/openal/alc-types.h | 86 | ||||
-rw-r--r-- | make/stub_includes/openal/alext.h | 16 |
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" |