Use 'ao-dbg' instead of 's51' to communicate with TeleMetrum
[fw/sdcc] / sdccconf_in.h
index dc3d30b4a0bc3df9b4059f1defb91b06584b7144..cd08da4a9ce3afb0e5ee28ad79705a445f6736cf 100644 (file)
 #undef TYPE_UWORD
 #undef TYPE_UDWORD
 
-/* find out the endianess of host machine */
-#if __BIG_ENDIAN__ || _BIG_ENDIAN
+/*
+ * find out the endianess of host machine
+ * in order to be able to make Mac OS X unified binaries
+ */
+/* This is tricky since these might be defined with a blank replacement list */
+/* such as on SPARC Solaris. However, configure gets it right, so it's ok */
+/* that (_BIG_ENDIAN+0) is false, even though it is defined. */
+#if (__BIG_ENDIAN__+0) || (_BIG_ENDIAN+0)
 /* 1) trust the compiler */
-#define WORDS_BIGENDIAN 1
-#elsif __LITTLE_ENDIAN__
-/* just in case ... */
-#undef WORDS_BIGENDIAN
+# define WORDS_BIGENDIAN 1
+#elif __LITTLE_ENDIAN__
+/* do nothing */
 #elif (defined BYTE_ORDER && defined BIG_ENDIAN && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN && LITTLE_ENDIAN)
 /* 2) trust the header files */
 # if BYTE_ORDER == BIG_ENDIAN 
 #   define WORDS_BIGENDIAN 1
 # endif
 #else 
-/* 3) assume that host machine has the same endianess as the build machine */
+/* 3) trust the configure; this actually doesn't work for unified Mac OS X binaries :-( */
 # undef BUILD_WORDS_BIGENDIAN
 # if (defined BUILD_WORDS_BIGENDIAN && BUILD_WORDS_BIGENDIAN)
 #   define WORDS_BIGENDIAN  1
+# endif
 /* 4) assume that host is a little endian machine */
 #endif