annotate include/SDL_byteorder.h @ 1341:d02b552e5304

Configure dynamically generates SDL_config.h I'm still wrestling with autoheader, but this should work for now... Fixed lots of build problems with C library support disabled
author Sam Lantinga <slouken@libsdl.org>
date Tue, 07 Feb 2006 12:11:33 +0000
parents c9b51268668f
children 7ba544e2888d
rev   line source
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
1 /*
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
2 SDL - Simple DirectMedia Layer
1312
c9b51268668f Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
3 Copyright (C) 1997-2006 Sam Lantinga
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
4
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
5 This library is free software; you can redistribute it and/or
1312
c9b51268668f Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
6 modify it under the terms of the GNU Lesser General Public
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
7 License as published by the Free Software Foundation; either
1312
c9b51268668f Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
8 version 2.1 of the License, or (at your option) any later version.
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
9
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
10 This library is distributed in the hope that it will be useful,
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1312
c9b51268668f Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
13 Lesser General Public License for more details.
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
14
1312
c9b51268668f Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
15 You should have received a copy of the GNU Lesser General Public
c9b51268668f Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
16 License along with this library; if not, write to the Free Software
c9b51268668f Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
18
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
19 Sam Lantinga
251
b8688cfdc232 Updated the headers with the correct e-mail address
Sam Lantinga <slouken@libsdl.org>
parents: 173
diff changeset
20 slouken@libsdl.org
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
21 */
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
22
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
23 /* Macros for determining the byte-order of this platform */
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
24
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
25 #ifndef _SDL_byteorder_h
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
26 #define _SDL_byteorder_h
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
27
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
28 /* The two types of endianness */
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
29 #define SDL_LIL_ENDIAN 1234
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
30 #define SDL_BIG_ENDIAN 4321
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
31
1137
0f9d463bf09c Byte order detection fixes in SDL_endian.h ...
Ryan C. Gordon <icculus@icculus.org>
parents: 969
diff changeset
32 #ifdef __linux__
0f9d463bf09c Byte order detection fixes in SDL_endian.h ...
Ryan C. Gordon <icculus@icculus.org>
parents: 969
diff changeset
33 # include <endian.h>
0f9d463bf09c Byte order detection fixes in SDL_endian.h ...
Ryan C. Gordon <icculus@icculus.org>
parents: 969
diff changeset
34 # if BYTE_ORDER == LITTLE_ENDIAN
0f9d463bf09c Byte order detection fixes in SDL_endian.h ...
Ryan C. Gordon <icculus@icculus.org>
parents: 969
diff changeset
35 # define SDL_BYTEORDER SDL_LIL_ENDIAN
0f9d463bf09c Byte order detection fixes in SDL_endian.h ...
Ryan C. Gordon <icculus@icculus.org>
parents: 969
diff changeset
36 # else
0f9d463bf09c Byte order detection fixes in SDL_endian.h ...
Ryan C. Gordon <icculus@icculus.org>
parents: 969
diff changeset
37 # define SDL_BYTEORDER SDL_BIG_ENDIAN
0f9d463bf09c Byte order detection fixes in SDL_endian.h ...
Ryan C. Gordon <icculus@icculus.org>
parents: 969
diff changeset
38 # endif
0f9d463bf09c Byte order detection fixes in SDL_endian.h ...
Ryan C. Gordon <icculus@icculus.org>
parents: 969
diff changeset
39
0f9d463bf09c Byte order detection fixes in SDL_endian.h ...
Ryan C. Gordon <icculus@icculus.org>
parents: 969
diff changeset
40 #else
0f9d463bf09c Byte order detection fixes in SDL_endian.h ...
Ryan C. Gordon <icculus@icculus.org>
parents: 969
diff changeset
41
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
42 /* Pardon the mess, I'm trying to determine the endianness of this host.
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
43 I'm doing it by preprocessor defines rather than some sort of configure
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
44 script so that application code can use this too. The "right" way would
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
45 be to dynamically generate this file on install, but that's a lot of work.
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
46 */
969
cfb9518670f4 Date: Wed, 13 Oct 2004 17:00:58 -0500
Sam Lantinga <slouken@libsdl.org>
parents: 769
diff changeset
47 #if (defined(__i386__) || defined(__i386)) || \
cfb9518670f4 Date: Wed, 13 Oct 2004 17:00:58 -0500
Sam Lantinga <slouken@libsdl.org>
parents: 769
diff changeset
48 defined(__ia64__) || defined(WIN32) || \
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
49 (defined(__alpha__) || defined(__alpha)) || \
1137
0f9d463bf09c Byte order detection fixes in SDL_endian.h ...
Ryan C. Gordon <icculus@icculus.org>
parents: 969
diff changeset
50 (defined(__arm__) || defined(__thumb__)) || \
0f9d463bf09c Byte order detection fixes in SDL_endian.h ...
Ryan C. Gordon <icculus@icculus.org>
parents: 969
diff changeset
51 (defined(__sh__) || defined(__sh64__)) || \
1
cf2af46e9e2a Changes since SDL 1.2.0 release
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
52 (defined(__mips__) && defined(__MIPSEL__)) || \
1190
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents: 1137
diff changeset
53 defined(__SYMBIAN32__) || defined(__x86_64__) || \
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents: 1137
diff changeset
54 defined(__OS2__) || defined(__LITTLE_ENDIAN__)
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
55 #define SDL_BYTEORDER SDL_LIL_ENDIAN
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
56 #else
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
57 #define SDL_BYTEORDER SDL_BIG_ENDIAN
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
58 #endif
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
59
1137
0f9d463bf09c Byte order detection fixes in SDL_endian.h ...
Ryan C. Gordon <icculus@icculus.org>
parents: 969
diff changeset
60 #endif /* __linux__ */
0f9d463bf09c Byte order detection fixes in SDL_endian.h ...
Ryan C. Gordon <icculus@icculus.org>
parents: 969
diff changeset
61
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
62 #endif /* _SDL_byteorder_h */