autoconf-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] GNU Autoconf source repository branch, master, updated. v2.63-183-


From: Eric Blake
Subject: [SCM] GNU Autoconf source repository branch, master, updated. v2.63-183-g40f1a99
Date: Mon, 10 Nov 2008 18:53:19 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Autoconf source repository".

http://git.sv.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=40f1a994e2fd550f18d1dddb1fb4f53eb3cdaecc

The branch, master has been updated
       via  40f1a994e2fd550f18d1dddb1fb4f53eb3cdaecc (commit)
       via  3763dba27ece12e142478d1d2ff723b9e1d48e69 (commit)
       via  61055bdb3e93d80448a24eb2784a6ff4ce45ef5f (commit)
       via  918763823703b7639ed17ec88e3faf59ab7a79be (commit)
       via  40dc2b77a4e4d3517af8f7277ab965b7d574fe0c (commit)
       via  1334bb11951ddb2585ae3821860f846920a8e7e0 (commit)
       via  786427de58a25a49cdd9319be350d7fd5ac870c7 (commit)
      from  4fcbad6e13b6652bc0bc6f6a56dce0dd709ef15b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 40f1a994e2fd550f18d1dddb1fb4f53eb3cdaecc
Author: Eric Blake <address@hidden>
Date:   Fri Nov 7 07:11:01 2008 -0700

    Avoid some regex uses.
    
    * lib/autoconf/general.m4 (_AC_DEFINE_Q): Use m4_format rather
    than m4_bpatsubst to grab string prefix.
    * lib/autoconf/status.m4 (_AC_CONFIG_REGISTER)
    (_AC_CONFIG_REGISTER_DEST, AC_CONFIG_SUBDIRS): Likewise.
    (_AC_FILE_DEPENDENCY_TRACE_COLON): Use m4_translit instead of
    m4_bpatsubst to change bytes.
    (_AC_CONFIG_DEPENDENCY_DEFAULT): Use m4_index rather than
    m4_bmatch to find byte.
    (_AC_CONFIG_COMPUTE_DEST): New helper macro.
    
    Signed-off-by: Eric Blake <address@hidden>

commit 3763dba27ece12e142478d1d2ff723b9e1d48e69
Author: Eric Blake <address@hidden>
Date:   Fri Nov 7 06:20:12 2008 -0700

    Use more efficient macros in AC_CONFIG_SUBDIRS.
    
    * lib/autoconf/status.m4 (_AC_CONFIG_FOOS, AC_CONFIG_SUBDIRS): Use
    m4_map_args_w.
    (_AC_OUTPUT_FILE): Use m4_map_args_sep and m4_map_args.
    (_AC_OUTPUT_FILE_ADJUST_DIR): New helper macro.
    
    Signed-off-by: Eric Blake <address@hidden>

commit 61055bdb3e93d80448a24eb2784a6ff4ce45ef5f
Author: Eric Blake <address@hidden>
Date:   Thu Nov 6 21:40:18 2008 -0700

    Use more efficient macros in AC_CHECK_FILES and AC_CHECK_DECLS.
    
    * lib/autoconf/general.m4 (AC_CHECK_FILES): Use m4_map_args_w,
    and avoid typo.
    (AC_CHECK_DECLS, AC_CHECK_DECLS_ONCE): Use m4_map_args_sep.
    (_AC_CHECK_FILES, _AC_CHECK_DECLS, _AC_CHECK_DECL_ONCE): New
    helper macros.
    (AC_LIBSOURCES): Use m4_map_args.
    
    Signed-off-by: Eric Blake <address@hidden>

commit 918763823703b7639ed17ec88e3faf59ab7a79be
Author: Eric Blake <address@hidden>
Date:   Thu Nov 6 17:18:35 2008 -0700

    Use more efficient macros in AC_CHECK_TYPES.
    
    * lib/autoconf/types.m4 (AC_CHECK_TYPES, AC_CHECK_MEMBERS): Use
    m4_map_args_sep.
    (_AC_CHECK_TYPES, _AC_CHECK_MEMBERS): New helper macros.
    
    Signed-off-by: Eric Blake <address@hidden>

commit 40dc2b77a4e4d3517af8f7277ab965b7d574fe0c
Author: Eric Blake <address@hidden>
Date:   Thu Nov 6 14:04:55 2008 -0700

    Use more efficient macros in AC_CHECK_HEADERS.
    
    * lib/autoconf/headers.m4 (AH_CHECK_HEADERS)
    (AH_CHECK_HEADERS_DIRENT): Rename...
    (_AH_CHECK_HEADER, _AH_CHECK_HEADER_DIRENT): ...and take only one
    argument, rather than a list.
    (AC_CHECK_HEADERS, AC_CHECK_HEADERS_ONCE):
    Adjust callers to use m4_map_args_w.
    (AC_HEADER_DIRENT): Adjust caller to use m4_map_args.
    (_AC_CHECK_HEADER_ONCE): New helper macro.
    
    Signed-off-by: Eric Blake <address@hidden>

commit 1334bb11951ddb2585ae3821860f846920a8e7e0
Author: Eric Blake <address@hidden>
Date:   Thu Nov 6 11:33:04 2008 -0700

    Use more efficient macros in AC_CHECK_FUNCS.
    
    * lib/autoconf/functions.m4 (_AH_CHECK_FUNCS): Rename...
    (_AH_CHECK_FUNC): ...and take only one argument, rather than a
    list.
    (AC_CHECK_FUNCS, AC_CHECK_FUNCS_ONCE): Adjust callers to use
    m4_map_args_w.
    (_AC_CHECK_FUNC_ONCE): New helper macro.
    (AC_REPLACE_FUNCS): Use m4_map_args_w.
    
    Signed-off-by: Eric Blake <address@hidden>

