mirror of
https://github.com/samba-team/samba.git
synced 2025-02-22 05:57:43 +03:00
libreplace: move detection of clock_gettime to libreplace
This commit is contained in:
parent
e8662248c8
commit
4e104f185e
@ -115,6 +115,12 @@ AC_CHECK_FUNCS(fdatasync,,[
|
||||
[libreplace_cv_HAVE_FDATASYNC_IN_LIBRT=yes
|
||||
AC_DEFINE(HAVE_FDATASYNC, 1, Define to 1 if there is support for fdatasync)])
|
||||
])
|
||||
AC_CHECK_FUNCS(clock_gettime,libreplace_cv_have_clock_gettime=yes,[
|
||||
AC_CHECK_LIB(rt, clock_gettime,
|
||||
[libreplace_cv_HAVE_CLOCK_GETTIME_IN_LIBRT=yes
|
||||
libreplace_cv_have_clock_gettime=yes
|
||||
AC_DEFINE(HAVE_CLOCK_GETTIME, 1, Define to 1 if there is support for clock_gettime)])
|
||||
])
|
||||
AC_CHECK_FUNCS(get_current_dir_name)
|
||||
AC_HAVE_DECL(setresuid, [#include <unistd.h>])
|
||||
AC_HAVE_DECL(setresgid, [#include <unistd.h>])
|
||||
@ -288,6 +294,12 @@ m4_include(timegm.m4)
|
||||
m4_include(repdir.m4)
|
||||
m4_include(crypt.m4)
|
||||
|
||||
if test x$libreplace_cv_have_clock_gettime = xyes ; then
|
||||
SMB_CHECK_CLOCK_ID(CLOCK_MONOTONIC)
|
||||
SMB_CHECK_CLOCK_ID(CLOCK_PROCESS_CPUTIME_ID)
|
||||
SMB_CHECK_CLOCK_ID(CLOCK_REALTIME)
|
||||
fi
|
||||
|
||||
AC_CHECK_FUNCS([printf memset memcpy],,[AC_MSG_ERROR([Required function not found])])
|
||||
|
||||
echo "LIBREPLACE_BROKEN_CHECKS: END"
|
||||
@ -316,4 +328,35 @@ m4_include(libreplace_ld.m4)
|
||||
m4_include(libreplace_network.m4)
|
||||
m4_include(libreplace_macros.m4)
|
||||
|
||||
|
||||
dnl SMB_CHECK_CLOCK_ID(clockid)
|
||||
dnl Test whether the specified clock_gettime clock ID is available. If it
|
||||
dnl is, we define HAVE_clockid
|
||||
AC_DEFUN([SMB_CHECK_CLOCK_ID],
|
||||
[
|
||||
AC_MSG_CHECKING(for $1)
|
||||
AC_TRY_LINK([
|
||||
#if TIME_WITH_SYS_TIME
|
||||
# include <sys/time.h>
|
||||
# include <time.h>
|
||||
#else
|
||||
# if HAVE_SYS_TIME_H
|
||||
# include <sys/time.h>
|
||||
# else
|
||||
# include <time.h>
|
||||
# endif
|
||||
#endif
|
||||
],
|
||||
[
|
||||
clockid_t clk = $1;
|
||||
],
|
||||
[
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(HAVE_$1, 1,
|
||||
[Whether the clock_gettime clock ID $1 is available])
|
||||
],
|
||||
[
|
||||
AC_MSG_RESULT(no)
|
||||
])
|
||||
])
|
||||
m4_ifndef([AC_USE_SYSTEM_EXTENSIONS],[m4_include(autoconf-2.60.m4)])
|
||||
|
@ -2368,23 +2368,8 @@ if test x"$samba_cv_HAVE_FUNCTION_MACRO" = x"yes"; then
|
||||
AC_DEFINE(HAVE_FUNCTION_MACRO,1,[Whether there is a __FUNCTION__ macro])
|
||||
fi
|
||||
|
||||
|
||||
if test x"$samba_cv_WITH_PROFILE" = x"yes"; then
|
||||
|
||||
# On some systems (eg. Linux) librt can pull in libpthread. We
|
||||
# don't want this to happen because libpthreads changes signal delivery
|
||||
# semantics in ways we are not prepared for. This breaks Linux oplocks
|
||||
# which rely on signals.
|
||||
|
||||
AC_LIBTESTFUNC(rt, clock_gettime,
|
||||
[
|
||||
AC_DEFINE(HAVE_CLOCK_GETTIME, 1,
|
||||
[Whether clock_gettime is available])
|
||||
SMB_CHECK_CLOCK_ID(CLOCK_MONOTONIC)
|
||||
SMB_CHECK_CLOCK_ID(CLOCK_PROCESS_CPUTIME_ID)
|
||||
SMB_CHECK_CLOCK_ID(CLOCK_REALTIME)
|
||||
])
|
||||
|
||||
if test x"$libreplace_cv_HAVE_CLOCK_GETTIME_IN_LIBRT" = xyes ; then
|
||||
LIBS="$LIBS -lrt"
|
||||
fi
|
||||
|
||||
AC_CACHE_CHECK([for broken readdir name],samba_cv_HAVE_BROKEN_READDIR_NAME,[
|
||||
|
31
source3/m4/aclocal.m4
vendored
31
source3/m4/aclocal.m4
vendored
@ -799,37 +799,6 @@ AC_DEFUN([SMB_CHECK_DMAPI],
|
||||
|
||||
])
|
||||
|
||||
dnl SMB_CHECK_CLOCK_ID(clockid)
|
||||
dnl Test whether the specified clock_gettime clock ID is available. If it
|
||||
dnl is, we define HAVE_clockid
|
||||
AC_DEFUN([SMB_CHECK_CLOCK_ID],
|
||||
[
|
||||
AC_MSG_CHECKING(for $1)
|
||||
AC_TRY_LINK([
|
||||
#if TIME_WITH_SYS_TIME
|
||||
# include <sys/time.h>
|
||||
# include <time.h>
|
||||
#else
|
||||
# if HAVE_SYS_TIME_H
|
||||
# include <sys/time.h>
|
||||
# else
|
||||
# include <time.h>
|
||||
# endif
|
||||
#endif
|
||||
],
|
||||
[
|
||||
clockid_t clk = $1;
|
||||
],
|
||||
[
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(HAVE_$1, 1,
|
||||
[Whether the clock_gettime clock ID $1 is available])
|
||||
],
|
||||
[
|
||||
AC_MSG_RESULT(no)
|
||||
])
|
||||
])
|
||||
|
||||
dnl SMB_IF_RTSIGNAL_BUG([actions if true],
|
||||
dnl [actions if false],
|
||||
dnl [actions if cross compiling])
|
||||
|
Loading…
x
Reference in New Issue
Block a user