summaryrefslogtreecommitdiff
path: root/gcc/fixinc.svr4
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>1994-03-17 22:43:02 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>1994-03-17 22:43:02 +0000
commit5a157bc426da5786c153e3b04935cafa7f0c05ee (patch)
treed9656ccffa6f940494cf656c8be1db296e57152c /gcc/fixinc.svr4
parente2a77f994d4057b7a9a240b76e5a78df155707ab (diff)
downloadgcc-5a157bc426da5786c153e3b04935cafa7f0c05ee.tar.gz
Define BYTE_ORDER in <sys/byteorder.h> as on UnixWare 1.1
From-SVN: r6804
Diffstat (limited to 'gcc/fixinc.svr4')
-rwxr-xr-xgcc/fixinc.svr440
1 files changed, 40 insertions, 0 deletions
diff --git a/gcc/fixinc.svr4 b/gcc/fixinc.svr4
index ae60d463a1c..de73ffc6075 100755
--- a/gcc/fixinc.svr4
+++ b/gcc/fixinc.svr4
@@ -1375,6 +1375,9 @@ fi
cd ${ORIG_DIR}
echo 'Replacing <sys/byteorder.h>'
+if [ \! -d $LIB/sys ]; then
+ mkdir $LIB/sys
+fi
rm -f ${LIB}/sys/byteorder.h
cat <<'__EOF__' >${LIB}/sys/byteorder.h
#ifndef _SYS_BYTEORDER_H
@@ -1396,6 +1399,14 @@ cat <<'__EOF__' >${LIB}/sys/byteorder.h
#error You lose! This file is only useful with GNU compilers.
#endif
+#ifndef __BYTE_ORDER__
+/* Byte order defines. These are as defined on UnixWare 1.1, but with
+ double underscores added at the front and back. */
+#define __LITTLE_ENDIAN__ 1234
+#define __BIG_ENDIAN__ 4321
+#define __PDP_ENDIAN__ 3412
+#endif
+
#ifdef __GNUC__
#define __STATIC static
#else
@@ -1411,6 +1422,10 @@ __STATIC __inline__ unsigned short ntohs (unsigned int);
#if defined (__i386__)
+#ifndef __BYTE_ORDER__
+#define __BYTE_ORDER__ __LITTLE_ENDIAN__
+#endif
+
/* Convert a host long to a network long. */
/* We must use a new-style function definition, so that this will also
@@ -1441,6 +1456,10 @@ htons (unsigned int __arg)
|| defined (__ns32k__) || defined (__vax__) \
|| defined (__spur__) || defined (__arm__))
+#ifndef __BYTE_ORDER__
+#define __BYTE_ORDER__ __LITTLE_ENDIAN__
+#endif
+
/* For other little-endian machines, using C code is just as efficient as
using assembly code. */
@@ -1472,6 +1491,10 @@ htons (unsigned int __arg)
#else /* must be a big-endian machine */
+#ifndef __BYTE_ORDER__
+#define __BYTE_ORDER__ __BIG_ENDIAN__
+#endif
+
/* Convert a host long to a network long. */
__STATIC __inline__ unsigned long
@@ -1509,6 +1532,23 @@ ntohs (unsigned int __arg)
#undef __STATIC
+__EOF__
+
+if [ -r ${INPUT}/sys/byteorder.h ]; then
+ if grep BYTE_ORDER ${INPUT}/sys/byteorder.h >/dev/null 2>/dev/null; then
+ cat <<'__EOF__' >>${LIB}/sys/byteorder.h
+#ifndef BYTE_ORDER
+#define LITTLE_ENDIAN __LITTLE_ENDIAN__
+#define BIG_ENDIAN __BIG_ENDIAN__
+#define PDP_ENDIAN __PDP_ENDIAN__
+#define BYTE_ORDER __BYTE_ORDER__
+#endif
+
+__EOF__
+ fi
+fi
+
+cat <<'__EOF__' >>${LIB}/sys/byteorder.h
#endif /* !defined (_SYS_BYTEORDER_H) */
__EOF__