--- lib/database/include/machine.h.orig	2006-05-02 09:28:35.000000000 -0500
+++ lib/database/include/machine.h	2006-05-02 09:31:18.000000000 -0500
@@ -157,8 +157,13 @@
 
 #ifdef __APPLE__
 
+#ifdef __LITTLE_ENDIAN__
+#define MACHINE_WORD_FORMAT	DGL_LITTLE_ENDIAN
+#define MACHINE_FLOAT_FORMAT	DGL_NON_IEEE
+#else /* __LITTLE_ENDIAN */
 #define MACHINE_WORD_FORMAT	DGL_BIG_ENDIAN
 #define MACHINE_FLOAT_FORMAT	DGL_BIG_IEEE
+#endif /* __LITTLE_ENDIAN */
 
 #endif /* __APPLE__ */
 
@@ -321,12 +326,12 @@
  */
 
 #if MACHINE_FLOAT_FORMAT == DGL_NON_IEEE
-#if __i386__ || __ia64__
+#if __i386__ || __ia64__ || (__APPLE__ && __LITTLE_ENDIAN__)
 void mem_hton_float(float *t, float *f);
 void mem_ntoh_float(float *t, float *f);
 void mem_hton_double(double *t, double *f);
 void mem_ntoh_double(double *t, double *f);
-#endif /* __i386__ || __ia64__ */
+#endif /* __i386__ || __ia64__ || (__APPLE__ && __LITTLE_ENDIAN__) */
 #define DGL_HTON_FLOAT(t,f) mem_hton_float(&t,&f)
 #define DGL_NTOH_FLOAT(t,f) mem_ntoh_float(&t,&f)
 #define DGL_HTON_DOUBLE(t,f) mem_hton_double(&t,&f)
