4 // stdafx.h : include file for standard system include files,
5 // or project specific include files that are used frequently, but
6 // are changed infrequently
9 // Default to external release.
11 #define SGTL_INTERNAL 0
20 // define this macro for use in VC++
21 #if !defined(__LITTLE_ENDIAN__)
22 #define __LITTLE_ENDIAN__ 1
23 #endif // !defined(__LITTLE_ENDIAN__)
24 #endif // defined(WIN32)
27 // For Linux systems only, types.h only defines the signed
28 // integer types. This is not professional code.
29 // Update: They are defined in the header files in the more recent version of redhat enterprise gcc.
30 #include "/usr/include/sys/types.h"
32 //typedef unsigned long uint32_t;
33 //typedef unsigned short uint16_t;
34 //typedef unsigned char uint8_t;
39 // give a default endian in case one is not defined on Linux (it should be, though)
40 #if !defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__)
41 #define __LITTLE_ENDIAN__ 1
42 #endif // !defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__)
44 #endif // defined(Linux)
47 #if defined(__GNUC__) && ( defined(__APPLE_CPP__) || defined(__APPLE_CC__) || defined(__MACOS_CLASSIC__) )
48 #include <TargetConditionals.h>
50 #if defined(TARGET_RT_LITTLE_ENDIAN) && TARGET_RT_LITTLE_ENDIAN
51 #if !defined(__LITTLE_ENDIAN__)
52 #define __LITTLE_ENDIAN__
54 #elif defined(TARGET_RT_BIG_ENDIAN) && TARGET_RT_BIG_ENDIAN
55 #if !defined(__BIG_ENDIAN__)
56 #define __BIG_ENDIAN__
61 #if defined(WIN32) //!defined(Linux) || !defined(__GNUC__)
62 // redefine missing typedefs from stdint.h or syst/types.h
64 typedef unsigned long long uint64_t;
65 typedef unsigned long uint32_t;
66 typedef unsigned short uint16_t;
67 typedef unsigned char uint8_t;
69 typedef long long int64_t;
71 typedef short int16_t;
73 #endif // !defined(Linux)
77 #endif // !defined(TRUE)
81 #endif // !defined(FALSE)