From 7865b355bd52958f4b27e42b500e83c52255ef37 Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Tue, 9 Nov 2010 02:42:03 +0100 Subject: Gluegen: Types (stddef/stdint), Header and Predefined Macro Change Read API doc ad GlueGen.java New predefined types: wchar_t, intptr_t, uintptr_t New reusable headers for gluegen usage: make/stub_includes/gluegen for native usage: make/stub_includes/platform New predefined macro #define __GLUEGEN__ 2 --- make/stub_includes/common/gluegenint.h | 42 ------------------------- make/stub_includes/gluegen/gluegen_inttypes.h | 7 +++++ make/stub_includes/gluegen/gluegen_stddef.h | 6 ++++ make/stub_includes/gluegen/gluegen_stdint.h | 7 +++++ make/stub_includes/gluegen/gluegen_types.h | 43 ++++++++++++++++++++++++++ make/stub_includes/gluegen/inttypes.h | 7 +++++ make/stub_includes/gluegen/stdarg.h | 7 +++++ make/stub_includes/gluegen/stddef.h | 6 ++++ make/stub_includes/gluegen/stdint.h | 7 +++++ make/stub_includes/platform/gluegen_inttypes.h | 11 +++++++ make/stub_includes/platform/gluegen_stddef.h | 25 +++++++++++++++ make/stub_includes/platform/gluegen_stdint.h | 29 +++++++++++++++++ make/stub_includes/platform/gluegen_types.h | 12 +++++++ make/stub_includes/replacement/inttypes.h | 18 ----------- make/stub_includes/replacement/stddef.h | 7 ----- make/stub_includes/replacement/stdint.h | 18 ----------- 16 files changed, 167 insertions(+), 85 deletions(-) delete mode 100644 make/stub_includes/common/gluegenint.h create mode 100644 make/stub_includes/gluegen/gluegen_inttypes.h create mode 100644 make/stub_includes/gluegen/gluegen_stddef.h create mode 100644 make/stub_includes/gluegen/gluegen_stdint.h create mode 100644 make/stub_includes/gluegen/gluegen_types.h create mode 100644 make/stub_includes/gluegen/inttypes.h create mode 100644 make/stub_includes/gluegen/stdarg.h create mode 100644 make/stub_includes/gluegen/stddef.h create mode 100644 make/stub_includes/gluegen/stdint.h create mode 100644 make/stub_includes/platform/gluegen_inttypes.h create mode 100644 make/stub_includes/platform/gluegen_stddef.h create mode 100644 make/stub_includes/platform/gluegen_stdint.h create mode 100644 make/stub_includes/platform/gluegen_types.h delete mode 100644 make/stub_includes/replacement/inttypes.h delete mode 100644 make/stub_includes/replacement/stddef.h delete mode 100644 make/stub_includes/replacement/stdint.h (limited to 'make/stub_includes') diff --git a/make/stub_includes/common/gluegenint.h b/make/stub_includes/common/gluegenint.h deleted file mode 100644 index 5fb4002..0000000 --- a/make/stub_includes/common/gluegenint.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef __gluegen_int_h_ -#define __gluegen_int_h_ - -#ifndef GLUEGEN_INT_TYPES_DEFINED - #define GLUEGEN_INT_TYPES_DEFINED - /* Define int32_t, int64_t, and uint64_t types for UST/MSC */ - /* (as used in the GL_EXT_timer_query extension). */ - #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #include - #elif defined(__sun__) - #include - #if defined(__STDC__) - #if defined(__arch64__) - typedef long int int64_t; - typedef unsigned long int uint64_t; - #else - typedef long long int int64_t; - typedef unsigned long long int uint64_t; - #endif /* __arch64__ */ - #endif /* __STDC__ */ - #elif defined( __VMS ) - #include - #elif defined(__SCO__) || defined(__USLC__) - #include - #elif defined(__UNIXOS2__) || defined(__SOL64__) - typedef long int int32_t; - typedef unsigned long int uint32_t; - typedef long long int int64_t; - typedef unsigned long long int uint64_t; - #elif defined(WIN32) && defined(__GNUC__) - #include - #elif defined(_WIN32) - typedef __int32 int32_t; - typedef unsigned __int32 uint32_t; - typedef __int64 int64_t; - typedef unsigned __int64 uint64_t; - #else - #include /* Fallback option */ - #endif -#endif - -#endif /* __gluegen_int_h_ */ diff --git a/make/stub_includes/gluegen/gluegen_inttypes.h b/make/stub_includes/gluegen/gluegen_inttypes.h new file mode 100644 index 0000000..5d6a876 --- /dev/null +++ b/make/stub_includes/gluegen/gluegen_inttypes.h @@ -0,0 +1,7 @@ +#ifndef __gluegen_inttypes_h +#define __gluegen_inttypes_h + +#include + +#endif /* __gluegen_inttypes_h */ + diff --git a/make/stub_includes/gluegen/gluegen_stddef.h b/make/stub_includes/gluegen/gluegen_stddef.h new file mode 100644 index 0000000..44302f7 --- /dev/null +++ b/make/stub_includes/gluegen/gluegen_stddef.h @@ -0,0 +1,6 @@ +#ifndef __gluegen_stddef_h +#define __gluegen_stddef_h + +#include + +#endif /* __gluegen_stddef_h */ diff --git a/make/stub_includes/gluegen/gluegen_stdint.h b/make/stub_includes/gluegen/gluegen_stdint.h new file mode 100644 index 0000000..5250213 --- /dev/null +++ b/make/stub_includes/gluegen/gluegen_stdint.h @@ -0,0 +1,7 @@ +#ifndef __gluegen_stdint_h +#define __gluegen_stdint_h + +#include + +#endif /* __gluegen_stdint_h */ + diff --git a/make/stub_includes/gluegen/gluegen_types.h b/make/stub_includes/gluegen/gluegen_types.h new file mode 100644 index 0000000..d1f003a --- /dev/null +++ b/make/stub_includes/gluegen/gluegen_types.h @@ -0,0 +1,43 @@ +#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. + */ + +#ifndef __GLUEGEN__ + #error "This file is intended to be used for GlueGen code generation, not native compilation. Use the gluegen/make/stub_includes/platform variation instead!" +#endif + +/** + * Look in the GlueGen.java API documentation for the build-in types (terminal symbols) + * definition. + * + * The following types are build-in: + * + * __int32 - windows + * int32_t - stdint.h + * wchar_t - stddef.h + * uint32_t - stdint.h + * __int64 - windows + * int64_t - stdint.h + * uint64_t - stdint.h + * ptrdiff_t - stddef.h + * intptr_t - stdint.h + * size_t - stddef.h + * uintptr_t - stdint.h + */ + +#define NULL ((void *)0) + +#endif /* __gluegen_types_h */ + diff --git a/make/stub_includes/gluegen/inttypes.h b/make/stub_includes/gluegen/inttypes.h new file mode 100644 index 0000000..b4ac3d4 --- /dev/null +++ b/make/stub_includes/gluegen/inttypes.h @@ -0,0 +1,7 @@ +#ifndef __inttypes_h +#define __inttypes_h + +#include + +#endif /* __stdint_h */ + diff --git a/make/stub_includes/gluegen/stdarg.h b/make/stub_includes/gluegen/stdarg.h new file mode 100644 index 0000000..b5b585b --- /dev/null +++ b/make/stub_includes/gluegen/stdarg.h @@ -0,0 +1,7 @@ +#ifndef __stdarg_h +#define __stdarg_h + +#include + +#endif /* __stdarg_h */ + diff --git a/make/stub_includes/gluegen/stddef.h b/make/stub_includes/gluegen/stddef.h new file mode 100644 index 0000000..a3890b0 --- /dev/null +++ b/make/stub_includes/gluegen/stddef.h @@ -0,0 +1,6 @@ +#ifndef __stddef_h +#define __stddef_h + +#include + +#endif /* __stddef_h */ diff --git a/make/stub_includes/gluegen/stdint.h b/make/stub_includes/gluegen/stdint.h new file mode 100644 index 0000000..dd03d2d --- /dev/null +++ b/make/stub_includes/gluegen/stdint.h @@ -0,0 +1,7 @@ +#ifndef __stdint_h +#define __stdint_h + +#include + +#endif /* __stdint_h */ + diff --git a/make/stub_includes/platform/gluegen_inttypes.h b/make/stub_includes/platform/gluegen_inttypes.h new file mode 100644 index 0000000..445e74d --- /dev/null +++ b/make/stub_includes/platform/gluegen_inttypes.h @@ -0,0 +1,11 @@ +#ifndef __gluegen_inttypes_h +#define __gluegen_inttypes_h + +#ifdef __GLUEGEN__ + #error "This file is not intended to be used for GlueGen code generation, use the gluegen/make/stub_includes/gluegen variation instead!" +#endif + +#include + +#endif /* __gluegen_inttypes_h */ + diff --git a/make/stub_includes/platform/gluegen_stddef.h b/make/stub_includes/platform/gluegen_stddef.h new file mode 100644 index 0000000..acd9dbd --- /dev/null +++ b/make/stub_includes/platform/gluegen_stddef.h @@ -0,0 +1,25 @@ +#ifndef __gluegen_stddef_h +#define __gluegen_stddef_h + +#ifdef __GLUEGEN__ + #error "This file is not intended to be used for GlueGen code generation, use the gluegen/make/stub_includes/gluegen variation instead!" +#endif + +#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__) + #include +#elif defined(WIN32) && defined(__GNUC__) + #include +#elif defined(_WIN64) + typedef __int64 ptrdiff_t; + typedef unsigned long int size_t; +#elif defined(__ia64__) || defined(__x86_64__) + typedef long int ptrdiff_t; +#else + typedef int ptrdiff_t; +#endif + +#ifndef NULL + #define NULL ((void *)0) +#endif + +#endif /* __gluegen_stddef_h */ diff --git a/make/stub_includes/platform/gluegen_stdint.h b/make/stub_includes/platform/gluegen_stdint.h new file mode 100644 index 0000000..aabbc86 --- /dev/null +++ b/make/stub_includes/platform/gluegen_stdint.h @@ -0,0 +1,29 @@ +#ifndef __gluegen_stdint_h +#define __gluegen_stdint_h + +#ifdef __GLUEGEN__ + #error "This file is not intended to be used for GlueGen code generation, use the gluegen/make/stub_includes/gluegen variation instead!" +#endif + +#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__) + #include +#elif defined(WIN32) && defined(__GNUC__) + #include +#elif defined(_WIN32) + typedef __int32 int32_t; + typedef unsigned __int32 uint32_t; + typedef __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 + +#endif /* __gluegen_stdint_h */ diff --git a/make/stub_includes/platform/gluegen_types.h b/make/stub_includes/platform/gluegen_types.h new file mode 100644 index 0000000..7b9fd3a --- /dev/null +++ b/make/stub_includes/platform/gluegen_types.h @@ -0,0 +1,12 @@ +#ifndef __gluegen_types_h +#define __gluegen_types_h + +#ifdef __GLUEGEN__ + #error "This file is not intended to be used for GlueGen code generation, use the gluegen/make/stub_includes/gluegen variation instead!" +#endif + +#include +#include + +#endif /* __gluegen_types_h */ + diff --git a/make/stub_includes/replacement/inttypes.h b/make/stub_includes/replacement/inttypes.h deleted file mode 100644 index cb4f143..0000000 --- a/make/stub_includes/replacement/inttypes.h +++ /dev/null @@ -1,18 +0,0 @@ -#if defined(WIN32) && defined(__GNUC__) - #include -#elif defined(_WIN32) - typedef __int32 int32_t; - typedef unsigned __int32 uint32_t; - typedef __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 diff --git a/make/stub_includes/replacement/stddef.h b/make/stub_includes/replacement/stddef.h deleted file mode 100644 index 8aa7005..0000000 --- a/make/stub_includes/replacement/stddef.h +++ /dev/null @@ -1,7 +0,0 @@ -#if defined(_WIN64) - typedef __int64 ptrdiff_t; -#elif defined(__ia64__) || defined(__x86_64__) - typedef long int ptrdiff_t; -#else - typedef int ptrdiff_t; -#endif diff --git a/make/stub_includes/replacement/stdint.h b/make/stub_includes/replacement/stdint.h deleted file mode 100644 index cb4f143..0000000 --- a/make/stub_includes/replacement/stdint.h +++ /dev/null @@ -1,18 +0,0 @@ -#if defined(WIN32) && defined(__GNUC__) - #include -#elif defined(_WIN32) - typedef __int32 int32_t; - typedef unsigned __int32 uint32_t; - typedef __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 -- cgit v1.2.3