commit 786427de58a25a49cdd9319be350d7fd5ac870c7
Author: Eric Blake <address@hidden>
Date:   Thu Nov 6 14:32:23 2008 -0700

    Use more efficient macro in AT_INIT.
    
    * lib/autotest/general.m4 (AT_INIT): Use m4_map_args.
    
    Signed-off-by: Eric Blake <address@hidden>

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                 |   54 ++++++++++++++++++++++++++
 lib/autoconf/functions.m4 |   46 +++++++++++++---------
 lib/autoconf/general.m4   |   84 +++++++++++++++++++++++-----------------
 lib/autoconf/headers.m4   |   63 ++++++++++++++++++------------
 lib/autoconf/status.m4    |   94 ++++++++++++++++++++++++---------------------
 lib/autoconf/types.m4     |   39 ++++++++++--------
 lib/autotest/general.m4   |   25 ++++++------
 7 files changed, 251 insertions(+), 154 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 58b98ad..d8c6c42 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,59 @@
 2008-11-10  Eric Blake  <address@hidden>
 
+       Avoid some regex uses.
+       * lib/autoconf/general.m4 (_AC_DEFINE_Q): Use m4_format rather
+       than m4_bpatsubst to grab string prefix.
+       * lib/autoconf/status.m4 (_AC_CONFIG_REGISTER)
+       (_AC_CONFIG_REGISTER_DEST, AC_CONFIG_SUBDIRS): Likewise.
+       (_AC_FILE_DEPENDENCY_TRACE_COLON): Use m4_translit instead of
+       m4_bpatsubst to change bytes.
+       (_AC_CONFIG_DEPENDENCY_DEFAULT): Use m4_index rather than
+       m4_bmatch to find byte.
+       (_AC_CONFIG_COMPUTE_DEST): New helper macro.
+
+       Use more efficient macros in AC_CONFIG_SUBDIRS.
+       * lib/autoconf/status.m4 (_AC_CONFIG_FOOS, AC_CONFIG_SUBDIRS): Use
+       m4_map_args_w.
+       (_AC_OUTPUT_FILE): Use m4_map_args_sep and m4_map_args.
+       (_AC_OUTPUT_FILE_ADJUST_DIR): New helper macro.
+
+       Use more efficient macros in AC_CHECK_FILES and AC_CHECK_DECLS.
+       * lib/autoconf/general.m4 (AC_CHECK_FILES): Use m4_map_args_w,
+       and avoid typo.
+       (AC_CHECK_DECLS, AC_CHECK_DECLS_ONCE): Use m4_map_args_sep.
+       (_AC_CHECK_FILES, _AC_CHECK_DECLS, _AC_CHECK_DECL_ONCE): New
+       helper macros.
+       (AC_LIBSOURCES): Use m4_map_args.
+
+       Use more efficient macros in AC_CHECK_TYPES.
+       * lib/autoconf/types.m4 (AC_CHECK_TYPES, AC_CHECK_MEMBERS): Use
+       m4_map_args_sep.
+       (_AC_CHECK_TYPES, _AC_CHECK_MEMBERS): New helper macros.
+
+       Use more efficient macros in AC_CHECK_HEADERS.
+       * lib/autoconf/headers.m4 (AH_CHECK_HEADERS)
+       (AH_CHECK_HEADERS_DIRENT): Rename...
+       (_AH_CHECK_HEADER, _AH_CHECK_HEADER_DIRENT): ...and take only one
+       argument, rather than a list.
+       (AC_CHECK_HEADERS, AC_CHECK_HEADERS_ONCE):
+       Adjust callers to use m4_map_args_w.
+       (AC_HEADER_DIRENT): Adjust caller to use m4_map_args.
+       (_AC_CHECK_HEADER_ONCE): New helper macro.
+
+       Use more efficient macros in AC_CHECK_FUNCS.
+       * lib/autoconf/functions.m4 (_AH_CHECK_FUNCS): Rename...
+       (_AH_CHECK_FUNC): ...and take only one argument, rather than a
+       list.
+       (AC_CHECK_FUNCS, AC_CHECK_FUNCS_ONCE): Adjust callers to use
+       m4_map_args_w.
+       (_AC_CHECK_FUNC_ONCE): New helper macro.
+       (AC_REPLACE_FUNCS): Use m4_map_args_w.
+
+       Use more efficient macro in AT_INIT.
+       * lib/autotest/general.m4 (AT_INIT): Use m4_map_args.
+
+2008-11-10  Eric Blake  <address@hidden>
+
        More FDL 1.3 fallout.
        * cfg.mk (fetch): Add gnu-oids.texi, drop fdl.texi.
        * doc/Makefile.am (standards_TEXINFOS): Reflect upstream
diff --git a/lib/autoconf/functions.m4 b/lib/autoconf/functions.m4
index 0bc9299..23c6348 100644
--- a/lib/autoconf/functions.m4
+++ b/lib/autoconf/functions.m4
@@ -91,19 +91,24 @@ AS_VAR_IF([ac_var], [yes], [$2], [$3])
 AS_VAR_POPDEF([ac_var])])# AC_CHECK_FUNC
 
 
