summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2009-03-16 22:41:50 +0100
committerAndy Wingo <wingo@oblong.net>2009-03-17 16:47:50 +0100
commit8992a9e318eb7b86920133eba8aa64d5b6bf7bfd (patch)
tree42a9250ee913da645ef244e8ee71889f96e699fd
parent06dc937dd7575c820d8a0884978d0c22de4946fc (diff)
downloadguile-8992a9e318eb7b86920133eba8aa64d5b6bf7bfd.tar.gz
try a new way of checking byte order
-rw-r--r--libguile/objcodes.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/libguile/objcodes.c b/libguile/objcodes.c
index 7dba0e00b..1c1f2d789 100644
--- a/libguile/objcodes.c
+++ b/libguile/objcodes.c
@@ -268,6 +268,14 @@ scm_bootstrap_objcodes (void)
scm_set_smob_mark (scm_tc16_objcode, objcode_mark);
}
+/* Before, we used __BYTE_ORDER, but that is not defined on all
+ systems. So punt and use automake, PDP endianness be damned. */
+#ifdef WORDS_BIGENDIAN
+#define SCM_BYTE_ORDER 4321
+#else
+#define SCM_BYTE_ORDER 1234
+#endif
+
void
scm_init_objcodes (void)
{
@@ -278,7 +286,7 @@ scm_init_objcodes (void)
#endif
scm_c_define ("word-size", scm_from_size_t (sizeof(SCM)));
- scm_c_define ("byte-order", scm_from_uint16 (__BYTE_ORDER));
+ scm_c_define ("byte-order", scm_from_uint16 (SCM_BYTE_ORDER));
}
/*