aboutsummaryrefslogtreecommitdiffstats
path: root/make
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2010-11-06 06:35:05 +0100
committerSven Gothel <[email protected]>2010-11-06 06:35:05 +0100
commit3e6bddf63876bd3fef26e5b99d7475ea5dae33a9 (patch)
treee2117df08d540f2adf451cb2edcdc9a63a3b0d7d /make
parente6adf010ac40436b2fe8767742d8f25176ff932c (diff)
Accomodate GlueGen's new build in type, ie dummy stdint.h / stddef.h
Needs GlueGen 6b6b9b3b81cdc85b7260664ebec547756a6be5d7, branch sgothel_wip_fixes01.
Diffstat (limited to 'make')
-rw-r--r--make/stub_includes/common/gluegen_types.h44
-rw-r--r--make/stub_includes/common/stddef.h13
-rw-r--r--make/stub_includes/common/stdint.h24
3 files changed, 57 insertions, 24 deletions
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 <gluegen_types.h>
+
+#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 <gluegen_types.h>
+
+#endif /* __stdint_h */
+