mirror of https://github.com/python/cpython
more granular configure checks for clock_* functions (closes #28081)
This commit is contained in:
parent
54bb13bdfd
commit
37098cd584
|
@ -160,7 +160,9 @@ PyDoc_STRVAR(clock_gettime_doc,
|
|||
"clock_gettime(clk_id) -> floating point number\n\
|
||||
\n\
|
||||
Return the time of the specified clock clk_id.");
|
||||
#endif /* HAVE_CLOCK_GETTIME */
|
||||
|
||||
#ifdef HAVE_CLOCK_SETTIME
|
||||
static PyObject *
|
||||
time_clock_settime(PyObject *self, PyObject *args)
|
||||
{
|
||||
|
@ -191,7 +193,9 @@ PyDoc_STRVAR(clock_settime_doc,
|
|||
"clock_settime(clk_id, time)\n\
|
||||
\n\
|
||||
Set the time of the specified clock clk_id.");
|
||||
#endif /* HAVE_CLOCK_SETTIME */
|
||||
|
||||
#ifdef HAVE_CLOCK_GETRES
|
||||
static PyObject *
|
||||
time_clock_getres(PyObject *self, PyObject *args)
|
||||
{
|
||||
|
@ -215,7 +219,7 @@ PyDoc_STRVAR(clock_getres_doc,
|
|||
"clock_getres(clk_id) -> floating point number\n\
|
||||
\n\
|
||||
Return the resolution (precision) of the specified clock clk_id.");
|
||||
#endif /* HAVE_CLOCK_GETTIME */
|
||||
#endif /* HAVE_CLOCK_GETRES */
|
||||
|
||||
static PyObject *
|
||||
time_sleep(PyObject *self, PyObject *obj)
|
||||
|
@ -1287,7 +1291,11 @@ static PyMethodDef time_methods[] = {
|
|||
#endif
|
||||
#ifdef HAVE_CLOCK_GETTIME
|
||||
{"clock_gettime", time_clock_gettime, METH_VARARGS, clock_gettime_doc},
|
||||
#endif
|
||||
#ifdef HAVE_CLOCK_SETTIME
|
||||
{"clock_settime", time_clock_settime, METH_VARARGS, clock_settime_doc},
|
||||
#endif
|
||||
#ifdef HAVE_CLOCK_GETRES
|
||||
{"clock_getres", time_clock_getres, METH_VARARGS, clock_getres_doc},
|
||||
#endif
|
||||
{"sleep", time_sleep, METH_O, sleep_doc},
|
||||
|
@ -1383,8 +1391,9 @@ PyInit_time(void)
|
|||
/* Set, or reset, module variables like time.timezone */
|
||||
PyInit_timezone(m);
|
||||
|
||||
#if defined(HAVE_CLOCK_GETTIME)
|
||||
#ifdef CLOCK_REALTIME
|
||||
PyModule_AddIntMacro(m, CLOCK_REALTIME);
|
||||
#endif
|
||||
#ifdef CLOCK_MONOTONIC
|
||||
PyModule_AddIntMacro(m, CLOCK_MONOTONIC);
|
||||
#endif
|
||||
|
@ -1400,7 +1409,6 @@ PyInit_time(void)
|
|||
#ifdef CLOCK_THREAD_CPUTIME_ID
|
||||
PyModule_AddIntMacro(m, CLOCK_THREAD_CPUTIME_ID);
|
||||
#endif
|
||||
#endif /* HAVE_CLOCK_GETTIME */
|
||||
|
||||
if (!initialized) {
|
||||
if (PyStructSequence_InitType2(&StructTimeType,
|
||||
|
|
|
@ -784,6 +784,7 @@ infodir
|
|||
docdir
|
||||
oldincludedir
|
||||
includedir
|
||||
runstatedir
|
||||
localstatedir
|
||||
sharedstatedir
|
||||
sysconfdir
|
||||
|
@ -894,6 +895,7 @@ datadir='${datarootdir}'
|
|||
sysconfdir='${prefix}/etc'
|
||||
sharedstatedir='${prefix}/com'
|
||||
localstatedir='${prefix}/var'
|
||||
runstatedir='${localstatedir}/run'
|
||||
includedir='${prefix}/include'
|
||||
oldincludedir='/usr/include'
|
||||
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
|
||||
|
@ -1146,6 +1148,15 @@ do
|
|||
| -silent | --silent | --silen | --sile | --sil)
|
||||
silent=yes ;;
|
||||
|
||||
-runstatedir | --runstatedir | --runstatedi | --runstated \
|
||||
| --runstate | --runstat | --runsta | --runst | --runs \
|
||||
| --run | --ru | --r)
|
||||
ac_prev=runstatedir ;;
|
||||
-runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
|
||||
| --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
|
||||
| --run=* | --ru=* | --r=*)
|
||||
runstatedir=$ac_optarg ;;
|
||||
|
||||
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
|
||||
ac_prev=sbindir ;;
|
||||
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
|
||||
|
@ -1283,7 +1294,7 @@ fi
|
|||
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
|
||||
datadir sysconfdir sharedstatedir localstatedir includedir \
|
||||
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
|
||||
libdir localedir mandir
|
||||
libdir localedir mandir runstatedir
|
||||
do
|
||||
eval ac_val=\$$ac_var
|
||||
# Remove trailing slashes.
|
||||
|
@ -1436,6 +1447,7 @@ Fine tuning of the installation directories:
|
|||
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
|
||||
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
|
||||
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
|
||||
--runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
|
||||
--libdir=DIR object code libraries [EPREFIX/lib]
|
||||
--includedir=DIR C header files [PREFIX/include]
|
||||
--oldincludedir=DIR C header files for non-gcc [/usr/include]
|
||||
|
@ -12571,6 +12583,64 @@ fi
|
|||
done
|
||||
|
||||
|
||||
for ac_func in clock_settime
|
||||
do :
|
||||
ac_fn_c_check_func "$LINENO" "clock_settime" "ac_cv_func_clock_settime"
|
||||
if test "x$ac_cv_func_clock_settime" = xyes; then :
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define HAVE_CLOCK_SETTIME 1
|
||||
_ACEOF
|
||||
|
||||
else
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for clock_settime in -lrt" >&5
|
||||
$as_echo_n "checking for clock_settime in -lrt... " >&6; }
|
||||
if ${ac_cv_lib_rt_clock_settime+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
ac_check_lib_save_LIBS=$LIBS
|
||||
LIBS="-lrt $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 clock_settime ();
|
||||
int
|
||||
main ()
|
||||
{
|
||||
return clock_settime ();
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_link "$LINENO"; then :
|
||||
ac_cv_lib_rt_clock_settime=yes
|
||||
else
|
||||
ac_cv_lib_rt_clock_settime=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_rt_clock_settime" >&5
|
||||
$as_echo "$ac_cv_lib_rt_clock_settime" >&6; }
|
||||
if test "x$ac_cv_lib_rt_clock_settime" = xyes; then :
|
||||
|
||||
$as_echo "#define HAVE_CLOCK_SETTIME 1" >>confdefs.h
|
||||
|
||||
|
||||
fi
|
||||
|
||||
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for major" >&5
|
||||
$as_echo_n "checking for major... " >&6; }
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
|
|
|
@ -3734,6 +3734,12 @@ AC_CHECK_FUNCS(clock_getres, [], [
|
|||
])
|
||||
])
|
||||
|
||||
AC_CHECK_FUNCS(clock_settime, [], [
|
||||
AC_CHECK_LIB(rt, clock_settime, [
|
||||
AC_DEFINE(HAVE_CLOCK_SETTIME, 1)
|
||||
])
|
||||
])
|
||||
|
||||
AC_MSG_CHECKING(for major, minor, and makedev)
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
|
||||
#if defined(MAJOR_IN_MKDEV)
|
||||
|
|
|
@ -125,6 +125,9 @@
|
|||
/* Define to 1 if you have the `clock_gettime' function. */
|
||||
#undef HAVE_CLOCK_GETTIME
|
||||
|
||||
/* Define to 1 if you have the `clock_settime' function. */
|
||||
#undef HAVE_CLOCK_SETTIME
|
||||
|
||||
/* Define if the C compiler supports computed gotos. */
|
||||
#undef HAVE_COMPUTED_GOTOS
|
||||
|
||||
|
|
Loading…
Reference in New Issue