# HG changeset patch # User Bruno Haible # Date 1170000639 0 # Node ID 8791d13c86ff421cbe4a4944ed5e4f74e09df358 # Parent 85f4b4c1db6c8a96e352e19564a5d993a2d8bd41 Simplify macrology that creates unistd.h. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2007-01-28 Bruno Haible + + * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro. + (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here. + * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS. + Set UNISTD_H instead of UNISTD_H2. + * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2). + 2007-01-28 Bruno Haible * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES. diff --git a/m4/fchdir.m4 b/m4/fchdir.m4 --- a/m4/fchdir.m4 +++ b/m4/fchdir.m4 @@ -1,11 +1,12 @@ -# fchdir.m4 serial 1 -dnl Copyright (C) 2006 Free Software Foundation, Inc. +# fchdir.m4 serial 2 +dnl Copyright (C) 2006-2007 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. AC_DEFUN([gl_FUNC_FCHDIR], [ + AC_REQUIRE([gl_HEADER_UNISTD_DEFAULTS]) AC_CHECK_FUNCS_ONCE([fchdir]) if test $ac_cv_func_fchdir = no; then AC_LIBOBJ([fchdir]) @@ -15,14 +16,12 @@ gl_ABSOLUTE_HEADER([dirent.h]) ABSOLUTE_DIRENT_H=\"$gl_cv_absolute_dirent_h\" DIRENT_H='dirent.h' - UNISTD_H2='unistd.h' + UNISTD_H='unistd.h' else DIRENT_H= - UNISTD_H2= fi AC_SUBST([ABSOLUTE_DIRENT_H]) AC_SUBST([DIRENT_H]) - AC_SUBST([UNISTD_H2]) ]) # Prerequisites of lib/fchdir.c. diff --git a/m4/unistd_h.m4 b/m4/unistd_h.m4 --- a/m4/unistd_h.m4 +++ b/m4/unistd_h.m4 @@ -1,5 +1,5 @@ -# unistd_h.m4 serial 3 -dnl Copyright (C) 2006 Free Software Foundation, Inc. +# unistd_h.m4 serial 4 +dnl Copyright (C) 2006-2007 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. @@ -8,12 +8,13 @@ AC_DEFUN([gl_HEADER_UNISTD], [ - AC_CHECK_HEADERS([unistd.h], [ - UNISTD_H='' - ], [ + dnl Use AC_REQUIRE here, so that the default behavior below is expanded + dnl once only, before all statements that occur in other macros. + AC_REQUIRE([gl_HEADER_UNISTD_DEFAULTS]) + + AC_CHECK_HEADERS([unistd.h], [], [ UNISTD_H='unistd.h' ]) - AC_SUBST(UNISTD_H) dnl This module decides to build unistd.h if it is missing. dnl The fchdir module decides to build unistd.h if fchdir() is missing. dnl Therefore check for the prerequisites of lib/unistd.h always. @@ -30,3 +31,9 @@ fi AC_SUBST([ABSOLUTE_UNISTD_H]) ]) + +AC_DEFUN([gl_HEADER_UNISTD_DEFAULTS], +[ + UNISTD_H= + AC_SUBST(UNISTD_H) +]) diff --git a/modules/fchdir b/modules/fchdir --- a/modules/fchdir +++ b/modules/fchdir @@ -18,7 +18,7 @@ gl_FUNC_FCHDIR Makefile.am: -BUILT_SOURCES += $(DIRENT_H) $(UNISTD_H2) +BUILT_SOURCES += $(DIRENT_H) # We need the following in order to create when the system # doesn't have one that works with the given compiler.