You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1.1 KiB
35 lines
1.1 KiB
# Check for support for nanosleep. It's defined in <time.h>, but on |
|
# some systems, such as solaris, you need to link in a library to use it. |
|
# We set acx_nanosleep_ok if nanosleep is supported; in that case, |
|
# NANOSLEEP_LIBS is set to whatever libraries are needed to support |
|
# nanosleep. |
|
|
|
AC_DEFUN([ACX_NANOSLEEP], |
|
[AC_MSG_CHECKING(if nanosleep requires any libraries) |
|
AC_LANG_SAVE |
|
AC_LANG_C |
|
acx_nanosleep_ok="no" |
|
NANOSLEEP_LIBS= |
|
# For most folks, this should just work |
|
AC_TRY_LINK([#include <time.h>], |
|
[static struct timespec ts; nanosleep(&ts, NULL);], |
|
[acx_nanosleep_ok=yes]) |
|
# For solaris, we may need -lrt |
|
if test "x$acx_nanosleep_ok" != "xyes"; then |
|
OLD_LIBS="$LIBS" |
|
LIBS="-lrt $LIBS" |
|
AC_TRY_LINK([#include <time.h>], |
|
[static struct timespec ts; nanosleep(&ts, NULL);], |
|
[acx_nanosleep_ok=yes]) |
|
if test "x$acx_nanosleep_ok" = "xyes"; then |
|
NANOSLEEP_LIBS="-lrt" |
|
fi |
|
LIBS="$OLD_LIBS" |
|
fi |
|
if test "x$acx_nanosleep_ok" != "xyes"; then |
|
AC_MSG_ERROR([cannot find the nanosleep function]) |
|
else |
|
AC_MSG_RESULT(${NANOSLEEP_LIBS:-no}) |
|
fi |
|
AC_LANG_RESTORE |
|
])
|
|
|