1f77bfff96
following patch allows to build images for Qemu ARM on OpenBSD 5.2 amd64 and FreeBSD 9.1 amd64. Mostly small pieces of code changes to get things right on the specific platform. Updated the README to describe better, which tools on the host are required. Added some kind of prepare scripts to install needed tools on BSD via packages. Signed-off-by: Waldemar Brodkorb <mail@waldemar-brodkorb.de> SVN-Revision: 35900
40 lines
956 B
C
40 lines
956 B
C
#ifndef __endian_compat_h
|
|
#define __endian_compat_h
|
|
|
|
#if defined(__linux__) || defined(__CYGWIN__)
|
|
#include <byteswap.h>
|
|
#include_next <endian.h>
|
|
#elif defined(__APPLE__)
|
|
#include <machine/endian.h>
|
|
#include <machine/byte_order.h>
|
|
#define bswap_16(x) NXSwapShort(x)
|
|
#define bswap_32(x) NXSwapInt(x)
|
|
#define bswap_64(x) NXSwapLongLong(x)
|
|
#elif defined(__FreeBSD__)
|
|
#include <sys/endian.h>
|
|
#define bswap_16(x) bswap16(x)
|
|
#define bswap_32(x) bswap32(x)
|
|
#define bswap_64(x) bswap64(x)
|
|
#elif defined(__OpenBSD__)
|
|
#include <sys/types.h>
|
|
#define bswap_16(x) __swap16(x)
|
|
#define bswap_32(x) __swap32(x)
|
|
#define bswap_64(x) __swap64(x)
|
|
#else
|
|
#include <machine/endian.h>
|
|
#define bswap_16(x) swap16(x)
|
|
#define bswap_32(x) swap32(x)
|
|
#define bswap_64(x) swap64(x)
|
|
#endif
|
|
|
|
#ifndef __BYTE_ORDER
|
|
#define __BYTE_ORDER BYTE_ORDER
|
|
#endif
|
|
#ifndef __BIG_ENDIAN
|
|
#define __BIG_ENDIAN BIG_ENDIAN
|
|
#endif
|
|
#ifndef __LITTLE_ENDIAN
|
|
#define __LITTLE_ENDIAN LITTLE_ENDIAN
|
|
#endif
|
|
|
|
#endif
|