-# _AH_CHECK_FUNCS(FUNCTION...)
-# ----------------------------
-m4_define([_AH_CHECK_FUNCS],
-[m4_foreach_w([AC_Func], [$1],
-   [AH_TEMPLATE(AS_TR_CPP([HAVE_]m4_defn([AC_Func])),
-      [Define to 1 if you have the `]m4_defn([AC_Func])[' function.])])])
+# _AH_CHECK_FUNC(FUNCTION)
+# ------------------------
+# Prepare the autoheader snippet for FUNCTION.
+m4_define([_AH_CHECK_FUNC],
+[AH_TEMPLATE(AS_TR_CPP([HAVE_$1]),
+  [Define to 1 if you have the `$1' function.])])
 
 
 # AC_CHECK_FUNCS(FUNCTION..., [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
 # ---------------------------------------------------------------------
+# Check for each whitespace-separated FUNCTION, and perform
+# ACTION-IF-FOUND or ACTION-IF-NOT-FOUND for each function.
+# Additionally, make the preprocessor definition HAVE_FUNCTION
+# available for each found function.  Either ACTION may include
+# `break' to stop the search.
 AC_DEFUN([AC_CHECK_FUNCS],
-[_AH_CHECK_FUNCS([$1])dnl
-for ac_func in $1
+[m4_map_args_w([$1], [_AH_CHECK_FUNC(], [)])]dnl
+[for ac_func in $1
 do
 AC_CHECK_FUNC($ac_func,
              [AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_$ac_func])) $2],
@@ -112,18 +117,21 @@ done
 ])
 
 
+# _AC_CHECK_FUNC_ONCE(FUNCTION)
+# -----------------------------
+# Check for a single FUNCTION once.
+m4_define([_AC_CHECK_FUNC_ONCE],
+[_AH_CHECK_FUNC([$1])AC_DEFUN([_AC_Func_$1],
+  [m4_divert_text([INIT_PREPARE], [AS_VAR_APPEND([ac_func_list], [" $1"])])
+_AC_FUNCS_EXPANSION])AC_REQUIRE([_AC_Func_$1])])
+
 # AC_CHECK_FUNCS_ONCE(FUNCTION...)
 # --------------------------------
+# Add each whitespace-separated name in FUNCTION to the list of functions
+# to check once.
 AC_DEFUN([AC_CHECK_FUNCS_ONCE],
-[
-  _AH_CHECK_FUNCS([$1])
-  m4_foreach_w([AC_Func], [$1],
-    [AC_DEFUN([_AC_Func_]m4_defn([AC_Func]),
-       [m4_divert_text([INIT_PREPARE],
-         [AS_VAR_APPEND([ac_func_list], [" AC_Func"])])
-       _AC_FUNCS_EXPANSION])
-     AC_REQUIRE([_AC_Func_]m4_defn([AC_Func]))])
-])
+[m4_map_args_w([$1], [_AC_CHECK_FUNC_ONCE(], [)])])
+
 m4_define([_AC_FUNCS_EXPANSION],
 [
   m4_divert_text([DEFAULTS], [ac_func_list=])
@@ -135,8 +143,8 @@ m4_define([_AC_FUNCS_EXPANSION],
 # AC_REPLACE_FUNCS(FUNCTION...)
 # -----------------------------
 AC_DEFUN([AC_REPLACE_FUNCS],
-[m4_foreach_w([AC_Func], [$1], [AC_LIBSOURCE(AC_Func.c)])dnl
-AC_CHECK_FUNCS([$1], , [_AC_LIBOBJ($ac_func)])
+[m4_map_args_w([$1], [AC_LIBSOURCE(], [.c)])]dnl
+[AC_CHECK_FUNCS([$1], , [_AC_LIBOBJ($ac_func)])
 ])
 
 
diff --git a/lib/autoconf/general.m4 b/lib/autoconf/general.m4
index 26b238b..2c184fc 100644
--- a/lib/autoconf/general.m4
+++ b/lib/autoconf/general.m4
@@ -2073,22 +2073,22 @@ m4_define([AC_DEFINE_UNQUOTED], [_AC_DEFINE_Q([], $@)])
 # -----------------------------------------------------
 # Internal function that performs common elements of AC_DEFINE{,_UNQUOTED}.
 #
-# m4_index is roughly 5 to 8 times faster than m4_bpatsubst, so only
-# use the regex when necessary.  AC_name is defined with over-quotation,
-# so that we can avoid m4_defn.
+# m4_index is roughly 5 to 8 times faster than m4_bpatsubst, so we use
+# m4_format rather than regex to grab prefix up to first ().  AC_name
+# is defined with over-quotation, so that we can avoid m4_defn; this
+# is only safe because the name should not contain $.
 m4_define([_AC_DEFINE_Q],
-[m4_pushdef([AC_name], m4_if(m4_index([$2], [(]), [-1], [[[$2]]],
-                            [m4_bpatsubst([[[$2]]], [(.*)])]))dnl
-AC_DEFINE_TRACE(AC_name)dnl
-m4_cond([m4_index([$3], [
+[m4_pushdef([AC_name], m4_format([[[%.*s]]], m4_index([$2], [(]), [$2]))]dnl
+[AC_DEFINE_TRACE(AC_name)]dnl
+[m4_cond([m4_index([$3], [
 ])], [-1], [],
        [AS_LITERAL_IF([$3], [m4_bregexp([[$3]], [[^\\]
 ], [-])])], [], [],
        [m4_warn([syntax], [AC_DEFINE]m4_ifval([$1], [], [[_UNQUOTED]])dnl
-[: `$3' is not a valid preprocessor define value])])dnl
-m4_ifval([$4], [AH_TEMPLATE(AC_name, [$4])])dnl
-m4_popdef([AC_name])dnl
-cat >>confdefs.h <<$1_ACEOF
+[: `$3' is not a valid preprocessor define value])])]dnl
+[m4_ifval([$4], [AH_TEMPLATE(AC_name, [$4])])]dnl
+[_m4_popdef([AC_name])]dnl
+[cat >>confdefs.h <<$1_ACEOF
 address@hidden:@define] $2 m4_if([$#], 2, 1, [$3], [], [/**/], [$3])
 _ACEOF
 ])
@@ -2701,16 +2701,23 @@ AS_VAR_POPDEF([ac_File])dnl
 ])# AC_CHECK_FILE
 
 
+# _AC_CHECK_FILES(FILE)
+# ---------------------
+# Helper to AC_CHECK_FILES, which generates two of the three arguments
+# to AC_CHECK_FILE based on FILE.
+m4_define([_AC_CHECK_FILES],
+[[$1], [AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_$1]), [1],
+  [Define to 1 if you have the file `$1'.])]])
+
+
 # AC_CHECK_FILES(FILE..., [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
 # -----------------------------------------------------------------
+# For each word in the whitespace-separated FILE list, perform either
+# ACTION-IF-FOUND or ACTION-IF-NOT-FOUND.  For files that exist, also
+# provide the preprocessor variable HAVE_FILE.
 AC_DEFUN([AC_CHECK_FILES],
-[m4_foreach_w([AC_FILE_NAME], [$1],
-  [AC_CHECK_FILE(AC_FILE_NAME,
-                [AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_[]AC_FILE_NAME), 1,
-                                   [Define to 1 if you have the
-                                    file `]AC_File['.])
-$2],
-                [$3])])])
+[m4_map_args_w([$1], [AC_CHECK_FILE(_$0(], [)[
+$2], [$3])])])
 
 
 ## ------------------------------- ##
@@ -2753,6 +2760,19 @@ AS_VAR_POPDEF([ac_Symbol])dnl
 ])# AC_CHECK_DECL
 
 
+# _AC_CHECK_DECLS(SYMBOL, ACTION-IF_FOUND, ACTION-IF-NOT-FOUND,
+#                 INCLUDES)
+# -------------------------------------------------------------
+# Helper to AC_CHECK_DECLS, which generates the check for a single
+# SYMBOL with INCLUDES, performs the AC_DEFINE, then expands
+# ACTION-IF-FOUND or ACTION-IF-NOT-FOUND.
+m4_define([_AC_CHECK_DECLS],
+[AC_CHECK_DECL([$1], [ac_have_decl=1], [ac_have_decl=0], [$4])]dnl
+[AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_DECL_$1]), [$ac_have_decl],
+  [Define to 1 if you have the declaration of `$1',
+   and to 0 if you don't.])]dnl
+[m4_ifvaln([$2$3], [AS_IF([test $ac_have_decl = 1], [$2], [$3])])])
+
 # AC_CHECK_DECLS(SYMBOLS,
 #                [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND],
 #                [INCLUDES = DEFAULT-INCLUDES])
@@ -2761,28 +2781,21 @@ AS_VAR_POPDEF([ac_Symbol])dnl
 # documentation for a detailed explanation of this difference with
 # other AC_CHECK_*S macros.  SYMBOLS is an m4 list.
 AC_DEFUN([AC_CHECK_DECLS],
-[m4_foreach([AC_Symbol], [$1],
-  [AC_CHECK_DECL(AC_Symbol,
-                [AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_DECL_]AC_Symbol), 1,
-                                    [Define to 1 if you have the declaration
-                                    of `]AC_Symbol[', and to 0 if you don't.])
-$2],
-                [AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_DECL_]AC_Symbol), 0)
-$3],
-                [$4])])
-])# AC_CHECK_DECLS
+[m4_map_args_sep([_$0(], [, [$2], [$3], [$4])], [], $1)])
 
 
+# _AC_CHECK_DECL_ONCE(SYMBOL)
+# ---------------------------
+# Check for a single SYMBOL once.
+m4_define([_AC_CHECK_DECL_ONCE],
+[AC_DEFUN([_AC_Check_Decl_$1], [_AC_CHECK_DECLS([$1])])]dnl
+[AC_REQUIRE([_AC_Check_Decl_$1])])
+
 # AC_CHECK_DECLS_ONCE(SYMBOLS)
 # ----------------------------
 # Like AC_CHECK_DECLS(SYMBOLS), but do it at most once.
 AC_DEFUN([AC_CHECK_DECLS_ONCE],
-[
-  m4_foreach([AC_Symbol], [$1],
-    [AC_DEFUN([_AC_Check_Decl_]m4_defn([AC_Symbol]),
-       [AC_CHECK_DECLS(m4_defn([AC_Symbol]))])
-     AC_REQUIRE([_AC_Check_Decl_]m4_defn([AC_Symbol]))])
-])
+[m4_map_args_sep([_AC_CHECK_DECL_ONCE(], [)], [], $1)])
 
 
 
