summaryrefslogtreecommitdiff
path: root/endian_check.c
diff options
context:
space:
mode:
authorTrueLight <TrueLight@openttd.org>2005-04-14 12:57:21 +0000
committerTrueLight <TrueLight@openttd.org>2005-04-14 12:57:21 +0000
commit6ff14a99cb2b17da1d2453bbfbdd6ba8ce21f98d (patch)
treec59d1b04a54d8d88775b4af71f614299a1bb4a7e /endian_check.c
parent1f5a66404f7cd3528c9462d935f8eafcf0e75f92 (diff)
downloadopenttd-6ff14a99cb2b17da1d2453bbfbdd6ba8ce21f98d.tar.xz
(svn r2196) -Change: updated the Makefile, now it works for crossplatform compiling
(and distcc compiling via Makefile.config). Wiki is coming up soon! Big tnx to Bjarni and Lucaspiller.
Diffstat (limited to 'endian_check.c')
-rw-r--r--endian_check.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/endian_check.c b/endian_check.c
index e8b24ec45..104bf0c26 100644
--- a/endian_check.c
+++ b/endian_check.c
@@ -8,10 +8,18 @@
// that says or TTD_LITTLE_ENDIAN, or TTD_BIG_ENDIAN. Makefile takes
// care of the real writing to the file.
-int main () {
+int main (int argc, char *argv[]) {
unsigned char EndianTest[2] = { 1, 0 };
+ int force_BE = 0, force_LE = 0;
+
+ if (argc > 1 && strcmp(argv[1], "BE") == 0)
+ force_BE = 1;
+ if (argc > 1 && strcmp(argv[1], "LE") == 0)
+ force_LE = 1;
+
printf("#ifndef ENDIAN_H\n#define ENDIAN_H\n");
- if( *(short *) EndianTest == 1 )
+
+ if ( (*(short *) EndianTest == 1 && force_BE != 1) || force_LE == 1)
printf("#define TTD_LITTLE_ENDIAN\n");
else
printf("#define TTD_BIG_ENDIAN\n");