mirror of https://github.com/python/cpython
bpo-45847: Port fcntl to Py_STDLIB_MOD (GH-29696)
Co-authored-by: Christian Heimes <christian@python.org>
This commit is contained in:
parent
29699a2a2a
commit
5b946cadaa
|
@ -87,6 +87,7 @@
|
||||||
# Modules with some UNIX dependencies
|
# Modules with some UNIX dependencies
|
||||||
#
|
#
|
||||||
|
|
||||||
|
@MODULE_FCNTL_TRUE@fcntl fcntlmodule.c
|
||||||
@MODULE_GRP_TRUE@grp grpmodule.c
|
@MODULE_GRP_TRUE@grp grpmodule.c
|
||||||
# needs sys/soundcard.h or linux/soundcard.h (Linux, FreeBSD)
|
# needs sys/soundcard.h or linux/soundcard.h (Linux, FreeBSD)
|
||||||
@MODULE_OSSAUDIODEV_TRUE@ossaudiodev ossaudiodev.c
|
@MODULE_OSSAUDIODEV_TRUE@ossaudiodev ossaudiodev.c
|
||||||
|
|
|
@ -688,6 +688,8 @@ MODULE_OSSAUDIODEV_FALSE
|
||||||
MODULE_OSSAUDIODEV_TRUE
|
MODULE_OSSAUDIODEV_TRUE
|
||||||
MODULE_GRP_FALSE
|
MODULE_GRP_FALSE
|
||||||
MODULE_GRP_TRUE
|
MODULE_GRP_TRUE
|
||||||
|
MODULE_FCNTL_FALSE
|
||||||
|
MODULE_FCNTL_TRUE
|
||||||
MODULE__DATETIME_FALSE
|
MODULE__DATETIME_FALSE
|
||||||
MODULE__DATETIME_TRUE
|
MODULE__DATETIME_TRUE
|
||||||
MODULE_MATH_FALSE
|
MODULE_MATH_FALSE
|
||||||
|
@ -13343,7 +13345,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||||
fi
|
fi
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_flock_decl" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_flock_decl" >&5
|
||||||
$as_echo "$ac_cv_flock_decl" >&6; }
|
$as_echo "$ac_cv_flock_decl" >&6; }
|
||||||
if test "x${ac_cv_flock_decl}" = xyes; then
|
if test "x$ac_cv_flock_decl" = xyes; then :
|
||||||
for ac_func in flock
|
for ac_func in flock
|
||||||
do :
|
do :
|
||||||
ac_fn_c_check_func "$LINENO" "flock" "ac_cv_func_flock"
|
ac_fn_c_check_func "$LINENO" "flock" "ac_cv_func_flock"
|
||||||
|
@ -13352,7 +13354,9 @@ if test "x$ac_cv_func_flock" = xyes; then :
|
||||||
#define HAVE_FLOCK 1
|
#define HAVE_FLOCK 1
|
||||||
_ACEOF
|
_ACEOF
|
||||||
|
|
||||||
else
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for flock in -lbsd" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for flock in -lbsd" >&5
|
||||||
$as_echo_n "checking for flock in -lbsd... " >&6; }
|
$as_echo_n "checking for flock in -lbsd... " >&6; }
|
||||||
if ${ac_cv_lib_bsd_flock+:} false; then :
|
if ${ac_cv_lib_bsd_flock+:} false; then :
|
||||||
|
@ -13390,18 +13394,10 @@ fi
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_flock" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_flock" >&5
|
||||||
$as_echo "$ac_cv_lib_bsd_flock" >&6; }
|
$as_echo "$ac_cv_lib_bsd_flock" >&6; }
|
||||||
if test "x$ac_cv_lib_bsd_flock" = xyes; then :
|
if test "x$ac_cv_lib_bsd_flock" = xyes; then :
|
||||||
$as_echo "#define HAVE_FLOCK 1" >>confdefs.h
|
FCNTL_LIBS="-lbsd"
|
||||||
|
|
||||||
|
|
||||||
$as_echo "#define FLOCK_NEEDS_LIBBSD 1" >>confdefs.h
|
|
||||||
|
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
@ -19756,6 +19752,43 @@ fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdlib extension module fcntl" >&5
|
||||||
|
$as_echo_n "checking for stdlib extension module fcntl... " >&6; }
|
||||||
|
case $py_stdlib_not_available in #(
|
||||||
|
*fcntl*) :
|
||||||
|
py_cv_module_fcntl=n/a ;; #(
|
||||||
|
*) :
|
||||||
|
if true; then :
|
||||||
|
if test "$ac_cv_header_sys_ioctl_h" = "yes" -a "$ac_cv_header_fcntl_h" = "yes"; then :
|
||||||
|
py_cv_module_fcntl=yes
|
||||||
|
else
|
||||||
|
py_cv_module_fcntl=missing
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
py_cv_module_fcntl=disabled
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
as_fn_append MODULE_BLOCK "MODULE_FCNTL=$py_cv_module_fcntl$as_nl"
|
||||||
|
if test "x$py_cv_module_fcntl" = xyes; then :
|
||||||
|
|
||||||
|
|
||||||
|
as_fn_append MODULE_BLOCK "MODULE_FCNTL_LDFLAGS=$FCNTL_LIBS$as_nl"
|
||||||
|
|
||||||
|
fi
|
||||||
|
if test "$py_cv_module_fcntl" = yes; then
|
||||||
|
MODULE_FCNTL_TRUE=
|
||||||
|
MODULE_FCNTL_FALSE='#'
|
||||||
|
else
|
||||||
|
MODULE_FCNTL_TRUE='#'
|
||||||
|
MODULE_FCNTL_FALSE=
|
||||||
|
fi
|
||||||
|
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $py_cv_module_fcntl" >&5
|
||||||
|
$as_echo "$py_cv_module_fcntl" >&6; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdlib extension module grp" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdlib extension module grp" >&5
|
||||||
$as_echo_n "checking for stdlib extension module grp... " >&6; }
|
$as_echo_n "checking for stdlib extension module grp... " >&6; }
|
||||||
case $py_stdlib_not_available in #(
|
case $py_stdlib_not_available in #(
|
||||||
|
@ -20892,6 +20925,10 @@ if test -z "${MODULE__DATETIME_TRUE}" && test -z "${MODULE__DATETIME_FALSE}"; th
|
||||||
as_fn_error $? "conditional \"MODULE__DATETIME\" was never defined.
|
as_fn_error $? "conditional \"MODULE__DATETIME\" was never defined.
|
||||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||||
fi
|
fi
|
||||||
|
if test -z "${MODULE_FCNTL_TRUE}" && test -z "${MODULE_FCNTL_FALSE}"; then
|
||||||
|
as_fn_error $? "conditional \"MODULE_FCNTL\" was never defined.
|
||||||
|
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||||
|
fi
|
||||||
if test -z "${MODULE_GRP_TRUE}" && test -z "${MODULE_GRP_FALSE}"; then
|
if test -z "${MODULE_GRP_TRUE}" && test -z "${MODULE_GRP_FALSE}"; then
|
||||||
as_fn_error $? "conditional \"MODULE_GRP\" was never defined.
|
as_fn_error $? "conditional \"MODULE_GRP\" was never defined.
|
||||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||||
|
|
18
configure.ac
18
configure.ac
|
@ -3980,14 +3980,11 @@ AC_CACHE_CHECK([for flock declaration], [ac_cv_flock_decl],
|
||||||
[ac_cv_flock_decl=no]
|
[ac_cv_flock_decl=no]
|
||||||
)
|
)
|
||||||
])
|
])
|
||||||
if test "x${ac_cv_flock_decl}" = xyes; then
|
dnl Linking with libbsd may be necessary on AIX for flock function.
|
||||||
AC_CHECK_FUNCS(flock,,
|
AS_VAR_IF([ac_cv_flock_decl], [yes],
|
||||||
AC_CHECK_LIB(bsd,flock,
|
AC_CHECK_FUNCS([flock])
|
||||||
[AC_DEFINE(HAVE_FLOCK)
|
AC_CHECK_LIB([bsd], [flock], [FCNTL_LIBS="-lbsd"])
|
||||||
AC_DEFINE(FLOCK_NEEDS_LIBBSD, 1, Define if flock needs to be linked with bsd library.)
|
)
|
||||||
])
|
|
||||||
)
|
|
||||||
fi
|
|
||||||
|
|
||||||
PY_CHECK_FUNC([getpagesize], [#include <unistd.h>])
|
PY_CHECK_FUNC([getpagesize], [#include <unistd.h>])
|
||||||
|
|
||||||
|
@ -6095,6 +6092,11 @@ PY_STDLIB_MOD_SIMPLE([math], [], [$LIBM])
|
||||||
dnl needs libm and on some platforms librt
|
dnl needs libm and on some platforms librt
|
||||||
PY_STDLIB_MOD_SIMPLE([_datetime], [], [$TIMEMODULE_LIB $LIBM])
|
PY_STDLIB_MOD_SIMPLE([_datetime], [], [$TIMEMODULE_LIB $LIBM])
|
||||||
|
|
||||||
|
dnl needs libbsd on some platforms
|
||||||
|
PY_STDLIB_MOD([fcntl],
|
||||||
|
[], [test "$ac_cv_header_sys_ioctl_h" = "yes" -a "$ac_cv_header_fcntl_h" = "yes"],
|
||||||
|
[], [$FCNTL_LIBS])
|
||||||
|
|
||||||
dnl platform specific extensions
|
dnl platform specific extensions
|
||||||
PY_STDLIB_MOD([grp], [], [test "$ac_cv_func_getgrgid" = yes -o "$ac_cv_func_getgrgid_r" = yes])
|
PY_STDLIB_MOD([grp], [], [test "$ac_cv_func_getgrgid" = yes -o "$ac_cv_func_getgrgid_r" = yes])
|
||||||
PY_STDLIB_MOD([ossaudiodev],
|
PY_STDLIB_MOD([ossaudiodev],
|
||||||
|
|
|
@ -51,9 +51,6 @@
|
||||||
significant word first */
|
significant word first */
|
||||||
#undef FLOAT_WORDS_BIGENDIAN
|
#undef FLOAT_WORDS_BIGENDIAN
|
||||||
|
|
||||||
/* Define if flock needs to be linked with bsd library. */
|
|
||||||
#undef FLOCK_NEEDS_LIBBSD
|
|
||||||
|
|
||||||
/* Define if getpgrp() must be called as getpgrp(0). */
|
/* Define if getpgrp() must be called as getpgrp(0). */
|
||||||
#undef GETPGRP_HAVE_ARG
|
#undef GETPGRP_HAVE_ARG
|
||||||
|
|
||||||
|
|
7
setup.py
7
setup.py
|
@ -1030,12 +1030,7 @@ class PyBuildExt(build_ext):
|
||||||
# supported...)
|
# supported...)
|
||||||
|
|
||||||
# fcntl(2) and ioctl(2)
|
# fcntl(2) and ioctl(2)
|
||||||
libs = []
|
self.addext(Extension('fcntl', ['fcntlmodule.c']))
|
||||||
if (self.config_h_vars.get('FLOCK_NEEDS_LIBBSD', False)):
|
|
||||||
# May be necessary on AIX for flock function
|
|
||||||
libs = ['bsd']
|
|
||||||
self.add(Extension('fcntl', ['fcntlmodule.c'],
|
|
||||||
libraries=libs))
|
|
||||||
# grp(3)
|
# grp(3)
|
||||||
self.addext(Extension('grp', ['grpmodule.c']))
|
self.addext(Extension('grp', ['grpmodule.c']))
|
||||||
self.addext(Extension('spwd', ['spwdmodule.c']))
|
self.addext(Extension('spwd', ['spwdmodule.c']))
|
||||||
|
|
Loading…
Reference in New Issue