@@ -2808,8 +2821,7 @@ m4_define([AC_LIBSOURCE], [])
 # -------------------------------
 # Announce we might need these files.
 AC_DEFUN([AC_LIBSOURCES],
-[m4_foreach([_AC_FILE_NAME], [$1],
-           [AC_LIBSOURCE(_AC_FILE_NAME)])])
+[m4_map_args([AC_LIBSOURCE], $1)])
 
 
 # _AC_LIBOBJ(FILE-NAME-NOEXT, ACTION-IF-INDIR)
diff --git a/lib/autoconf/headers.m4 b/lib/autoconf/headers.m4
index 6802c38..eb6bc01 100644
--- a/lib/autoconf/headers.m4
+++ b/lib/autoconf/headers.m4
@@ -226,21 +226,26 @@ AS_VAR_POPDEF([ac_Header])dnl
 ])# _AC_CHECK_HEADER_PREPROC
 
 
-# AH_CHECK_HEADERS(HEADER-FILE...)
-# --------------------------------
-m4_define([AH_CHECK_HEADERS],
-[m4_foreach_w([AC_Header], [$1],
-  [AH_TEMPLATE(AS_TR_CPP([HAVE_]m4_defn([AC_Header])),
-     [Define to 1 if you have the <]m4_defn([AC_Header])[> header file.])])])
+# _AH_CHECK_HEADER(HEADER-FILE)
+# -----------------------------
+# Prepare the autoheader snippet for HEADER-FILE.
+m4_define([_AH_CHECK_HEADER],
+[AH_TEMPLATE(AS_TR_CPP([HAVE_$1]),
+  [Define to 1 if you have the <$1> header file.])])
 
 
 # AC_CHECK_HEADERS(HEADER-FILE...,
 #                 [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND],
 #                 [INCLUDES])
 # ----------------------------------------------------------
