1 #ifndef __gluegen_stdint_h
2 #define __gluegen_stdint_h
3 
4 #ifdef __GLUEGEN__
5     #error "This file is not intended to be used for GlueGen code generation, use the gluegen/make/stub_includes/gluegen variation instead!"
6 #endif
7 
8 #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__)
9     #include <stdint.h>
10 #elif defined(WIN32) && defined(__GNUC__)
11     #include <stdint.h>
12 #elif defined(_WIN64)
13     typedef signed        char   int8_t;
14     typedef unsigned      char  uint8_t;
15     typedef signed       short  int16_t;
16     typedef unsigned     short uint16_t;
17     typedef            __int32  int32_t;
18     typedef unsigned   __int32 uint32_t;
19     typedef            __int64  int64_t;
20     typedef unsigned   __int64 uint64_t;
21 
22     typedef           __int64  intptr_t;
23     typedef unsigned  __int64 uintptr_t;
24 #elif defined(_WIN32)
25     typedef signed        char   int8_t;
26     typedef unsigned      char  uint8_t;
27     typedef signed       short  int16_t;
28     typedef unsigned     short uint16_t;
29     typedef            __int32  int32_t;
30     typedef unsigned   __int32 uint32_t;
31     typedef            __int64  int64_t;
32     typedef unsigned   __int64 uint64_t;
33 
34     typedef            __int32  intptr_t;
35     typedef unsigned   __int32 uintptr_t;
36 #elif defined(__LP64__) || defined(__ia64__) || defined(__x86_64__) || defined(__aarch64__)
37     typedef signed        char   int8_t;
38     typedef unsigned      char  uint8_t;
39     typedef signed       short  int16_t;
40     typedef unsigned     short uint16_t;
41     typedef signed         int  int32_t;
42     typedef unsigned       int uint32_t;
43     typedef signed        long  int64_t;
44     typedef unsigned      long uint64_t;
45 
46     typedef               long  intptr_t;
47     typedef unsigned      long uintptr_t;
48 #else
49     typedef signed        char   int8_t;
50     typedef unsigned      char  uint8_t;
51     typedef signed       short  int16_t;
52     typedef unsigned     short uint16_t;
53     typedef signed         int  int32_t;
54     typedef unsigned       int uint32_t;
55     typedef signed   long long  int64_t;
56     typedef unsigned long long uint64_t;
57 
58     typedef                int  intptr_t;
59     typedef unsigned       int uintptr_t;
60 #endif
61 
62 #endif /* __gluegen_stdint_h */
63