diff --git a/dev-lang/squirrel/files/squirrel-2.2.4-stdint.h.patch b/dev-lang/squirrel/files/squirrel-2.2.4-stdint.h.patch new file mode 100644 --- /dev/null +++ b/dev-lang/squirrel/files/squirrel-2.2.4-stdint.h.patch @@ -0,0 +1,75 @@ +diff -r d6d89bbc08e5 -r 692b7872324b include/squirrel.h +--- a/include/squirrel.h Thu Feb 11 15:08:35 2010 -0500 ++++ b/include/squirrel.h Sat Feb 13 01:04:21 2010 -0500 +@@ -39,28 +39,22 @@ + #define SQUIRREL_API extern + #endif + +-#if (defined(_WIN64) || defined(_LP64)) +-#define _SQ64 +-#endif ++/* Get uintptr_t from a non standard or standard location */ ++#ifdef _MSC_VER ++#include + +-#ifdef _SQ64 +-#ifdef _MSC_VER +-typedef __int64 SQInteger; +-typedef unsigned __int64 SQUnsignedInteger; +-typedef unsigned __int64 SQHash; /*should be the same size of a pointer*/ +-#else +-typedef long SQInteger; +-typedef unsigned long SQUnsignedInteger; +-typedef unsigned long SQHash; /*should be the same size of a pointer*/ +-#endif +-typedef int SQInt32; +-#else +-typedef int SQInteger; +-typedef int SQInt32; /*must be 32 bits(also on 64bits processors)*/ +-typedef unsigned int SQUnsignedInteger; +-typedef unsigned int SQHash; /*should be the same size of a pointer*/ +-#endif ++typedef __int32 SQInt32; ++typedef __int64 SQInt64; ++#else /* _MSC_VER */ ++#include + ++typedef int32_t SQInt32; ++typedef int64_t SQInt64; ++#endif /* _MSC_VER */ ++ ++typedef intptr_t SQInteger; ++typedef uintptr_t SQUnsignedInteger; ++typedef uintptr_t SQHash; + + #ifdef SQUSEDOUBLE + typedef double SQFloat; +@@ -68,12 +62,8 @@ + typedef float SQFloat; + #endif + +-#if defined(SQUSEDOUBLE) && !defined(_SQ64) +-#ifdef _MSC_VER +-typedef __int64 SQRawObjectVal; //must be 64bits +-#else +-typedef long SQRawObjectVal; //must be 64bits +-#endif ++#if defined(SQUSEDOUBLE) ++typedef SQInt64 SQRawObjectVal; /* must be 64 bits */ + #define SQ_OBJECT_RAWINIT() { _unVal.raw = 0; } + #else + typedef SQUnsignedInteger SQRawObjectVal; //is 32 bits on 32 bits builds and 64 bits otherwise +@@ -453,4 +443,13 @@ + } /*extern "C"*/ + #endif + ++/* ++ Define for code which depends on squirrel to ++ determine bitiness. IMO, this should be discouraged. ++ --ohnobinki ++*/ ++#if (defined(_WIN64) || defined(_LP64)) ++#define _SQ64 ++#endif ++ + #endif /*_SQUIRREL_H_*/