+# Check for each whitespace-separated HEADER-FILE (omitting the <> or
+# ""), and perform ACTION-IF-FOUND or ACTION-IF-NOT-FOUND for each
+# header.  INCLUDES is as for AC_CHECK_HEADER.  Additionally, make the
+# preprocessor definition HAVE_HEADER_FILE available for each found
+# header.  Either ACTION may include `break' to stop the search.
 AC_DEFUN([AC_CHECK_HEADERS],
-[AH_CHECK_HEADERS([$1])dnl
-for ac_header in $1
+[m4_map_args_w([$1], [_AH_CHECK_HEADER(], [)])]dnl
+[for ac_header in $1
 do
 AC_CHECK_HEADER($ac_header,
                [AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_$ac_header)) $2],
@@ -250,18 +255,24 @@ done
 ])# AC_CHECK_HEADERS
 
 
+# _AC_CHECK_HEADER_ONCE(HEADER-FILE)
+# ----------------------------------
+# Check for a single HEADER-FILE once.
+m4_define([_AC_CHECK_HEADER_ONCE],
+[_AH_CHECK_HEADER([$1])AC_DEFUN([_AC_Header_]m4_translit([[$1]],
+    [./-], [___]),
+  [m4_divert_text([INIT_PREPARE], [AS_VAR_APPEND([ac_header_list], [" $1"])])
+_AC_HEADERS_EXPANSION])AC_REQUIRE([_AC_Header_]m4_translit([[$1]],
+    [./-], [___]))])
+
+
 # AC_CHECK_HEADERS_ONCE(HEADER-FILE...)
 # -------------------------------------
+# Add each whitespace-separated name in HEADER-FILE to the list of
+# headers to check once.
 AC_DEFUN([AC_CHECK_HEADERS_ONCE],
-[
-  AH_CHECK_HEADERS([$1])
-  m4_foreach_w([AC_Header], [$1],
-    [AC_DEFUN([_AC_Header_]m4_quote(m4_translit(AC_Header, [./-], [___])),
-       [m4_divert_text([INIT_PREPARE],
-         [AS_VAR_APPEND([ac_header_list], [" AC_Header"])])
-       _AC_HEADERS_EXPANSION])
-     AC_REQUIRE([_AC_Header_]m4_quote(m4_translit(AC_Header, [./-], [___])))])
-])
+[m4_map_args_w([$1], [_AC_CHECK_HEADER_ONCE(], [)])])
+
 m4_define([_AC_HEADERS_EXPANSION],
 [
   m4_divert_text([DEFAULTS], [ac_header_list=])
@@ -454,20 +465,20 @@ AS_VAR_POPDEF([ac_Header])dnl
 ])# _AC_CHECK_HEADER_DIRENT
 
 
