~ubuntu-branches/ubuntu/maverick/mpop/maverick

« back to all changes in this revision

Viewing changes to gnulib/m4/nanosleep.m4

  • Committer: Bazaar Package Importer
  • Author(s): Julien Louis
  • Date: 2006-11-18 23:49:21 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20061118234921-xnvz512fzlfgfr3g
Tags: 1.0.5-1
New upstream release

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#serial 17
2
 
 
3
 
dnl From Jim Meyering.
4
 
dnl Check for the nanosleep function.
5
 
dnl If not found, use the supplied replacement.
6
 
dnl
7
 
 
8
 
# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2006 Free Software
9
 
# Foundation, Inc.
10
 
 
11
 
# This file is free software; the Free Software Foundation
12
 
# gives unlimited permission to copy and/or distribute it,
13
 
# with or without modifications, as long as this notice is preserved.
14
 
 
15
 
AC_DEFUN([gl_FUNC_NANOSLEEP],
16
 
[
17
 
 AC_LIBSOURCES([nanosleep.c, nanosleep.h])
18
 
 
19
 
 dnl Persuade glibc and Solaris <time.h> to declare nanosleep.
20
 
 AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
21
 
 
22
 
 AC_REQUIRE([AC_HEADER_TIME])
23
 
 AC_CHECK_HEADERS_ONCE(sys/time.h)
24
 
 
25
 
 nanosleep_save_libs=$LIBS
26
 
 
27
 
 # Solaris 2.5.1 needs -lposix4 to get the nanosleep function.
28
 
 # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
29
 
 AC_SEARCH_LIBS([nanosleep], [rt posix4],
30
 
                [test "$ac_cv_search_nanosleep" = "none required" ||
31
 
                 LIB_NANOSLEEP=$ac_cv_search_nanosleep])
32
 
 AC_SUBST([LIB_NANOSLEEP])
33
 
 
34
 
 AC_CACHE_CHECK([for nanosleep],
35
 
  [gl_cv_func_nanosleep],
36
 
  [
37
 
   AC_LINK_IFELSE([AC_LANG_SOURCE([[
38
 
#   if TIME_WITH_SYS_TIME
39
 
#    include <sys/time.h>
40
 
#    include <time.h>
41
 
#   else
42
 
#    if HAVE_SYS_TIME_H
43
 
#     include <sys/time.h>
44
 
#    else
45
 
#     include <time.h>
46
 
#    endif
47
 
#   endif
48
 
 
49
 
    int
50
 
    main ()
51
 
    {
52
 
      struct timespec ts_sleep, ts_remaining;
53
 
      ts_sleep.tv_sec = 0;
54
 
      ts_sleep.tv_nsec = 1;
55
 
      return nanosleep (&ts_sleep, &ts_remaining) < 0;
56
 
    }
57
 
      ]])],
58
 
     [gl_cv_func_nanosleep=yes],
59
 
     [gl_cv_func_nanosleep=no])
60
 
  ])
61
 
  if test $gl_cv_func_nanosleep = no; then
62
 
    AC_LIBOBJ(nanosleep)
63
 
    AC_DEFINE(nanosleep, rpl_nanosleep,
64
 
      [Define to rpl_nanosleep if the replacement function should be used.])
65
 
    gl_PREREQ_NANOSLEEP
66
 
  fi
67
 
 
68
 
 LIBS=$nanosleep_save_libs
69
 
])
70
 
 
71
 
# Prerequisites of lib/nanosleep.c.
72
 
AC_DEFUN([gl_PREREQ_NANOSLEEP],
73
 
[
74
 
  AC_CHECK_FUNCS_ONCE(siginterrupt)
75
 
  AC_CHECK_HEADERS_ONCE(sys/select.h)
76
 
])