diff -up libffi-3.0.9/include/ffi.h.in.defines libffi-3.0.9/include/ffi.h.in
--- libffi-3.0.9/include/ffi.h.in.defines 2010-07-03 22:25:07.000000000 +0200
+++ libffi-3.0.9/include/ffi.h.in 2010-07-03 22:25:35.000000000 +0200
@@ -57,7 +57,9 @@ extern "C" {
#endif
/* Specify which architecture libffi is configured for. */
+#ifndef @TARGET@
#define @TARGET@
+#endif
/* ---- System configuration information --------------------------------- */
diff -up libffi-3.0.9/src/powerpc/ffitarget.h.defines libffi-3.0.9/src/powerpc/ffitarget.h
--- libffi-3.0.9/src/powerpc/ffitarget.h.defines 2010-07-03 22:26:56.000000000 +0200
+++ libffi-3.0.9/src/powerpc/ffitarget.h 2010-07-03 22:27:20.000000000 +0200
@@ -31,12 +31,18 @@
/* ---- System specific configurations ----------------------------------- */
#if defined (POWERPC) && defined (__powerpc64__) /* linux64 */
+#ifndef POWERPC64
#define POWERPC64
+#endif
#elif defined (POWERPC_DARWIN) && defined (__ppc64__) /* Darwin */
+#ifndef POWERPC64
#define POWERPC64
+#endif
#elif defined (POWERPC_AIX) && defined (__64BIT__) /* AIX64 */
+#ifndef POWERPC64
#define POWERPC64
#endif
+#endif
#ifndef LIBFFI_ASM
typedef unsigned long ffi_arg;
diff -up libffi-3.0.9/src/s390/ffitarget.h.defines libffi-3.0.9/src/s390/ffitarget.h
--- libffi-3.0.9/src/s390/ffitarget.h.defines 2010-07-03 22:27:41.000000000 +0200
+++ libffi-3.0.9/src/s390/ffitarget.h 2010-07-03 22:27:53.000000000 +0200
@@ -28,8 +28,10 @@
#define LIBFFI_TARGET_H
#if defined (__s390x__)
+#ifndef S390X
#define S390X
#endif
+#endif
/* ---- System specific configurations ----------------------------------- */
diff -up libffi-3.0.9/src/sparc/ffitarget.h.defines libffi-3.0.9/src/sparc/ffitarget.h
--- libffi-3.0.9/src/sparc/ffitarget.h.defines 2010-07-03 22:28:09.000000000 +0200
+++ libffi-3.0.9/src/sparc/ffitarget.h 2010-07-03 22:28:23.000000000 +0200
@@ -30,8 +30,10 @@
/* ---- System specific configurations ----------------------------------- */
#if defined(__arch64__) || defined(__sparcv9)
+#ifndef SPARC64
#define SPARC64
#endif
+#endif
#ifndef LIBFFI_ASM
typedef unsigned long ffi_arg;