aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2010-08-16 03:24:40 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2010-08-16 03:24:40 +0200
commit867ffb961672a226ba269b32c5d88a2c56b685fe (patch)
tree6281a7c05a747bb440190feb2c91ed9934545073
parent9768a82eb0ef8b742034d2b22c32e0cc97633604 (diff)
downloadbusybox-w32-867ffb961672a226ba269b32c5d88a2c56b685fe.tar.gz
busybox-w32-867ffb961672a226ba269b32c5d88a2c56b685fe.tar.bz2
busybox-w32-867ffb961672a226ba269b32c5d88a2c56b685fe.zip
platform.h: regularize endian detection
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--include/platform.h35
1 files changed, 20 insertions, 15 deletions
diff --git a/include/platform.h b/include/platform.h
index 1cc588690..dd41dbc93 100644
--- a/include/platform.h
+++ b/include/platform.h
@@ -1,9 +1,9 @@
1/* vi: set sw=4 ts=4: */ 1/* vi: set sw=4 ts=4: */
2/* 2/*
3 Copyright 2006, Bernhard Reutner-Fischer 3 * Copyright 2006, Bernhard Reutner-Fischer
4 4 *
5 Licensed under the GPL v2 or later, see the file LICENSE in this tarball. 5 * Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
6*/ 6 */
7#ifndef BB_PLATFORM_H 7#ifndef BB_PLATFORM_H
8#define BB_PLATFORM_H 1 8#define BB_PLATFORM_H 1
9 9
@@ -152,33 +152,37 @@
152 152
153#if defined(__digital__) && defined(__unix__) 153#if defined(__digital__) && defined(__unix__)
154# include <sex.h> 154# include <sex.h>
155# define __BIG_ENDIAN__ (BYTE_ORDER == BIG_ENDIAN) 155#elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) \
156# define __BYTE_ORDER BYTE_ORDER 156 || defined(__APPLE__)
157#elif defined __FreeBSD__
158# include <sys/resource.h> /* rlimit */ 157# include <sys/resource.h> /* rlimit */
159# include <machine/endian.h> 158# include <machine/endian.h>
160# define bswap_64 __bswap64 159# define bswap_64 __bswap64
161# define bswap_32 __bswap32 160# define bswap_32 __bswap32
162# define bswap_16 __bswap16 161# define bswap_16 __bswap16
163# define __BIG_ENDIAN__ (_BYTE_ORDER == _BIG_ENDIAN) 162#else
164#elif !defined __APPLE__ && !defined __OpenBSD__
165# include <byteswap.h> 163# include <byteswap.h>
166# include <endian.h> 164# include <endian.h>
167#endif 165#endif
168 166
169#if defined(__BIG_ENDIAN__) && __BIG_ENDIAN__ 167#if defined(__BYTE_ORDER) && __BYTE_ORDER == __BIG_ENDIAN
170# define BB_BIG_ENDIAN 1 168# define BB_BIG_ENDIAN 1
171# define BB_LITTLE_ENDIAN 0 169# define BB_LITTLE_ENDIAN 0
172#elif defined(__BYTE_ORDER) && __BYTE_ORDER == __BIG_ENDIAN 170#elif defined(__BYTE_ORDER) && __BYTE_ORDER == __LITTLE_ENDIAN
171# define BB_BIG_ENDIAN 0
172# define BB_LITTLE_ENDIAN 1
173#elif defined(_BYTE_ORDER) && _BYTE_ORDER == _BIG_ENDIAN
173# define BB_BIG_ENDIAN 1 174# define BB_BIG_ENDIAN 1
174# define BB_LITTLE_ENDIAN 0 175# define BB_LITTLE_ENDIAN 0
175#elif defined(_BYTE_ORDER) && _BYTE_ORDER == _BIG_ENDIAN 176#elif defined(_BYTE_ORDER) && _BYTE_ORDER == _LITTLE_ENDIAN
177# define BB_BIG_ENDIAN 0
178# define BB_LITTLE_ENDIAN 1
179#elif defined(BYTE_ORDER) && BYTE_ORDER == BIG_ENDIAN
176# define BB_BIG_ENDIAN 1 180# define BB_BIG_ENDIAN 1
177# define BB_LITTLE_ENDIAN 0 181# define BB_LITTLE_ENDIAN 0
178#elif (defined(__BYTE_ORDER) && __BYTE_ORDER == __LITTLE_ENDIAN) || defined(__386__) 182#elif defined(BYTE_ORDER) && BYTE_ORDER == LITTLE_ENDIAN
179# define BB_BIG_ENDIAN 0 183# define BB_BIG_ENDIAN 0
180# define BB_LITTLE_ENDIAN 1 184# define BB_LITTLE_ENDIAN 1
181#elif defined(_BYTE_ORDER) && _BYTE_ORDER == _LITTLE_ENDIAN 185#elif defined(__386__)
182# define BB_BIG_ENDIAN 0 186# define BB_BIG_ENDIAN 0
183# define BB_LITTLE_ENDIAN 1 187# define BB_LITTLE_ENDIAN 1
184#else 188#else
@@ -236,7 +240,8 @@ typedef uint32_t bb__aliased_uint32_t FIX_ALIASING;
236/* ---- Compiler dependent settings ------------------------- */ 240/* ---- Compiler dependent settings ------------------------- */
237 241
238#if (defined __digital__ && defined __unix__) \ 242#if (defined __digital__ && defined __unix__) \
239 || defined __APPLE__ || defined __FreeBSD__ || defined __OpenBSD__ 243 || defined __APPLE__ \
244 || defined __FreeBSD__ || defined __OpenBSD__ || defined __NetBSD__
240# undef HAVE_MNTENT_H 245# undef HAVE_MNTENT_H
241# undef HAVE_SYS_STATFS_H 246# undef HAVE_SYS_STATFS_H
242#else 247#else