Index: Makefile.pre.in =================================================================== --- Makefile.pre.in (revision 77202) +++ Makefile.pre.in (working copy) @@ -205,6 +205,8 @@ GRAMMAR_INPUT= $(srcdir)/Grammar/Grammar +LIBFFI_INCLUDEDIR= @LIBFFI_INCLUDEDIR@ + ########################################################################## # Parser PGEN= Parser/pgen$(EXE) Index: configure.in =================================================================== --- configure.in (revision 77202) +++ configure.in (working copy) @@ -1980,6 +1980,14 @@ AC_ARG_WITH(system_ffi, AC_HELP_STRING(--with-system-ffi, build _ctypes module using an installed ffi library)) +if test "$with_system_ffi" = "yes"; then + AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) + LIBFFI_INCLUDEDIR="`"$PKG_CONFIG" libffi --cflags-only-I 2>/dev/null | sed -e 's/^-I//;s/ *$//'`" +else + LIBFFI_INCLUDEDIR="" +fi +AC_SUBST(LIBFFI_INCLUDEDIR) + AC_MSG_RESULT($with_system_ffi) # Check for --with-dbmliborder Index: setup.py =================================================================== --- setup.py (revision 77202) +++ setup.py (working copy) @@ -1790,7 +1790,9 @@ # in /usr/include/ffi inc_dirs.append('/usr/include/ffi') - ffi_inc = find_file('ffi.h', [], inc_dirs) + ffi_inc = [sysconfig.get_config_var("LIBFFI_INCLUDEDIR")] + if not ffi_inc: + ffi_inc = find_file('ffi.h', [], inc_dirs) if ffi_inc is not None: ffi_h = ffi_inc[0] + '/ffi.h' fp = open(ffi_h)