Simplify macrology that creates unistd.h.
authorBruno Haible <bruno@clisp.org>
Sun, 28 Jan 2007 16:10:39 +0000 (16:10 +0000)
committerBruno Haible <bruno@clisp.org>
Sun, 28 Jan 2007 16:10:39 +0000 (16:10 +0000)
ChangeLog
m4/fchdir.m4
m4/unistd_h.m4
modules/fchdir

index 41d153c..886120a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2007-01-28  Bruno Haible  <bruno@clisp.org>
 
+       * 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  <bruno@clisp.org>
+
        * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
        * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
 
index caebfcb..6998eae 100644 (file)
@@ -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 @@ AC_DEFUN([gl_FUNC_FCHDIR],
     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.
index 9d499df..d38de90 100644 (file)
@@ -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 @@ dnl Written by Simon Josefsson
 
 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 @@ AC_DEFUN([gl_PREREQ_UNISTD],
   fi
   AC_SUBST([ABSOLUTE_UNISTD_H])
 ])
+
+AC_DEFUN([gl_HEADER_UNISTD_DEFAULTS],
+[
+  UNISTD_H=
+  AC_SUBST(UNISTD_H)
+])
index f3d177f..8d9fca8 100644 (file)
@@ -18,7 +18,7 @@ configure.ac:
 gl_FUNC_FCHDIR
 
 Makefile.am:
-BUILT_SOURCES += $(DIRENT_H) $(UNISTD_H2)
+BUILT_SOURCES += $(DIRENT_H)
 
 # We need the following in order to create <dirent.h> when the system
 # doesn't have one that works with the given compiler.