summaryrefslogtreecommitdiff
path: root/src/core/endian_type.hpp
diff options
context:
space:
mode:
authorsmatz <smatz@openttd.org>2008-06-17 19:38:00 +0000
committersmatz <smatz@openttd.org>2008-06-17 19:38:00 +0000
commit9da745b38110bc827ff6b5d5c9c3c9bf928c2335 (patch)
treeb271027ea798874acb1d7592eb84626b079887e9 /src/core/endian_type.hpp
parentdedb0033b3647d795a23118a22f227d7af33960d (diff)
downloadopenttd-9da745b38110bc827ff6b5d5c9c3c9bf928c2335.tar.xz
(svn r13552) -Codechange: use TTD_ENDIAN comparations instead of tests if TTD_[BIG/LITTLE]_ENDIAN is defined
Diffstat (limited to 'src/core/endian_type.hpp')
-rw-r--r--src/core/endian_type.hpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/core/endian_type.hpp b/src/core/endian_type.hpp
new file mode 100644
index 000000000..e8dc9ea0c
--- /dev/null
+++ b/src/core/endian_type.hpp
@@ -0,0 +1,29 @@
+/* $Id$ */
+
+/** @file endian_type.hpp Definition of various endian-dependant macros. */
+
+#ifndef ENDIAN_TYPE_H
+#define ENDIAN_TYPE_H
+
+#if defined(ARM) || defined(__arm__) || defined(__alpha__)
+ #define OTTD_ALIGNMENT 1
+#else
+ #define OTTD_ALIGNMENT 0
+#endif
+
+#define TTD_LITTLE_ENDIAN 0
+#define TTD_BIG_ENDIAN 1
+
+/* Windows has always LITTLE_ENDIAN */
+#if defined(WIN32) || defined(__OS2__) || defined(WIN64)
+ #define TTD_ENDIAN TTD_LITTLE_ENDIAN
+#elif !defined(TESTING)
+ /* Else include endian[target/host].h, which has the endian-type, autodetected by the Makefile */
+ #if defined(STRGEN)
+ #include "endian_host.h"
+ #else
+ #include "endian_target.h"
+ #endif
+#endif /* WIN32 || __OS2__ || WIN64 */
+
+#endif /* ENDIAN_TYPE_HPP */