X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=interpreters%2Fgit%2Fconfig.h;fp=interpreters%2Fgit%2Fconfig.h;h=d1dea0af65cd6c7af9f6ce144484de5a1823063a;hb=147a8cbf17f2b3379277bf7d37cda9866510f16c;hp=0000000000000000000000000000000000000000;hpb=7de488aa6a1709a4d5c59b5ff59862105c1748c5;p=rodin%2Fchimara.git diff --git a/interpreters/git/config.h b/interpreters/git/config.h new file mode 100644 index 0000000..d1dea0a --- /dev/null +++ b/interpreters/git/config.h @@ -0,0 +1,79 @@ +// $Id: config.h,v 1.4 2003/10/18 23:19:52 iain Exp $ +// Platform-dependent configuration for Git + +#ifndef GIT_CONFIG_H +#define GIT_CONFIG_H + +// Various compile-time options. You can define them in the +// makefile or uncomment them here, whichever's easiest. + +// Define if we're big-endian and can read and write unaligned data. +// #define USE_BIG_ENDIAN_UNALIGNED + +// Define this to use GCC's labels-as-values extension for a big speedup. +// #define USE_DIRECT_THREADING + +// Define this if we can use the "inline" keyword. +// #define USE_INLINE + +// Define this to memory-map the game file to speed up loading. (Unix-specific) +// #define USE_MMAP + +// ------------------------------------------------------------------- + +// Make sure we're compiling for a sane platform. For now, this means +// 8-bit bytes and 32-bit pointers. We'll support 64-bit machines at +// some point in the future, but we will probably never support machines +// that can't read memory 8 bits at a time; it's just too much hassle. + +#include + +#if CHAR_BIT != 8 +#error "Git needs 8-bit bytes" +#endif + +// This check doesn't work on all compilers, unfortunately. +// It's checked by an assert() at runtime in initCompiler(). +#if 0 +// #if sizeof(void*) != 4 +#error "Git needs 32-bit pointers" +#endif + +// Now we determine what types to use for 8-bit, 16-bit and 32-bit ints. + +#if UCHAR_MAX==0xff +typedef signed char git_sint8; +typedef unsigned char git_uint8; +#else +#error "Can't find an 8-bit integer type" +#endif + +#if SHRT_MAX==0x7fff +typedef signed short git_sint16; +typedef unsigned short git_uint16; +#elif INT_MAX==0x7fff +typedef signed int git_sint16; +typedef unsigned int git_uint16; +#else +#error "Can't find a 16-bit integer type" +#endif + +#if INT_MAX==0x7fffffff +typedef signed int git_sint32; +typedef unsigned int git_uint32; +#elif LONG_MAX==0x7fffffff +typedef signed long git_sint32; +typedef unsigned long git_uint32; +#else +#error "Can't find a 32-bit integer type" +#endif + +// USE_INLINE is pretty simple to deal with. + +#ifdef USE_INLINE +#define GIT_INLINE static inline +#else +#define GIT_INLINE static +#endif + +#endif // GIT_CONFIG_H