Move workaround macros for fat binaries into the separate header file

This commit is contained in:
Akira TAGOH 2012-03-28 15:09:25 +09:00
parent fe6ba5e5c5
commit becbdaebe3
4 changed files with 50 additions and 16 deletions

View File

@ -32,7 +32,8 @@ EXTRA_DIST = \
fonts.dtd \
fontconfig.spec.in \
fontconfig.spec \
fontconfig-zip.in
fontconfig-zip.in \
config-fixups.h
CLEANFILES = fonts.conf
DISTCLEANFILES = config.cache doltcompile
MAINTAINERCLEANFILES = \

44
config-fixups.h Normal file
View File

@ -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_ */

View File

@ -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

View File

@ -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