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-74-g


From: Eric Blake
Subject: [SCM] GNU Autoconf source repository branch, master, updated. v2.63-74-g89839f4
Date: Tue, 21 Oct 2008 16:44:24 +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=89839f42af89bee9509b5f38190acdbeab263455

The branch, master has been updated
       via  89839f42af89bee9509b5f38190acdbeab263455 (commit)
      from  91fd5ef60aab2766f639bb24630f7e1db95ae142 (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 89839f42af89bee9509b5f38190acdbeab263455
Author: Paolo Bonzini <address@hidden>
Date:   Tue Oct 21 08:55:05 2008 -0600

    Use a shell function for _AC_PREPROC_IFELSE.
    
    * lib/autoconf/general.m4 (_AC_PREPROC_IFELSE_BODY): New macro.
    (_AC_PREPROC_IFELSE): Use a shell function.
    * lib/m4sugar/m4sh.m4 (AS_REQUIRE): Factor for faster execution.
    (AS_REQUIRE_SHELL_FN): Bypass AS_REQUIRE if function has already
    been provided.
    
    Signed-off-by: Eric Blake <address@hidden>

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

Summary of changes:
 ChangeLog               |   10 ++++++++++
 lib/autoconf/general.m4 |   34 ++++++++++++++++++++++++----------
 lib/m4sugar/m4sh.m4     |   17 +++++++++++------
 3 files changed, 45 insertions(+), 16 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index e57150e..f98b708 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2008-10-21  Paolo Bonzini  <address@hidden>
+       and Eric Blake  <address@hidden>
+
+       Use a shell function for _AC_PREPROC_IFELSE.
+       * lib/autoconf/general.m4 (_AC_PREPROC_IFELSE_BODY): New macro.
+       (_AC_PREPROC_IFELSE): Use a shell function.
+       * lib/m4sugar/m4sh.m4 (AS_REQUIRE): Factor for faster execution.
+       (AS_REQUIRE_SHELL_FN): Bypass AS_REQUIRE if function has already
+       been provided.
+
 2008-10-21  Eric Blake  <address@hidden>
 
        Add banners to generated files.
diff --git a/lib/autoconf/general.m4 b/lib/autoconf/general.m4
index 32c13f6..b5c720d 100644
--- a/lib/autoconf/general.m4
+++ b/lib/autoconf/general.m4
@@ -2377,6 +2377,23 @@ AC_DEFUN([AC_RUN_LOG],
 ## ------------------------ ##
 
 
+# _AC_PREPROC_IFELSE_BODY
+# -----------------------
+# Shell function body for _AC_PREPROC_IFELSE.
+m4_define([_AC_PREPROC_IFELSE_BODY],
+[  AS_LINENO_PUSH([$[]1])
+  AS_IF([_AC_DO_STDERR([$ac_cpp conftest.$ac_ext]) >/dev/null && {
+        test -z 
"$ac_[]_AC_LANG_ABBREV[]_preproc_warn_flag$ac_[]_AC_LANG_ABBREV[]_werror_flag" 
||
+        test ! -s conftest.err
+       }],
+    [ac_retval=0],
+    [_AC_MSG_LOG_CONFTEST
+    ac_retval=1])
+  rm -f conftest.err
+  AS_LINENO_POP
+  return $ac_retval
+])
+
 
 # _AC_PREPROC_IFELSE(PROGRAM, [ACTION-IF-TRUE], [ACTION-IF-FALSE])
 # ----------------------------------------------------------------
@@ -2385,18 +2402,15 @@ AC_DEFUN([AC_RUN_LOG],
 # This macro can be used during the selection of a preprocessor.
 # eval is necessary to expand ac_cpp.
 AC_DEFUN([_AC_PREPROC_IFELSE],
-[m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])dnl
-AS_IF([_AC_DO_STDERR([$ac_cpp conftest.$ac_ext]) >/dev/null && {
-        test -z 
"$ac_[]_AC_LANG_ABBREV[]_preproc_warn_flag$ac_[]_AC_LANG_ABBREV[]_werror_flag" 
||
-        test ! -s conftest.err
-       }],
-  [$2],
-  [_AC_MSG_LOG_CONFTEST
-  $3])
-rm -f conftest.err m4_ifval([$1], [conftest.$ac_ext])[]dnl
+[AC_REQUIRE_SHELL_FN([ac_func_]_AC_LANG_ABBREV[_try_cpp],
+  [AS_FUNCTION_DESCRIBE([ac_func_]_AC_LANG_ABBREV[_try_cpp], [LINENO],
+    [Try to preprocess conftest.$ac_ext, and return whether this succeeded.])],
+    [$0_BODY])]dnl
+[m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])]dnl
+[AS_IF([ac_func_[]_AC_LANG_ABBREV[]_try_cpp "$LINENO"], [$2], [$3])
+m4_ifvaln([$1], [rm -f conftest.$ac_ext])dnl
 ])# _AC_PREPROC_IFELSE
 
