[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: avoid creating sys/time.h replacement when possible
From: |
Jim Meyering |
Subject: |
Re: avoid creating sys/time.h replacement when possible |
Date: |
Sun, 28 Jan 2007 19:55:18 +0100 |
Bruno Haible <address@hidden> wrote:
> Hi Paul, Jim,
>
> Most developers are using glibc systems nowadays. When gnulib creates many
> replacement header files on such systems, it makes look gnulib a bit
> ridiculous. So can we avoid to create a header file when it's easy to do so?
> Here is a proposed patch.
>
> 2007-01-28 Bruno Haible <address@hidden>
>
> * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
> value of $(SYS_TIME_H).
> * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
> * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
> gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
> GETTIMEOFDAY_REPLACEMENT to 1.
Hi Bruno,
Good idea.
I've checked in your change with these minor changes:
- use $(SYS_TIME_H) also in the definition of MOSTLYCLEANFILES, and
- drop the unnecessary single quotes here: SYS_TIME_H='sys/time.h'
Here's the revised patch:
* modules/sys_time (Makefile.am): Build sys/time.h only when it's the
value of $(SYS_TIME_H).
[MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
remove it conditionally, too.
* m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
* m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
(gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
GETTIMEOFDAY_REPLACEMENT to 1.
Index: modules/sys_time
===================================================================
RCS file: /sources/gnulib/gnulib/modules/sys_time,v
retrieving revision 1.4
diff -u -p -r1.4 sys_time
--- modules/sys_time 22 Jan 2007 23:07:42 -0000 1.4
+++ modules/sys_time 28 Jan 2007 18:45:42 -0000
@@ -13,7 +13,7 @@ gl_HEADER_SYS_TIME_H
AC_PROG_MKDIR_P
Makefile.am:
-BUILT_SOURCES += sys/time.h
+BUILT_SOURCES += $(SYS_TIME_H)
# We need the following in order to create <sys/time.h> when the system
# doesn't have one that works with the given compiler.
@@ -28,7 +28,7 @@ sys/time.h: sys_time_.h
< $(srcdir)/sys_time_.h; \
} > address@hidden
mv address@hidden $@
-MOSTLYCLEANFILES += sys/time.h sys/time.h-t
+MOSTLYCLEANFILES += $(SYS_TIME_H) sys/time.h-t
Include:
#include <sys/time.h>
Index: m4/sys_time_h.m4
===================================================================
RCS file: /sources/gnulib/gnulib/m4/sys_time_h.m4,v
retrieving revision 1.3
diff -u -p -r1.3 sys_time_h.m4
--- m4/sys_time_h.m4 19 Jan 2007 02:04:14 -0000 1.3
+++ m4/sys_time_h.m4 28 Jan 2007 18:45:42 -0000
@@ -52,4 +52,10 @@ AC_DEFUN([gl_HEADER_SYS_TIME_H_BODY],
dnl Assume POSIX behavior unless another module says otherwise.
GETTIMEOFDAY_REPLACEMENT=0
AC_SUBST([GETTIMEOFDAY_REPLACEMENT])
+ if test $HAVE_SYS_TIME_H = 0 || test $HAVE_STRUCT_TIMEVAL = 0; then
+ SYS_TIME_H=sys/time.h
+ else
+ SYS_TIME_H=
+ fi
+ AC_SUBST([SYS_TIME_H])
])
Index: m4/gettimeofday.m4
===================================================================
RCS file: /sources/gnulib/gnulib/m4/gettimeofday.m4,v
retrieving revision 1.16
diff -u -p -r1.16 gettimeofday.m4
--- m4/gettimeofday.m4 19 Jan 2007 02:00:37 -0000 1.16
+++ m4/gettimeofday.m4 28 Jan 2007 18:45:42 -0000
@@ -32,6 +32,7 @@ AC_DEFUN([gl_FUNC_GETTIMEOFDAY],
if test $gl_cv_func_gettimeofday_posix_signature != yes; then
GETTIMEOFDAY_REPLACEMENT=1
+ SYS_TIME_H=sys/time.h
if test $gl_cv_func_gettimeofday_clobber != yes; then
AC_LIBOBJ(gettimeofday)
gl_PREREQ_GETTIMEOFDAY
@@ -77,6 +78,7 @@ AC_DEFUN([gl_FUNC_GETTIMEOFDAY_CLOBBER],
if test $gl_cv_func_gettimeofday_clobber = yes; then
GETTIMEOFDAY_REPLACEMENT=1
+ SYS_TIME_H=sys/time.h
gl_GETTIMEOFDAY_REPLACE_LOCALTIME
AC_DEFINE([GETTIMEOFDAY_CLOBBERS_LOCALTIME], 1,
[Define if gettimeofday clobbers the localtime buffer.])