mirror of https://github.com/python/cpython
gh-100540: Remove obsolete '--with-system-ffi' configure option (GH-100544)
It has had no effect on non-macOS platforms for a long time, and has had the non-obvious effect of invoking `pkg_config` and not setting `-DUSING_APPLE_OS_LIBFFI` on macOS since GH-22855.
This commit is contained in:
parent
fd4b55ff17
commit
25590eb5de
|
@ -471,11 +471,6 @@ Libraries options
|
||||||
Build the :mod:`pyexpat` module using an installed ``expat`` library
|
Build the :mod:`pyexpat` module using an installed ``expat`` library
|
||||||
(default is no).
|
(default is no).
|
||||||
|
|
||||||
.. cmdoption:: --with-system-ffi
|
|
||||||
|
|
||||||
Build the :mod:`_ctypes` extension module using an installed ``ffi``
|
|
||||||
library, see the :mod:`ctypes` module (default is system-dependent).
|
|
||||||
|
|
||||||
.. cmdoption:: --with-system-libmpdec
|
.. cmdoption:: --with-system-libmpdec
|
||||||
|
|
||||||
Build the ``_decimal`` extension module using an installed ``mpdec``
|
Build the ``_decimal`` extension module using an installed ``mpdec``
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
Removed the ``--with-system-ffi`` ``configure`` option; ``libffi`` must
|
||||||
|
now always be supplied by the system on all non-Windows platforms. The
|
||||||
|
option has had no effect on non-Darwin platforms for several releases, and
|
||||||
|
in 3.11 only had the non-obvious effect of invoking ``pkg-config`` to
|
||||||
|
find ``libffi`` and never setting ``-DUSING_APPLE_OS_LIBFFI``. Now on
|
||||||
|
Darwin platforms ``configure`` will first check for the OS ``libffi`` and
|
||||||
|
then fall back to the same processing as other platforms if it is not
|
||||||
|
found.
|
|
@ -1064,7 +1064,6 @@ with_hash_algorithm
|
||||||
with_tzpath
|
with_tzpath
|
||||||
with_libs
|
with_libs
|
||||||
with_system_expat
|
with_system_expat
|
||||||
with_system_ffi
|
|
||||||
with_system_libmpdec
|
with_system_libmpdec
|
||||||
with_decimal_contextvar
|
with_decimal_contextvar
|
||||||
enable_loadable_sqlite_extensions
|
enable_loadable_sqlite_extensions
|
||||||
|
@ -1847,9 +1846,6 @@ Optional Packages:
|
||||||
--with-libs='lib1 ...' link against additional libs (default is no)
|
--with-libs='lib1 ...' link against additional libs (default is no)
|
||||||
--with-system-expat build pyexpat module using an installed expat
|
--with-system-expat build pyexpat module using an installed expat
|
||||||
library, see Doc/library/pyexpat.rst (default is no)
|
library, see Doc/library/pyexpat.rst (default is no)
|
||||||
--with-system-ffi build _ctypes module using an installed ffi library,
|
|
||||||
see Doc/library/ctypes.rst (default is
|
|
||||||
system-dependent)
|
|
||||||
--with-system-libmpdec build _decimal module using an installed libmpdec
|
--with-system-libmpdec build _decimal module using an installed libmpdec
|
||||||
library, see Doc/library/decimal.rst (default is no)
|
library, see Doc/library/decimal.rst (default is no)
|
||||||
--with-decimal-contextvar
|
--with-decimal-contextvar
|
||||||
|
@ -12516,43 +12512,77 @@ fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Check for use of the system libffi library
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-system-ffi" >&5
|
|
||||||
$as_echo_n "checking for --with-system-ffi... " >&6; }
|
|
||||||
|
|
||||||
# Check whether --with-system_ffi was given.
|
|
||||||
if test "${with_system_ffi+set}" = set; then :
|
|
||||||
withval=$with_system_ffi;
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
if test "$ac_sys_system" = "Darwin"
|
|
||||||
then
|
|
||||||
case "$with_system_ffi" in
|
|
||||||
"")
|
|
||||||
with_system_ffi="no"
|
|
||||||
;;
|
|
||||||
yes|no)
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
as_fn_error $? "--with-system-ffi accepts no arguments" "$LINENO" 5
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_system_ffi" >&5
|
|
||||||
$as_echo "$with_system_ffi" >&6; }
|
|
||||||
else
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
|
||||||
$as_echo "yes" >&6; }
|
|
||||||
if test "$with_system_ffi" != ""
|
|
||||||
then
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --with(out)-system-ffi is ignored on this platform" >&5
|
|
||||||
$as_echo "$as_me: WARNING: --with(out)-system-ffi is ignored on this platform" >&2;}
|
|
||||||
fi
|
|
||||||
with_system_ffi="yes"
|
|
||||||
fi
|
|
||||||
|
|
||||||
have_libffi=missing
|
have_libffi=missing
|
||||||
if test "x$with_system_ffi" = xyes; then :
|
if test "x$ac_sys_system" = xDarwin; then :
|
||||||
|
|
||||||
|
save_CFLAGS=$CFLAGS
|
||||||
|
save_CPPFLAGS=$CPPFLAGS
|
||||||
|
save_LDFLAGS=$LDFLAGS
|
||||||
|
save_LIBS=$LIBS
|
||||||
|
|
||||||
|
|
||||||
|
CFLAGS="-I${SDKROOT}/usr/include/ffi $CFLAGS"
|
||||||
|
ac_fn_c_check_header_mongrel "$LINENO" "ffi.h" "ac_cv_header_ffi_h" "$ac_includes_default"
|
||||||
|
if test "x$ac_cv_header_ffi_h" = xyes; then :
|
||||||
|
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ffi_call in -lffi" >&5
|
||||||
|
$as_echo_n "checking for ffi_call in -lffi... " >&6; }
|
||||||
|
if ${ac_cv_lib_ffi_ffi_call+:} false; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
ac_check_lib_save_LIBS=$LIBS
|
||||||
|
LIBS="-lffi $LIBS"
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
|
||||||
|
/* Override any GCC internal prototype to avoid an error.
|
||||||
|
Use char because int might match the return type of a GCC
|
||||||
|
builtin and then its argument prototype would still apply. */
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C"
|
||||||
|
#endif
|
||||||
|
char ffi_call ();
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
return ffi_call ();
|
||||||
|
;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_link "$LINENO"; then :
|
||||||
|
ac_cv_lib_ffi_ffi_call=yes
|
||||||
|
else
|
||||||
|
ac_cv_lib_ffi_ffi_call=no
|
||||||
|
fi
|
||||||
|
rm -f core conftest.err conftest.$ac_objext \
|
||||||
|
conftest$ac_exeext conftest.$ac_ext
|
||||||
|
LIBS=$ac_check_lib_save_LIBS
|
||||||
|
fi
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ffi_ffi_call" >&5
|
||||||
|
$as_echo "$ac_cv_lib_ffi_ffi_call" >&6; }
|
||||||
|
if test "x$ac_cv_lib_ffi_ffi_call" = xyes; then :
|
||||||
|
|
||||||
|
have_libffi=yes
|
||||||
|
LIBFFI_CFLAGS="-I${SDKROOT}/usr/include/ffi -DUSING_APPLE_OS_LIBFFI=1"
|
||||||
|
LIBFFI_LIBS="-lffi"
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
CFLAGS=$save_CFLAGS
|
||||||
|
CPPFLAGS=$save_CPPFLAGS
|
||||||
|
LDFLAGS=$save_LDFLAGS
|
||||||
|
LIBS=$save_LIBS
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
fi
|
||||||
|
if test "x$have_libffi" = xmissing; then :
|
||||||
|
|
||||||
|
|
||||||
pkg_failed=no
|
pkg_failed=no
|
||||||
|
@ -12762,80 +12792,6 @@ else
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||||
$as_echo "yes" >&6; }
|
$as_echo "yes" >&6; }
|
||||||
have_libffi=yes
|
have_libffi=yes
|
||||||
fi
|
|
||||||
|
|
||||||
else
|
|
||||||
|
|
||||||
if test "x$ac_sys_system" = xDarwin; then :
|
|
||||||
|
|
||||||
save_CFLAGS=$CFLAGS
|
|
||||||
save_CPPFLAGS=$CPPFLAGS
|
|
||||||
save_LDFLAGS=$LDFLAGS
|
|
||||||
save_LIBS=$LIBS
|
|
||||||
|
|
||||||
|
|
||||||
CFLAGS="-I${SDKROOT}/usr/include/ffi $CFLAGS"
|
|
||||||
ac_fn_c_check_header_mongrel "$LINENO" "ffi.h" "ac_cv_header_ffi_h" "$ac_includes_default"
|
|
||||||
if test "x$ac_cv_header_ffi_h" = xyes; then :
|
|
||||||
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ffi_call in -lffi" >&5
|
|
||||||
$as_echo_n "checking for ffi_call in -lffi... " >&6; }
|
|
||||||
if ${ac_cv_lib_ffi_ffi_call+:} false; then :
|
|
||||||
$as_echo_n "(cached) " >&6
|
|
||||||
else
|
|
||||||
ac_check_lib_save_LIBS=$LIBS
|
|
||||||
LIBS="-lffi $LIBS"
|
|
||||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
||||||
/* end confdefs.h. */
|
|
||||||
|
|
||||||
/* Override any GCC internal prototype to avoid an error.
|
|
||||||
Use char because int might match the return type of a GCC
|
|
||||||
builtin and then its argument prototype would still apply. */
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C"
|
|
||||||
#endif
|
|
||||||
char ffi_call ();
|
|
||||||
int
|
|
||||||
main ()
|
|
||||||
{
|
|
||||||
return ffi_call ();
|
|
||||||
;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
_ACEOF
|
|
||||||
if ac_fn_c_try_link "$LINENO"; then :
|
|
||||||
ac_cv_lib_ffi_ffi_call=yes
|
|
||||||
else
|
|
||||||
ac_cv_lib_ffi_ffi_call=no
|
|
||||||
fi
|
|
||||||
rm -f core conftest.err conftest.$ac_objext \
|
|
||||||
conftest$ac_exeext conftest.$ac_ext
|
|
||||||
LIBS=$ac_check_lib_save_LIBS
|
|
||||||
fi
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ffi_ffi_call" >&5
|
|
||||||
$as_echo "$ac_cv_lib_ffi_ffi_call" >&6; }
|
|
||||||
if test "x$ac_cv_lib_ffi_ffi_call" = xyes; then :
|
|
||||||
|
|
||||||
have_libffi=yes
|
|
||||||
LIBFFI_CFLAGS="-I${SDKROOT}/usr/include/ffi -DUSING_APPLE_OS_LIBFFI=1"
|
|
||||||
LIBFFI_LIBS="-lffi"
|
|
||||||
|
|
||||||
else
|
|
||||||
have_libffi=no
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CFLAGS=$save_CFLAGS
|
|
||||||
CPPFLAGS=$save_CPPFLAGS
|
|
||||||
LDFLAGS=$save_LDFLAGS
|
|
||||||
LIBS=$save_LIBS
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
56
configure.ac
56
configure.ac
|
@ -3705,36 +3705,22 @@ AS_VAR_IF([with_system_expat], [yes], [
|
||||||
AC_SUBST([LIBEXPAT_CFLAGS])
|
AC_SUBST([LIBEXPAT_CFLAGS])
|
||||||
AC_SUBST([LIBEXPAT_INTERNAL])
|
AC_SUBST([LIBEXPAT_INTERNAL])
|
||||||
|
|
||||||
# Check for use of the system libffi library
|
|
||||||
AC_MSG_CHECKING(for --with-system-ffi)
|
|
||||||
AC_ARG_WITH(system_ffi,
|
|
||||||
AS_HELP_STRING([--with-system-ffi], [build _ctypes module using an installed ffi library, see Doc/library/ctypes.rst (default is system-dependent)]),,,)
|
|
||||||
|
|
||||||
if test "$ac_sys_system" = "Darwin"
|
|
||||||
then
|
|
||||||
case "$with_system_ffi" in
|
|
||||||
"")
|
|
||||||
with_system_ffi="no"
|
|
||||||
;;
|
|
||||||
yes|no)
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
AC_MSG_ERROR([--with-system-ffi accepts no arguments])
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
AC_MSG_RESULT($with_system_ffi)
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT(yes)
|
|
||||||
if test "$with_system_ffi" != ""
|
|
||||||
then
|
|
||||||
AC_MSG_WARN([--with(out)-system-ffi is ignored on this platform])
|
|
||||||
fi
|
|
||||||
with_system_ffi="yes"
|
|
||||||
fi
|
|
||||||
|
|
||||||
dnl detect libffi
|
dnl detect libffi
|
||||||
have_libffi=missing
|
have_libffi=missing
|
||||||
AS_VAR_IF([with_system_ffi], [yes], [
|
AS_VAR_IF([ac_sys_system], [Darwin], [
|
||||||
|
WITH_SAVE_ENV([
|
||||||
|
CFLAGS="-I${SDKROOT}/usr/include/ffi $CFLAGS"
|
||||||
|
AC_CHECK_HEADER([ffi.h], [
|
||||||
|
AC_CHECK_LIB([ffi], [ffi_call], [
|
||||||
|
dnl use ffi from SDK root
|
||||||
|
have_libffi=yes
|
||||||
|
LIBFFI_CFLAGS="-I${SDKROOT}/usr/include/ffi -DUSING_APPLE_OS_LIBFFI=1"
|
||||||
|
LIBFFI_LIBS="-lffi"
|
||||||
|
])
|
||||||
|
])
|
||||||
|
])
|
||||||
|
])
|
||||||
|
AS_VAR_IF([have_libffi], [missing], [
|
||||||
PKG_CHECK_MODULES([LIBFFI], [libffi], [have_libffi=yes], [
|
PKG_CHECK_MODULES([LIBFFI], [libffi], [have_libffi=yes], [
|
||||||
WITH_SAVE_ENV([
|
WITH_SAVE_ENV([
|
||||||
CPPFLAGS="$CPPFLAGS $LIBFFI_CFLAGS"
|
CPPFLAGS="$CPPFLAGS $LIBFFI_CFLAGS"
|
||||||
|
@ -3748,20 +3734,6 @@ AS_VAR_IF([with_system_ffi], [yes], [
|
||||||
])
|
])
|
||||||
])
|
])
|
||||||
])
|
])
|
||||||
], [
|
|
||||||
AS_VAR_IF([ac_sys_system], [Darwin], [
|
|
||||||
WITH_SAVE_ENV([
|
|
||||||
CFLAGS="-I${SDKROOT}/usr/include/ffi $CFLAGS"
|
|
||||||
AC_CHECK_HEADER([ffi.h], [
|
|
||||||
AC_CHECK_LIB([ffi], [ffi_call], [
|
|
||||||
dnl use ffi from SDK root
|
|
||||||
have_libffi=yes
|
|
||||||
LIBFFI_CFLAGS="-I${SDKROOT}/usr/include/ffi -DUSING_APPLE_OS_LIBFFI=1"
|
|
||||||
LIBFFI_LIBS="-lffi"
|
|
||||||
], [have_libffi=no])
|
|
||||||
])
|
|
||||||
])
|
|
||||||
])
|
|
||||||
])
|
])
|
||||||
|
|
||||||
AS_VAR_IF([have_libffi], [yes], [
|
AS_VAR_IF([have_libffi], [yes], [
|
||||||
|
|
Loading…
Reference in New Issue