Fix build on MIPS for libffi. I haven't tested this yet because I

don't have an access on MIPS machines.  Will be tested by buildbot. :)
This commit is contained in:
Hye-Shik Chang 2006-04-26 19:20:26 +00:00
parent b5ccd1416e
commit f4795c82df
4 changed files with 15 additions and 2 deletions

View File

@ -156,6 +156,8 @@ Build
- Patch #1429775: Link extension modules with the shared libpython. - Patch #1429775: Link extension modules with the shared libpython.
- Fixed a libffi build problem on MIPS systems.
C API C API
----- -----

View File

@ -310,7 +310,7 @@ ac_includes_default="\
# include <unistd.h> # include <unistd.h>
#endif" #endif"
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CC ac_ct_CC EXEEXT OBJEXT CFLAGS CPP CPPFLAGS EGREP ALLOCA HAVE_LONG_DOUBLE TARGET TARGETDIR LIBOBJS LTLIBOBJS' ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CC ac_ct_CC EXEEXT OBJEXT CFLAGS CPP CPPFLAGS EGREP ALLOCA HAVE_LONG_DOUBLE TARGET TARGETDIR MKTARGET LIBOBJS LTLIBOBJS'
ac_subst_files='' ac_subst_files=''
# Initialize some variables set by options. # Initialize some variables set by options.
@ -3534,6 +3534,8 @@ echo "$as_me: error: \"libffi has not been ported to $host.\"" >&2;}
{ (exit 1); exit 1; }; } { (exit 1); exit 1; }; }
fi fi
MKTARGET=$TARGET
case x$TARGET in case x$TARGET in
xMIPS*) TARGET=MIPS ;; xMIPS*) TARGET=MIPS ;;
*) ;; *) ;;
@ -5457,6 +5459,7 @@ fi
cat >>confdefs.h <<\_ACEOF cat >>confdefs.h <<\_ACEOF
#define FFI_NO_RAW_API 1 #define FFI_NO_RAW_API 1
_ACEOF _ACEOF
@ -6129,6 +6132,7 @@ s,@ALLOCA@,$ALLOCA,;t t
s,@HAVE_LONG_DOUBLE@,$HAVE_LONG_DOUBLE,;t t s,@HAVE_LONG_DOUBLE@,$HAVE_LONG_DOUBLE,;t t
s,@TARGET@,$TARGET,;t t s,@TARGET@,$TARGET,;t t
s,@TARGETDIR@,$TARGETDIR,;t t s,@TARGETDIR@,$TARGETDIR,;t t
s,@MKTARGET@,$MKTARGET,;t t
s,@LIBOBJS@,$LIBOBJS,;t t s,@LIBOBJS@,$LIBOBJS,;t t
s,@LTLIBOBJS@,$LTLIBOBJS,;t t s,@LTLIBOBJS@,$LTLIBOBJS,;t t
CEOF CEOF

View File

@ -70,6 +70,12 @@ if test $TARGETDIR = unknown; then
AC_MSG_ERROR(["libffi has not been ported to $host."]) AC_MSG_ERROR(["libffi has not been ported to $host."])
fi fi
dnl libffi changes TARGET for MIPS to define a such macro in the header
dnl while MIPS_IRIX or MIPS_LINUX is separatedly used to decide which
dnl files will be compiled. So, we need to keep the original decision
dnl of TARGET to use in fficonfig.py.in.
MKTARGET=$TARGET
case x$TARGET in case x$TARGET in
xMIPS*) TARGET=MIPS ;; xMIPS*) TARGET=MIPS ;;
*) ;; *) ;;
@ -183,6 +189,7 @@ AH_BOTTOM([
AC_SUBST(TARGET) AC_SUBST(TARGET)
AC_SUBST(TARGETDIR) AC_SUBST(TARGETDIR)
AC_SUBST(MKTARGET)
AC_SUBST(SHELL) AC_SUBST(SHELL)

View File

@ -27,7 +27,7 @@ ffi_platforms = {
} }
ffi_srcdir = '@srcdir@' ffi_srcdir = '@srcdir@'
ffi_sources += ffi_platforms['@TARGET@'] ffi_sources += ffi_platforms['@MKTARGET@']
ffi_sources = [os.path.join('@srcdir@', f) for f in ffi_sources] ffi_sources = [os.path.join('@srcdir@', f) for f in ffi_sources]
ffi_cflags = '@CFLAGS@' ffi_cflags = '@CFLAGS@'