Skip to content

Commit

Permalink
Fix build on MIPS for libffi. I haven't tested this yet because I
Browse files Browse the repository at this point in the history
don't have an access on MIPS machines.  Will be tested by buildbot. :)
  • Loading branch information
hyeshik committed Apr 26, 2006
1 parent b5ccd14 commit f4795c8
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 2 deletions.
2 changes: 2 additions & 0 deletions Misc/NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,8 @@ Build

- Patch #1429775: Link extension modules with the shared libpython.

- Fixed a libffi build problem on MIPS systems.

C API
-----

Expand Down
6 changes: 5 additions & 1 deletion Modules/_ctypes/libffi/configure
Original file line number Diff line number Diff line change
Expand Up @@ -310,7 +310,7 @@ ac_includes_default="\
# include <unistd.h>
#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=''

# Initialize some variables set by options.
Expand Down Expand Up @@ -3534,6 +3534,8 @@ echo "$as_me: error: \"libffi has not been ported to $host.\"" >&2;}
{ (exit 1); exit 1; }; }
fi
MKTARGET=$TARGET
case x$TARGET in
xMIPS*) TARGET=MIPS ;;
*) ;;
Expand Down Expand Up @@ -5457,6 +5459,7 @@ fi
cat >>confdefs.h <<\_ACEOF
#define FFI_NO_RAW_API 1
_ACEOF
Expand Down Expand Up @@ -6129,6 +6132,7 @@ s,@ALLOCA@,$ALLOCA,;t t
s,@HAVE_LONG_DOUBLE@,$HAVE_LONG_DOUBLE,;t t
s,@TARGET@,$TARGET,;t t
s,@TARGETDIR@,$TARGETDIR,;t t
s,@MKTARGET@,$MKTARGET,;t t
s,@LIBOBJS@,$LIBOBJS,;t t
s,@LTLIBOBJS@,$LTLIBOBJS,;t t
CEOF
Expand Down
7 changes: 7 additions & 0 deletions Modules/_ctypes/libffi/configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,12 @@ if test $TARGETDIR = unknown; then
AC_MSG_ERROR(["libffi has not been ported to $host."])
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
xMIPS*) TARGET=MIPS ;;
*) ;;
Expand Down Expand Up @@ -183,6 +189,7 @@ AH_BOTTOM([

AC_SUBST(TARGET)
AC_SUBST(TARGETDIR)
AC_SUBST(MKTARGET)

AC_SUBST(SHELL)

Expand Down
2 changes: 1 addition & 1 deletion Modules/_ctypes/libffi/fficonfig.py.in
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ ffi_platforms = {
}

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_cflags = '@CFLAGS@'
Expand Down

0 comments on commit f4795c8

Please sign in to comment.