From 3e6bddf63876bd3fef26e5b99d7475ea5dae33a9 Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Sat, 6 Nov 2010 06:35:05 +0100 Subject: Accomodate GlueGen's new build in type, ie dummy stdint.h / stddef.h Needs GlueGen 6b6b9b3b81cdc85b7260664ebec547756a6be5d7, branch sgothel_wip_fixes01. --- make/stub_includes/common/gluegen_types.h | 44 +++++++++++++++++++++++++++++++ make/stub_includes/common/stddef.h | 13 +++++---- make/stub_includes/common/stdint.h | 24 +++++------------ 3 files changed, 57 insertions(+), 24 deletions(-) create mode 100644 make/stub_includes/common/gluegen_types.h (limited to 'make/stub_includes') diff --git a/make/stub_includes/common/gluegen_types.h b/make/stub_includes/common/gluegen_types.h new file mode 100644 index 000000000..c854d3345 --- /dev/null +++ b/make/stub_includes/common/gluegen_types.h @@ -0,0 +1,44 @@ +#ifndef __gluegen_types_h +#define __gluegen_types_h + +/** + * These are standard include replacement files + * for gluegen processing only! + * + * Don't include this folder to your native compiler! + * + * Purpose of all files within this folder is to define a fixed bitsize + * across all platforms to allow the resulting java type comfort all. + * IE a 'intptr_t' shall always be 64bit. + * + * We use one size fits all. + */ +#if defined(__STDC_VERSION__) || defined(__GNUC__) || defined (__ARMCC_2__) || \ + defined(__VMS) || defined(__sgi) || defined(__sun__) || defined(__digital__) || defined(__unix__) || defined(__SCO__) || defined(OPENSTEP) || \ + defined(BSD) || defined(FREEBSD) || defined(_HPUX) || defined(SOLARIS) || defined(macosx) || \ + defined(_WIN32) || defined(_WIN32_WCE) || defined(WINVER) || defined(_WIN32_WINNT) || defined(__CYGWIN__) || \ + defined(__SCITECH_SNAP__) || defined (__SYMBIAN32__) || \ + defined(__arch64__) || defined(_LP64) + + #error PLATFORM or COMPILER DEFINES FOUND, not allowed within GLUEGEN HEADER + +#endif + +/** + * Look in the GlueGen.java API documentation for the build-in types (terminal symbols) + * definition. + * + * The following types are build-in: + * + * __int32 + * int32_t + * uint32_t + * __int64 + * int64_t + * uint64_t + * ptrdiff_t + * size_t + */ + +#endif /* __gluegen_types_h */ + diff --git a/make/stub_includes/common/stddef.h b/make/stub_includes/common/stddef.h index 8aa70051e..a3890b08a 100644 --- a/make/stub_includes/common/stddef.h +++ b/make/stub_includes/common/stddef.h @@ -1,7 +1,6 @@ -#if defined(_WIN64) - typedef __int64 ptrdiff_t; -#elif defined(__ia64__) || defined(__x86_64__) - typedef long int ptrdiff_t; -#else - typedef int ptrdiff_t; -#endif +#ifndef __stddef_h +#define __stddef_h + +#include + +#endif /* __stddef_h */ diff --git a/make/stub_includes/common/stdint.h b/make/stub_includes/common/stdint.h index 65e7fc22c..dd03d2d1e 100644 --- a/make/stub_includes/common/stdint.h +++ b/make/stub_includes/common/stdint.h @@ -1,17 +1,7 @@ -#if defined(_WIN32) - #error windows does not support stdint.h - // typedef signed __int32 int32_t; - // typedef unsigned __int32 uint32_t; - // typedef signed __int64 int64_t; - // typedef unsigned __int64 uint64_t; -#else - typedef signed int int32_t; - typedef unsigned int uint32_t; - #if defined(__ia64__) || defined(__x86_64__) - typedef signed long int int64_t; - typedef unsigned long int uint64_t; - #else - typedef signed long long int int64_t; - typedef unsigned long long int uint64_t; - #endif -#endif +#ifndef __stdint_h +#define __stdint_h + +#include + +#endif /* __stdint_h */ + -- cgit v1.2.3