-# AH_CHECK_HEADERS_DIRENT(HEADERS...)
-# -----------------------------------
-m4_define([AH_CHECK_HEADERS_DIRENT],
-[m4_foreach_w([AC_Header], [$1],
-  [AH_TEMPLATE(AS_TR_CPP([HAVE_]m4_defn([AC_Header])),
-              [Define to 1 if you have the <]m4_defn([AC_Header])[> header 
file, and
-               it defines `DIR'.])])])
+# _AH_CHECK_HEADER_DIRENT(HEADERS)
+# --------------------------------
+# Like _AH_CHECK_HEADER, but tuned to a dirent provider.
+m4_define([_AH_CHECK_HEADER_DIRENT],
+[AH_TEMPLATE(AS_TR_CPP([HAVE_$1]),
+  [Define to 1 if you have the <$1> header file, and it defines `DIR'.])])
 
 
 # AC_HEADER_DIRENT
 # ----------------
 AC_DEFUN([AC_HEADER_DIRENT],
-[AH_CHECK_HEADERS_DIRENT(dirent.h sys/ndir.h sys/dir.h ndir.h)
-ac_header_dirent=no
+[m4_map_args([_AH_CHECK_HEADER_DIRENT], [dirent.h], [sys/ndir.h],
+            [sys/dir.h], [ndir.h])]dnl
+[ac_header_dirent=no
 for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
   _AC_CHECK_HEADER_DIRENT($ac_hdr,
                          [AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_$ac_hdr), 1)
diff --git a/lib/autoconf/status.m4 b/lib/autoconf/status.m4
index 2f6276a..388b90f 100644
--- a/lib/autoconf/status.m4
+++ b/lib/autoconf/status.m4
@@ -176,8 +176,7 @@ m4_define([AC_FILE_DEPENDENCY_TRACE], [])
 # Declare that DEST depends upon SOURCE1 etc.
 #
 m4_define([_AC_FILE_DEPENDENCY_TRACE_COLON],
-[AC_FILE_DEPENDENCY_TRACE(m4_bpatsubst([$1], [:], [,]))dnl
-])
+[AC_FILE_DEPENDENCY_TRACE(m4_translit([$1], [:], [,]))])
 
 
 # _AC_CONFIG_DEPENDENCY(MODE, DEST[:SOURCE1...])
@@ -205,12 +204,11 @@ m4_define([_AC_CONFIG_DEPENDENCY],
 #    (We get to this case from the obsolete AC_LINK_FILES, for example.)
 #
 m4_define([_AC_CONFIG_DEPENDENCY_DEFAULT],
-[m4_bmatch([$2], [:], [],
+[m4_if(m4_index([$2], [:]), [-1],
           [m4_if([$1], [LINKS],
                  [AS_LITERAL_IF([$2],
                    [m4_fatal([Invalid AC_CONFIG_LINKS tag: `$2'])])],
-                 [:$2.in])])dnl
-])
+                 [:$2.in])])])
 
 
 # _AC_CONFIG_UNIQUE(MODE, DEST)
@@ -238,15 +236,20 @@ m4_define([_AC_CONFIG_UNIQUE],
 # This historical difference allows macro calls in TAGS.
 #
 m4_define([_AC_CONFIG_FOOS],
-[m4_foreach_w([AC_File], [$2],
-             [_AC_CONFIG_REGISTER([$1], m4_defn([AC_File]), [$3])])dnl
-m4_define([_AC_SEEN_CONFIG(ANY)])dnl
-m4_define([_AC_SEEN_CONFIG($1)])dnl
-_AC_CONFIG_COMMANDS_INIT([$4])dnl
-ac_config_[]m4_tolower([$1])="$ac_config_[]m4_tolower([$1]) dnl
-m4_if([$1], [COMMANDS], [$2], [m4_normalize([$2])])"
+[m4_map_args_w([$2], [_AC_CONFIG_REGISTER([$1],], [, [$3])])]dnl
+[m4_define([_AC_SEEN_CONFIG(ANY)])]dnl
+[m4_define([_AC_SEEN_CONFIG($1)])]dnl
+[_AC_CONFIG_COMMANDS_INIT([$4])]dnl
+[ac_config_[]m4_tolower([$1])="$ac_config_[]m4_tolower([$1]) ]dnl
+[m4_if([$1], [COMMANDS], [$2], [m4_normalize([$2])])"
 ])
 
+# _AC_CONFIG_COMPUTE_DEST(STRING)
+# -------------------------------
+# Compute the DEST from STRING by stripping any : and following
+# characters.
+m4_define([_AC_CONFIG_COMPUTE_DEST],
+[m4_format([[%.*s]], m4_index([$1], [:]), [$1])])
 
 # _AC_CONFIG_REGISTER(MODE, TAG, [COMMANDS])
 # ------------------------------------------
@@ -255,9 +258,9 @@ m4_if([$1], [COMMANDS], [$2], [m4_normalize([$2])])"
 m4_define([_AC_CONFIG_REGISTER],
 [m4_if([$1], [COMMANDS],
        [],
-       [_AC_CONFIG_DEPENDENCY([$1], [$2])])dnl
-_AC_CONFIG_REGISTER_DEST([$1], [$2], m4_bpatsubst([[$2]], [:.*\(.\)$], [\1]), 
[$3])dnl
-])
+       [_AC_CONFIG_DEPENDENCY([$1], [$2])])]dnl
+[_AC_CONFIG_REGISTER_DEST([$1], [$2],
+  _AC_CONFIG_COMPUTE_DEST([$2]), [$3])])
 
 
 # _AC_CONFIG_REGISTER_DEST(MODE, TAG, DEST, [COMMANDS])
@@ -282,15 +285,14 @@ dnl Recognize TAG as an argument to config.status:
 dnl
 [m4_append([_AC_LIST_TAGS],
 [    "$3") CONFIG_$1="$CONFIG_$1 $2" ;;
-])dnl
+])]dnl
 dnl
 dnl Register the associated commands, if any:
 dnl
-m4_ifval([$4],
+[m4_ifval([$4],
 [m4_append([_AC_LIST_TAG_COMMANDS],
-[    "$3":]m4_bpatsubst([$1], [^\(.\).*$], [\1])[) $4 ;;
-])])dnl
-])# _AC_CONFIG_REGISTER_DEST
+[    "$3":]m4_format([[%.1s]], [$1])[) $4 ;;
+])])])# _AC_CONFIG_REGISTER_DEST
 
 
 
@@ -583,6 +585,13 @@ fi # test -n "$CONFIG_FILES"
 
 ])# _AC_OUTPUT_FILES_PREPARE
 
+# _AC_OUTPUT_FILE_ADJUST_DIR(VAR)
+# -------------------------------
+# Generate the sed snippet needed to output VAR relative to the
+# top-level directory.
+m4_define([_AC_OUTPUT_FILE_ADJUST_DIR],
+[s&@$1@&$ac_$1&;t t[]AC_SUBST_TRACE([$1])])
+
 
 # _AC_OUTPUT_FILE
 # ---------------
@@ -619,15 +628,15 @@ m4_ifndef([AC_DATAROOTDIR_CHECKED],
 # FIXME: This hack should be removed a few years after 2.60.
 ac_datarootdir_hack=; ac_datarootdir_seen=
 m4_define([_AC_datarootdir_vars],
-         [datadir, docdir, infodir, localedir, mandir])
-ac_sed_dataroot='
+         [datadir, docdir, infodir, localedir, mandir])]dnl
+[m4_define([_AC_datarootdir_subst], [  s&@$][1@&$$][1&g])]dnl
+[ac_sed_dataroot='
 /datarootdir/ {
   p
   q
 }
-m4_foreach([_AC_Var], m4_defn([_AC_datarootdir_vars]),
-          [/@_AC_Var@/p
-])'
+m4_map_args_sep([/@], [@/p], [
+], _AC_datarootdir_vars)'
 case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
 *datarootdir*) ac_datarootdir_seen=yes;;
 address@hidden(address@hidden|address@hidden, _AC_datarootdir_vars)@*)
@@ -635,9 +644,8 @@ case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` 
in
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
   ac_datarootdir_hack='
-  m4_foreach([_AC_Var], m4_defn([_AC_datarootdir_vars]),
-              [s&@_AC_Var@&$_AC_Var&g
-  ])dnl
+m4_map_args_sep([_AC_datarootdir_subst(], [)], [
+], _AC_datarootdir_vars)
   s&\\\${datarootdir}&$datarootdir&g' ;;
 esac
 _ACEOF
@@ -662,11 +670,11 @@ dnl During the transition period, this is a special case:
 s&@top_builddir@&$ac_top_builddir_sub&;t t[]AC_SUBST_TRACE([top_builddir])
 dnl For this substitution see the witness macro _AC_HAVE_TOP_BUILD_PREFIX 
above.
 s&@top_build_prefix@&$ac_top_build_prefix&;t 
t[]AC_SUBST_TRACE([top_build_prefix])
-m4_foreach([_AC_Var], [srcdir, abs_srcdir, top_srcdir, abs_top_srcdir,
-                       builddir, abs_builddir,
-                       abs_top_builddir]AC_PROVIDE_IFELSE([AC_PROG_INSTALL], 
[[, INSTALL]])AC_PROVIDE_IFELSE([AC_PROG_MKDIR_P], [[, MKDIR_P]]),
-          [s&@_AC_Var@&$ac_[]_AC_Var&;t t[]AC_SUBST_TRACE(_AC_Var)
-])dnl
+m4_map_args_sep([$0_ADJUST_DIR(], [)], [
+], [srcdir], [abs_srcdir], [top_srcdir], [abs_top_srcdir],
+   [builddir], [abs_builddir],
+   [abs_top_builddir]AC_PROVIDE_IFELSE([AC_PROG_INSTALL],
+     [, [INSTALL]])AC_PROVIDE_IFELSE([AC_PROG_MKDIR_P], [, [MKDIR_P]]))
 m4_ifndef([AC_DATAROOTDIR_CHECKED], [$ac_datarootdir_hack
 ])dnl
 "
@@ -1093,17 +1101,15 @@ m4_define([AC_OUTPUT_COMMANDS_POST])
 #   included, if for instance the user refused a part of the tree.
 #   This is used in _AC_OUTPUT_SUBDIRS.
 AC_DEFUN([AC_CONFIG_SUBDIRS],
-[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
-AC_REQUIRE([AC_DISABLE_OPTION_CHECKING])dnl
-m4_foreach_w([_AC_Sub], [$1],
-            [_AC_CONFIG_UNIQUE([SUBDIRS],
-                               m4_bpatsubst(m4_defn([_AC_Sub]), [:.*]))])dnl
-m4_append([_AC_LIST_SUBDIRS], [$1], [
-])dnl
-AS_LITERAL_IF([$1], [],
-             [AC_DIAGNOSE([syntax], [$0: you should use literals])])dnl
-AC_SUBST([subdirs], ["$subdirs m4_normalize([$1])"])dnl
-])
+[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])]dnl
+[AC_REQUIRE([AC_DISABLE_OPTION_CHECKING])]dnl
+[m4_map_args_w([$1], [_AC_CONFIG_UNIQUE([SUBDIRS],
+  _AC_CONFIG_COMPUTE_DEST(], [))])]dnl
+[m4_append([_AC_LIST_SUBDIRS], [$1], [
+])]dnl
+[AS_LITERAL_IF([$1], [],
+              [AC_DIAGNOSE([syntax], [$0: you should use literals])])]dnl
+[AC_SUBST([subdirs], ["$subdirs m4_normalize([$1])"])])
 
 
 # _AC_OUTPUT_SUBDIRS
diff --git a/lib/autoconf/types.m4 b/lib/autoconf/types.m4
index b8fc81a..b233591 100644
--- a/lib/autoconf/types.m4
+++ b/lib/autoconf/types.m4
@@ -181,6 +181,15 @@ AS_VAR_POPDEF([ac_Type])dnl
 ])# _AC_CHECK_TYPE_NEW
 
 
+# _AC_CHECK_TYPES(TYPE)
+# ---------------------
+# Helper to AC_CHECK_TYPES, which generates two of the four arguments
+# to _AC_CHECK_TYPE_NEW that are based on TYPE.
+m4_define([_AC_CHECK_TYPES],
+[[$1], [AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_$1]), [1],
+  [Define to 1 if the system has the type `$1'.])]])
+
+
 # AC_CHECK_TYPES(TYPES,
 #               [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND],
 #               [INCLUDES = DEFAULT-INCLUDES])
@@ -188,14 +197,8 @@ AS_VAR_POPDEF([ac_Type])dnl
 # TYPES is an m4 list.  There are no ambiguities here, we mean the newer
 # AC_CHECK_TYPE.
 AC_DEFUN([AC_CHECK_TYPES],
-[m4_foreach([AC_Type], [$1],
-  [_AC_CHECK_TYPE_NEW(AC_Type,
-                     [AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_[]AC_Type), 1,
-                                         [Define to 1 if the system has the
-                                          type `]AC_Type['.])
-$2],
-                     [$3],
-                     [$4])])])
+[m4_map_args_sep([_AC_CHECK_TYPE_NEW(_$0(], [)[
+$2], [$3], [$4])], [], $1)])
 
 
 # _AC_CHECK_TYPE_OLD(TYPE, DEFAULT)
@@ -901,21 +904,23 @@ AS_VAR_POPDEF([ac_Member])dnl
 ])# AC_CHECK_MEMBER
 
 
+# _AC_CHECK_MEMBERS(AGGREGATE.MEMBER)
+# -----------------------------------
+# Helper to AC_CHECK_MEMBERS, which generates two of the four
+# arguments to AC_CHECK_MEMBER that are based on AGGREGATE and MEMBER.
+m4_define([_AC_CHECK_MEMBERS],
+[[$1], [AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_$1]), [1],
+  [Define to 1 if `]m4_bpatsubst([$1],
+    [^\([^.]*\)\.\(.*\)], [[\1' is a member of `\2]])['.])]])
+
 # AC_CHECK_MEMBERS([AGGREGATE.MEMBER, ...],
 #                 [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]
 #                 [INCLUDES = DEFAULT-INCLUDES])
 # ---------------------------------------------------------
 # The first argument is an m4 list.
 AC_DEFUN([AC_CHECK_MEMBERS],
-[m4_foreach([AC_Member], [$1],
-  [AC_CHECK_MEMBER(AC_Member,
-        [AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_[]AC_Member), 1,
-                           [Define to 1 if `]m4_bpatsubst(AC_Member,
-                                                    [^[^.]*\.])[' is
-                            member of `]m4_bpatsubst(AC_Member, [\..*])['.])
-$2],
-                [$3],
-                [$4])])])
+[m4_map_args_sep([AC_CHECK_MEMBER(_$0(], [)[
+$2], [$3], [$4])], [], $1)])
 
 
 
diff --git a/lib/autotest/general.m4 b/lib/autotest/general.m4
index d9e7089..a4eb86d 100644
--- a/lib/autotest/general.m4
+++ b/lib/autotest/general.m4
@@ -204,18 +204,19 @@ m4_define([_AT_DEFINE_SETUP],
 # -------------------------
 # Begin test suite.
 m4_define([AT_INIT],
-[m4_pushdef([AT_INIT], [m4_fatal([$0: invoked multiple times])])
-m4_pattern_forbid([^_?AT_])
-m4_pattern_allow([^_AT_T_EOF$])
-m4_define([AT_TESTSUITE_NAME],
-  m4_defn([AT_PACKAGE_STRING])[ test suite]m4_ifval([$1], [m4_expand([: $1])]))
-m4_define([AT_ordinal], 0)
-m4_define([AT_banner_ordinal], 0)
-m4_define([AT_groups_all], [])
-m4_define([AT_help_all], [])
-m4_foreach([AT_name], [_AT_DEFINE_INIT_LIST], [m4_popdef(m4_defn([AT_name]))])
-m4_wrap([_AT_FINISH])
-AS_INIT[]dnl
+[m4_pushdef([AT_INIT], [m4_fatal([$0: invoked multiple times])])]
+[m4_pattern_forbid([^_?AT_])]
+[m4_pattern_allow([^_AT_T_EOF$])]
+[m4_define([AT_TESTSUITE_NAME],
+  m4_defn([AT_PACKAGE_STRING])[ test suite]m4_ifval([$1],
+   [m4_expand([: $1])]))]
+[m4_define([AT_ordinal], 0)]
+[m4_define([AT_banner_ordinal], 0)]
+[m4_define([AT_groups_all], [])]
+[m4_define([AT_help_all], [])]
+[m4_map_args([_m4_popdef], _AT_DEFINE_INIT_LIST)]
+[m4_wrap([_AT_FINISH])]
+[AS_INIT[]dnl
 dnl We don't use m4sh's BODY diversion, but AS_INIT sticks a banner there.
 dnl This trick removes that banner, since it adds nothing to autotest.
 m4_divert_text([KILL], [m4_undivert([BODY])])dnl


hooks/post-receive
--
GNU Autoconf source repository




reply via email to

[Prev in Thread] Current Thread [Next in Thread]