-
 # AC_PREPROC_IFELSE(PROGRAM, [ACTION-IF-TRUE], [ACTION-IF-FALSE])
 # ---------------------------------------------------------------
 # Try to preprocess PROGRAM.  Requires that the preprocessor for the
diff --git a/lib/m4sugar/m4sh.m4 b/lib/m4sugar/m4sh.m4
index 5ed52d4..9ef15f5 100644
--- a/lib/m4sugar/m4sh.m4
+++ b/lib/m4sugar/m4sh.m4
@@ -317,11 +317,14 @@ m4_divert_pop[]dnl
 # Note: we expand _m4_divert_desired before passing it to m4_divert_require,
 # otherwise we would need to use m4_pushdef and m4_popdef instead of
 # simply m4_define.
+#
+# Since $2 can be quite large, this is factored for faster execution, giving
+# either m4_require([$1], [$2]) or m4_divert_require(desired, [$1], [$2]).
 m4_defun([AS_REQUIRE],
-[m4_define([_m4_divert_desired], [m4_default_quoted([$3], [M4SH-INIT])])dnl
-m4_if(m4_eval(_m4_divert(_m4_divert_dump) <= _m4_divert(_m4_divert_desired)), 
1,
-      [m4_require([$1], [$2])],
-      [m4_divert_require(_m4_divert(_m4_divert_desired), [$1], [$2])])])
+[m4_define([_m4_divert_desired], [m4_default_quoted([$3], [M4SH-INIT])])]dnl
+[m4_if(m4_eval(_m4_divert(_m4_divert_dump) <= _m4_divert(_m4_divert_desired)),
+       1, [m4_require(],
+         [m4_divert_require(_m4_divert(_m4_divert_desired),]) [$1], [$2])])
 
 
 # AS_REQUIRE_SHELL_FN(NAME-TO-CHECK, COMMENT, BODY-TO-EXPAND,
@@ -333,12 +336,14 @@ m4_if(m4_eval(_m4_divert(_m4_divert_dump) <= 
_m4_divert(_m4_divert_desired)), 1,
 # provided (often via AS_FUNCTION_DESCRIBE), it is listed with a
 # newline before the function name.
 m4_define([AS_REQUIRE_SHELL_FN],
+[m4_provide_if([AS_SHELL_FN_$1], [],
 [AS_REQUIRE([AS_SHELL_FN_$1],
-[m4_provide([AS_SHELL_FN_$1])m4_n([$2])$1 ()
+[m4_provide([AS_SHELL_FN_$1])
+m4_n([$2])$1 ()
 {
 $3
 } [#] $1
-], m4_default_quoted([$4], [M4SH-INIT-FN]))])
+], m4_default_quoted([$4], [M4SH-INIT-FN]))])])
 
 
 # _AS_RUN(TEST, [SHELL])


hooks/post-receive
--
GNU Autoconf source repository




reply via email to

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