bpo-45573: check for ossaudiodev in configure (GH-29614)

This commit is contained in:
Christian Heimes 2021-11-18 11:56:26 +02:00 committed by GitHub
parent 345ba3f080
commit 5275e59c0c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 75 additions and 7 deletions

63
configure vendored
View File

@ -630,6 +630,8 @@ MODULE__ELEMENTTREE_FALSE
MODULE__ELEMENTTREE_TRUE
MODULE_PYEXPAT_FALSE
MODULE_PYEXPAT_TRUE
MODULE_OSSAUDIODEV_FALSE
MODULE_OSSAUDIODEV_TRUE
TEST_MODULES
LIBRARY_DEPS
STATIC_LIBPYTHON
@ -8150,7 +8152,7 @@ sys/times.h sys/types.h sys/uio.h sys/un.h sys/utsname.h sys/wait.h pty.h \
libutil.h sys/resource.h netpacket/packet.h sysexits.h bluetooth.h \
linux/tipc.h linux/random.h spawn.h util.h alloca.h endian.h \
sys/endian.h sys/sysmacros.h linux/memfd.h linux/wait.h sys/memfd.h \
sys/mman.h sys/eventfd.h
sys/mman.h sys/eventfd.h linux/soundcard.h sys/soundcard.h
do :
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
@ -19227,6 +19229,57 @@ MODULE_BLOCK=
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdlib extension module ossaudiodev" >&5
$as_echo_n "checking for stdlib extension module ossaudiodev... " >&6; }
case $py_stdlib_not_available in #(
*ossaudiodev*) :
py_cv_module_ossaudiodev=n/a ;; #(
*) :
if true; then :
if test "$ac_cv_header_linux_soundcard_h" = yes -o "$ac_cv_header_sys_soundcard_h" = yes; then :
py_cv_module_ossaudiodev=yes
else
py_cv_module_ossaudiodev=missing
fi
else
py_cv_module_ossaudiodev=disabled
fi
;;
esac
as_fn_append MODULE_BLOCK "MODULE_OSSAUDIODEV=$py_cv_module_ossaudiodev$as_nl"
if test "x$py_cv_module_ossaudiodev" = xyes; then :
as_fn_append MODULE_BLOCK "MODULE_OSSAUDIODEV_CFLAGS=$as_nl"
as_fn_append MODULE_BLOCK "MODULE_OSSAUDIODEV_LDFLAGS=$as_nl"
if true; then
MODULE_OSSAUDIODEV_TRUE=
MODULE_OSSAUDIODEV_FALSE='#'
else
MODULE_OSSAUDIODEV_TRUE='#'
MODULE_OSSAUDIODEV_FALSE=
fi
else
if false; then
MODULE_OSSAUDIODEV_TRUE=
MODULE_OSSAUDIODEV_FALSE='#'
else
MODULE_OSSAUDIODEV_TRUE='#'
MODULE_OSSAUDIODEV_FALSE=
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $py_cv_module_ossaudiodev" >&5
$as_echo "$py_cv_module_ossaudiodev" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdlib extension module pyexpat" >&5
$as_echo_n "checking for stdlib extension module pyexpat... " >&6; }
case $py_stdlib_not_available in #(
@ -19496,6 +19549,14 @@ LTLIBOBJS=$ac_ltlibobjs
if test -z "${MODULE_OSSAUDIODEV_TRUE}" && test -z "${MODULE_OSSAUDIODEV_FALSE}"; then
as_fn_error $? "conditional \"MODULE_OSSAUDIODEV\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${MODULE_OSSAUDIODEV_TRUE}" && test -z "${MODULE_OSSAUDIODEV_FALSE}"; then
as_fn_error $? "conditional \"MODULE_OSSAUDIODEV\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${MODULE_PYEXPAT_TRUE}" && test -z "${MODULE_PYEXPAT_FALSE}"; then
as_fn_error $? "conditional \"MODULE_PYEXPAT\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5

View File

@ -2162,7 +2162,7 @@ sys/times.h sys/types.h sys/uio.h sys/un.h sys/utsname.h sys/wait.h pty.h \
libutil.h sys/resource.h netpacket/packet.h sysexits.h bluetooth.h \
linux/tipc.h linux/random.h spawn.h util.h alloca.h endian.h \
sys/endian.h sys/sysmacros.h linux/memfd.h linux/wait.h sys/memfd.h \
sys/mman.h sys/eventfd.h)
sys/mman.h sys/eventfd.h linux/soundcard.h sys/soundcard.h)
AC_HEADER_DIRENT
AC_HEADER_MAJOR
@ -5990,6 +5990,10 @@ AC_DEFUN([PY_STDLIB_MOD], [
m4_popdef([modstate])dnl
])
dnl platform specific extensions
PY_STDLIB_MOD([ossaudiodev],
[], [test "$ac_cv_header_linux_soundcard_h" = yes -o "$ac_cv_header_sys_soundcard_h" = yes])
dnl _elementtree loads libexpat via CAPI hook in pyexpat
PY_STDLIB_MOD([pyexpat], [], [], [$LIBEXPAT_CFLAGS], [$LIBEXPAT_LDFLAGS])
PY_STDLIB_MOD([_elementtree], [], [], [$LIBEXPAT_CFLAGS], [])

View File

@ -679,6 +679,9 @@
/* Define to 1 if you have the <linux/random.h> header file. */
#undef HAVE_LINUX_RANDOM_H
/* Define to 1 if you have the <linux/soundcard.h> header file. */
#undef HAVE_LINUX_SOUNDCARD_H
/* Define to 1 if you have the <linux/tipc.h> header file. */
#undef HAVE_LINUX_TIPC_H
@ -1217,6 +1220,9 @@
/* Define to 1 if you have the <sys/socket.h> header file. */
#undef HAVE_SYS_SOCKET_H
/* Define to 1 if you have the <sys/soundcard.h> header file. */
#undef HAVE_SYS_SOUNDCARD_H
/* Define to 1 if you have the <sys/statvfs.h> header file. */
#undef HAVE_SYS_STATVFS_H

View File

@ -1485,11 +1485,8 @@ class PyBuildExt(build_ext):
else:
self.missing.extend(['resource', 'termios'])
# Platform-specific libraries
if HOST_PLATFORM.startswith(('linux', 'freebsd', 'gnukfreebsd')):
self.add(Extension('ossaudiodev', ['ossaudiodev.c']))
elif not AIX:
self.missing.append('ossaudiodev')
# linux/soundcard.h or sys/soundcard.h
self.addext(Extension('ossaudiodev', ['ossaudiodev.c']))
if MACOS:
self.add(Extension('_scproxy', ['_scproxy.c'],