summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAkira TAGOH <akira@tagoh.org>2012-03-28 15:09:25 +0900
committerAkira TAGOH <akira@tagoh.org>2012-03-29 12:50:47 +0900
commitbecbdaebe3d77726900072de1a0fb6a95c938da5 (patch)
treeba135d9f08344a0095e7bdf4b98f956f058d83f8
parentfe6ba5e5c54928adeaf96668d0cf6f44f0484065 (diff)
Move workaround macros for fat binaries into the separate header file
-rw-r--r--Makefile.am5
-rw-r--r--config-fixups.h44
-rw-r--r--configure.in4
-rw-r--r--src/fcarch.h13
4 files changed, 50 insertions, 16 deletions
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