summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhobbs <hobbs>2005-10-10 21:27:33 (GMT)
committerhobbs <hobbs>2005-10-10 21:27:33 (GMT)
commit510addfcfe97beccccfa34d588bd9ff828d504de (patch)
tree7dd514595785183f584628b845c8ba6743572ae3
parent11a255939e4fa7ad3ac32a85854e255fb1185c38 (diff)
downloadtk-510addfcfe97beccccfa34d588bd9ff828d504de.zip
tk-510addfcfe97beccccfa34d588bd9ff828d504de.tar.gz
tk-510addfcfe97beccccfa34d588bd9ff828d504de.tar.bz2
* generic/tkInt.h: add MODULE_SCOPE and WORDS_BIGENDIAN checks
that will work with OS X universal binary compiles. (steffen)
-rw-r--r--ChangeLog3
-rw-r--r--generic/tkInt.h41
2 files changed, 43 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index d6d85d7..4139a57 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2005-10-10 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tkInt.h: add MODULE_SCOPE and WORDS_BIGENDIAN checks
+ that will work with OS X universal binary compiles. (steffen)
+
* generic/tkConfig.c (Tk_DeleteOptionTable, Tk_CreateOptionTable):
properly alloc/delete one more option. [Bug 1319720] (melbardis)
diff --git a/generic/tkInt.h b/generic/tkInt.h
index fb52bdd..b263d10 100644
--- a/generic/tkInt.h
+++ b/generic/tkInt.h
@@ -11,7 +11,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: $Id: tkInt.h,v 1.56.2.5 2005/07/28 03:45:03 hobbs Exp $
+ * RCS: $Id: tkInt.h,v 1.56.2.6 2005/10/10 21:27:33 hobbs Exp $
*/
#ifndef _TKINT
@@ -28,6 +28,45 @@
#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
+# undef WORDS_BIGENDIAN
+# 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).
+ */
+
+#ifndef MODULE_SCOPE
+# ifdef __cplusplus
+# define MODULE_SCOPE extern "C"
+# else
+# define MODULE_SCOPE extern
+# endif
+#endif
+
+/*
* Opaque type declarations:
*/