[Fontconfig] fontconfig: Branch ''master''

Akira TAGOH
Thu, 29 Mar 2012 03:54:25 -0000

Makefile.am     |    5 +++--
 config-fixups.h |   44 ++++++++++++++++++++++++++++++++++++++++++++
 configure.in    |    4 +++-
 src/fcarch.h    |   13 -------------
 4 files changed, 50 insertions(+), 16 deletions(-)

New commits:
commit becbdaebe3d77726900072de1a0fb6a95c938da5
Author: Akira TAGOH <akira at tagoh.org>
Date:   Wed Mar 28 15:09:25 2012 +0900

    Move workaround macros for fat binaries into the separate header file

diff --git a/Makefile.am b/Makefile.am
index 9342f8e..1b94367 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -25,14 +25,15 @@ DOCSRC=@DOCSRC@
 SUBDIRS=fontconfig fc-case fc-lang fc-glyphname src \
 	fc-cache fc-cat fc-list fc-match fc-pattern fc-query fc-scan \
 	conf.d $(DOCSRC) test
-
+
 EXTRA_DIST = \
         fontconfig.pc.in \
         fonts.conf.in \
 	fonts.dtd \
         fontconfig.spec.in \
         fontconfig.spec \
-	fontconfig-zip.in
+	fontconfig-zip.in \
+	config-fixups.h
 CLEANFILES = fonts.conf
 DISTCLEANFILES = config.cache doltcompile
 MAINTAINERCLEANFILES = \
diff --git a/config-fixups.h b/config-fixups.h
new file mode 100644
index 0000000..0e70846
--- /dev/null
+++ b/config-fixups.h
@@ -0,0 +1,44 @@
+/*
+ * Copyright ??? 2006 Keith Packard
+ * Copyright ??? 2010 Behdad Esfahbod
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of the author(s) not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission.  The authors make no
+ * representations about the suitability of this software for any purpose.  It
+ * is provided "as is" without express or implied warranty.
+ *
+ * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+#ifndef _CONFIG_FIXUPS_H_
+#define _CONFIG_FIXUPS_H_
+
+/* This header file is supposed to be included in config.h */
+
+/* just a hack to build the fat binaries:
+ * https://bugs.freedesktop.org/show_bug.cgi?id=20208
+ */
+#ifdef __APPLE__
+# include <machine/endian.h>
+# undef SIZEOF_VOID_P
+# undef ALIGNOF_DOUBLE
+# ifdef __LP64__
+#  define SIZEOF_VOID_P 8
+#  define ALIGNOF_DOUBLE 8
+# else
+#  define SIZEOF_VOID_P 4
+#  define ALIGNOF_DOUBLE 4
+# endif
+#endif
+
+#endif /* _CONFIG_FIXUPS_H_ */
diff --git a/configure.in b/configure.in
index 3204f2e..e0aba19 100644
--- a/configure.in
+++ b/configure.in
@@ -496,7 +496,9 @@ AC_C_BIGENDIAN
 AC_CHECK_SIZEOF([void *])
 AC_CHECK_ALIGNOF([double])

-
+dnl include the header file for workaround of miscalculating size on autoconf
+dnl particularly for fat binaries
+AH_BOTTOM([#include "config-fixups.h"])

 AC_OUTPUT([
 Makefile
diff --git a/src/fcarch.h b/src/fcarch.h
index 22e6f8e..cf7fd3c 100644
--- a/src/fcarch.h
+++ b/src/fcarch.h
@@ -46,19 +46,6 @@
  * be64		1234		8		8
  */

-#ifdef __APPLE__
-# include <machine/endian.h>
-# undef SIZEOF_VOID_P
-# undef ALIGNOF_DOUBLE
-# ifdef __LP64__
-#  define SIZEOF_VOID_P 8
-#  define ALIGNOF_DOUBLE 8
-# else
-#  define SIZEOF_VOID_P 4
-#  define ALIGNOF_DOUBLE 4
-# endif
-#endif
-
 #if defined(__DARWIN_BYTE_ORDER) && __DARWIN_BYTE_ORDER ==
__DARWIN_LITTLE_ENDIAN
 # define FC_ARCH_ENDIAN "le"
 #elif defined(__DARWIN_BYTE_ORDER) && __DARWIN_BYTE_ORDER ==
__DARWIN_BIG_ENDIAN