On 20/07/11 02:30, Bruno Haible wrote:
> Pádraig Brady wrote:
>> [timer-time.diff attachment]
> 
>> +Check for timer_settime.  Within HAVE_TIMER_SETTIME one can
>> +assume timer_create is available too, as that is a
>> +prerequisite to use timer_settime.
> 
> And timer_gettime as well. I've verified in the platformsxsymbols matrix
> that timer_create, timer_gettime, timer_settime are available in the same
> way on all platforms:

Thanks for checking!

> MISSING in          beos freebsd-5.2.1 freebsd-6.0 freebsd-6.4 interix-3.5 
> irix-5.3 macosx-10.3 macosx-10.4 macosx-10.5 mingw nsk-G06 pips solaris-2.4

I'll update doc/posix-functions/timer_* (except timer_getoverrun)
to add Tandem/NSK and s/FreeBSD 6.0/FreeBSD 6.4/ as part of the patch.

I've also updated the "Gnulib module:" line in those docs
which I was unsure about doing.

>> +# foo_LDADD = $(LDADD) $(LIB_TIMER_TIME)
> 
> This comment is redundant: The 'Link' field in the module specification
> also says it.
> 
>> +Include:
>> +
> 
> This looks wrong: Users of these functions must include <time.h>. So that's
> what you need to specify here.

Amended patch attached.

> While we are at it: What can <time.h> do to define these functions on 
> platforms
> that lack it?

Well I suppose you could emulate a subset of timer_settime with setitimer,
but it would be awkward and I don't need that functionality at present.

cheers,
Pádraig.

>From 2f4a4931a1eae46828a93223637cc391db874ed1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C3=A1draig=20Brady?= <p...@draigbrady.com>
Date: Tue, 19 Jul 2011 21:51:49 +0100
Subject: [PATCH] timer-time: A new module to check for timer_settime()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* m4/timer_time.m4: Check for the POSIX function.
* modules/timer-time: Add the new module.
* MODULES.html.sh (Compat checks for POSIX:2008 functions):
Mention it.
* doc/posix-functions/timer_create.texi: Add timer-time as
the module, and update the platforms where unavailable.
* doc/posix-functions/timer_delete.texi: Likewise.
* doc/posix-functions/timer_gettime.texi: Likewise.
* doc/posix-functions/timer_settime.texi: Likewise.

Signed-off-by: Pádraig Brady <p...@draigbrady.com>
---
 ChangeLog                              |    8 ++++++++
 MODULES.html.sh                        |    1 +
 doc/posix-functions/timer_create.texi  |    4 ++--
 doc/posix-functions/timer_delete.texi  |    4 ++--
 doc/posix-functions/timer_gettime.texi |    4 ++--
 doc/posix-functions/timer_settime.texi |    4 ++--
 m4/timer_time.m4                       |   23 +++++++++++++++++++++++
 modules/timer-time                     |   26 ++++++++++++++++++++++++++
 8 files changed, 66 insertions(+), 8 deletions(-)
 create mode 100644 m4/timer_time.m4
 create mode 100644 modules/timer-time

diff --git a/ChangeLog b/ChangeLog
index e72af4c..fa135a2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2011-07-19  Pádraig Brady  <p...@draigbrady.com>
 
+	timer-time: A new module to check for timer_settime()
+	* m4/timer_time.m4: Check for the posix function.
+	* modules/timer-time: Add the new module.
+	* MODULES.html.sh (Compat checks for POSIX:2008 functions):
+	Mention it.
+
+2011-07-19  Pádraig Brady  <p...@draigbrady.com>
+
 	getopt-gnu: suppress core dumps from detection code
 	* m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
 	to suppress core dumps that may well occur on glibc systems.
diff --git a/MODULES.html.sh b/MODULES.html.sh
index 99de344..bcd8aac 100755
--- a/MODULES.html.sh
+++ b/MODULES.html.sh
@@ -2522,6 +2522,7 @@ func_all_modules ()
   func_module link-follow
   func_module rename-dest-slash
   func_module rmdir-errno
+  func_module timer-time
   func_module unlink-busy
   func_module winsz-ioctl
   func_module winsz-termios
diff --git a/doc/posix-functions/timer_create.texi b/doc/posix-functions/timer_create.texi
index d432e0e..51f93d9 100644
--- a/doc/posix-functions/timer_create.texi
+++ b/doc/posix-functions/timer_create.texi
@@ -4,7 +4,7 @@
 
 POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/timer_create.html}
 
-Gnulib module: ---
+Gnulib module: timer-time
 
 Portability problems fixed by Gnulib:
 @itemize
@@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib:
 @itemize
 @item
 This function is missing on some platforms:
-MacOS X 10.5, FreeBSD 6.0, IRIX 5.3, Solaris 2.4, mingw, Interix 3.5, BeOS.
+MacOS X 10.5, FreeBSD 6.4, IRIX 5.3, Solaris 2.4, mingw, Interix 3.5, BeOS, Tandem/NSK.
 @end itemize
diff --git a/doc/posix-functions/timer_delete.texi b/doc/posix-functions/timer_delete.texi
index a6d8de4..0d4eb44 100644
--- a/doc/posix-functions/timer_delete.texi
+++ b/doc/posix-functions/timer_delete.texi
@@ -4,7 +4,7 @@
 
 POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/timer_delete.html}
 
-Gnulib module: ---
+Gnulib module: timer-time
 
 Portability problems fixed by Gnulib:
 @itemize
@@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib:
 @itemize
 @item
 This function is missing on some platforms:
-MacOS X 10.5, FreeBSD 6.0, IRIX 5.3, Solaris 2.4, mingw, Interix 3.5, BeOS.
+MacOS X 10.5, FreeBSD 6.4, IRIX 5.3, Solaris 2.4, mingw, Interix 3.5, BeOS, Tandem/NSK.
 @end itemize
diff --git a/doc/posix-functions/timer_gettime.texi b/doc/posix-functions/timer_gettime.texi
index 9eb723c..fee8209 100644
--- a/doc/posix-functions/timer_gettime.texi
+++ b/doc/posix-functions/timer_gettime.texi
@@ -4,7 +4,7 @@
 
 POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/timer_gettime.html}
 
-Gnulib module: ---
+Gnulib module: timer-time
 
 Portability problems fixed by Gnulib:
 @itemize
@@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib:
 @itemize
 @item
 This function is missing on some platforms:
-MacOS X 10.5, FreeBSD 6.0, IRIX 5.3, mingw, Interix 3.5, BeOS.
+MacOS X 10.5, FreeBSD 6.4, IRIX 5.3, mingw, Interix 3.5, BeOS, Tandem/NSK.
 @end itemize
diff --git a/doc/posix-functions/timer_settime.texi b/doc/posix-functions/timer_settime.texi
index af861ea..44673e3 100644
--- a/doc/posix-functions/timer_settime.texi
+++ b/doc/posix-functions/timer_settime.texi
@@ -4,7 +4,7 @@
 
 POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/timer_settime.html}
 
-Gnulib module: ---
+Gnulib module: timer-time
 
 Portability problems fixed by Gnulib:
 @itemize
@@ -14,5 +14,5 @@ Portability problems not fixed by Gnulib:
 @itemize
 @item
 This function is missing on some platforms:
-MacOS X 10.5, FreeBSD 6.0, IRIX 5.3, Solaris 2.4, mingw, Interix 3.5, BeOS.
+MacOS X 10.5, FreeBSD 6.4, IRIX 5.3, Solaris 2.4, mingw, Interix 3.5, BeOS, Tandem/NSK.
 @end itemize
diff --git a/m4/timer_time.m4 b/m4/timer_time.m4
new file mode 100644
index 0000000..00bc2fe
--- /dev/null
+++ b/m4/timer_time.m4
@@ -0,0 +1,23 @@
+# timer_time.m4 serial 1
+dnl Copyright (C) 2011 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+# Check for timer_settime, and set LIB_TIMER_TIME.
+
+AC_DEFUN([gl_TIMER_TIME],
+[
+  dnl Based on clock_time.m4. See details there.
+
+  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+
+  LIB_TIMER_TIME=
+  AC_SUBST([LIB_TIMER_TIME])
+  gl_saved_libs=$LIBS
+    AC_SEARCH_LIBS([timer_settime], [rt posix4],
+                   [test "$ac_cv_search_timer_settime" = "none required" ||
+                    LIB_TIMER_TIME=$ac_cv_search_timer_settime])
+    AC_CHECK_FUNCS([timer_settime])
+  LIBS=$gl_saved_libs
+])
diff --git a/modules/timer-time b/modules/timer-time
new file mode 100644
index 0000000..07b439b
--- /dev/null
+++ b/modules/timer-time
@@ -0,0 +1,26 @@
+Description:
+Check for timer_settime.  Within HAVE_TIMER_SETTIME one can
+assume timer_create, timer_delete and timer_gettime are available too.
+
+Files:
+m4/timer_time.m4
+
+Depends-on:
+extensions
+
+configure.ac:
+gl_TIMER_TIME
+
+Makefile.am:
+
+Include:
+<time.h>
+
+Link:
+$(LIB_TIMER_TIME)
+
+License:
+LGPLv2+
+
+Maintainer:
+Pádraig Brady, Paul Eggert, Jim Meyering
-- 
1.7.5.2

Reply via email to