summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authordas <das>2005-06-18 21:45:01 (GMT)
committerdas <das>2005-06-18 21:45:01 (GMT)
commit6c01aeca56323105bfa7810baba82c7da8ee928d (patch)
tree6a0a7ee61b05e527de1d6c1f4889a5227f5e9c46 /generic
parent1eab272665547e3f9be60541313af2b3c614c747 (diff)
downloadtcl-6c01aeca56323105bfa7810baba82c7da8ee928d.zip
tcl-6c01aeca56323105bfa7810baba82c7da8ee928d.tar.gz
tcl-6c01aeca56323105bfa7810baba82c7da8ee928d.tar.bz2
* generic/tclInt.h: ensure WORDS_BIGENDIAN is defined correctly with fat
compiles on Darwin (i.e. ppc and i386 at the same time), the configure AC_C_BIGENDIAN check is not sufficient in this case because a single run of the compiler builds for two architectures with different endianness. * unix/tcl.m4 (Darwin): add -headerpad_max_install_names to LDFLAGS to ensure we can always relocate binaries with install_name_tool. * unix/configure: autoconf-2.59
Diffstat (limited to 'generic')
-rw-r--r--generic/tclInt.h27
1 files changed, 26 insertions, 1 deletions
diff --git a/generic/tclInt.h b/generic/tclInt.h
index 1c6f1f5..db8591b 100644
--- a/generic/tclInt.h
+++ b/generic/tclInt.h
@@ -12,7 +12,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclInt.h,v 1.235 2005/06/07 21:46:08 dgp Exp $
+ * RCS: @(#) $Id: tclInt.h,v 1.236 2005/06/18 21:45:02 das Exp $
*/
#ifndef _TCLINT
@@ -60,6 +60,31 @@ typedef int ptrdiff_t;
#endif
/*
+ * Ensure WORDS_BIGENDIAN is defined correcly:
+ * Needs to happen here in addition to configure to work with
+ * fat compiles on Darwin (i.e. ppc and i386 at the same time).
+ */
+
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_PARAM_H
+# include <sys/param.h>
+#endif
+#ifdef BYTE_ORDER
+# ifdef BIG_ENDIAN
+# if BYTE_ORDER == BIG_ENDIAN
+# define WORDS_BIGENDIAN
+# endif
+# endif
+# ifdef LITTLE_ENDIAN
+# if BYTE_ORDER == LITTLE_ENDIAN
+# undef WORDS_BIGENDIAN
+# endif
+# endif
+#endif
+
+/*
* Used to tag functions that are only to be visible within the module
* being built and not outside it (where this is supported by the
* linker).