[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SCM] GNU Autoconf source repository branch, master, updated. v2.64-46-g
From: |
Ralf Wildenhues |
Subject: |
[SCM] GNU Autoconf source repository branch, master, updated. v2.64-46-gc8c7589 |
Date: |
Tue, 15 Sep 2009 04:18:15 +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=c8c7589040843eaaa52c6d3ff6e3b7fddd663cd9
The branch, master has been updated
via c8c7589040843eaaa52c6d3ff6e3b7fddd663cd9 (commit)
via 22ac64cd53d5491f095192c3bdeeb45a80bfcdd0 (commit)
from 6b22fb3155ac0d04daa57951f1a1fe4c36162e9b (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 c8c7589040843eaaa52c6d3ff6e3b7fddd663cd9
Author: Ralf Wildenhues <address@hidden>
Date: Sun Sep 13 21:18:37 2009 +0200
Work around DJGPP shell function return bug with command substitutions.
DJGPP bash 2.04 has a bug in that `return $ac_retval' done in a
shell function which also contains a command substitution causes
the shell to barf. For more details and a fix see:
<http://www.delorie.com/djgpp/mail-archives/browse.cgi?p=djgpp-workers/2009/09/09/03:35:08>
Possible workaround include putting the `return' in a subshell
or calling another function to set the status.
* lib/autoconf/general.m4 (_AC_PREPROC_IFELSE_BODY)
(_AC_COMPILE_IFELSE_BODY, _AC_LINK_IFELSE_BODY)
(_AC_RUN_IFELSE_BODY, _AC_COMPUTE_INT_BODY): Use AS_SET_STATUS
instead of `return'.
* doc/autoconf.texi (Common Shell Constructs, Shell Functions):
Document the issue.
* THANKS: Update.
Report by Rugxulo and Reuben Thomas.
Signed-off-by: Ralf Wildenhues <address@hidden>
commit 22ac64cd53d5491f095192c3bdeeb45a80bfcdd0
Author: Ralf Wildenhues <address@hidden>
Date: Sun Sep 13 21:14:27 2009 +0200
DJGPP fix: Do not redirect standard input in configure scripts.
* lib/autoconf/general.m4 (_AC_INIT_DEFAULTS): If $DJGPP is
nonempty, do not dup fd 0 to AS_ORIGINAL_STDIN_FD, do not close
fd 0.
Signed-off-by: Ralf Wildenhues <address@hidden>
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 23 +++++++++++++++++++++++
THANKS | 1 +
doc/autoconf.texi | 10 +++++++++-
lib/autoconf/general.m4 | 13 +++++++------
4 files changed, 40 insertions(+), 7 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index d128e2a..f797543 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,26 @@
+2009-09-15 Ralf Wildenhues <address@hidden>
+
+ Work around DJGPP shell function return bug with command substitutions.
+ DJGPP bash 2.04 has a bug in that `return $ac_retval' done in a
+ shell function which also contains a command substitution causes
+ the shell to barf. For more details and a fix see:
+
<http://www.delorie.com/djgpp/mail-archives/browse.cgi?p=djgpp-workers/2009/09/09/03:35:08>
+ Possible workaround include putting the `return' in a subshell
+ or calling another function to set the status.
+ * lib/autoconf/general.m4 (_AC_PREPROC_IFELSE_BODY)
+ (_AC_COMPILE_IFELSE_BODY, _AC_LINK_IFELSE_BODY)
+ (_AC_RUN_IFELSE_BODY, _AC_COMPUTE_INT_BODY): Use AS_SET_STATUS
+ instead of `return'.
+ * doc/autoconf.texi (Common Shell Constructs, Shell Functions):
+ Document the issue.
+ * THANKS: Update.
+ Report by Rugxulo and Reuben Thomas.
+
+ DJGPP fix: Do not redirect standard input in configure scripts.
+ * lib/autoconf/general.m4 (_AC_INIT_DEFAULTS): If $DJGPP is
+ nonempty, do not dup fd 0 to AS_ORIGINAL_STDIN_FD, do not close
+ fd 0.
+
2009-09-14 Eric Blake <address@hidden>
Quote result of m4_toupper and m4_tolower.
diff --git a/THANKS b/THANKS
index 28312f7..ba239ca 100644
--- a/THANKS
+++ b/THANKS
@@ -319,6 +319,7 @@ Rolf Ebert address@hidden
Rolf Vandevaart address@hidden
Romain Lenglet address@hidden
Ruediger Kuhlmann address@hidden
+Rugxulo address@hidden
Ruslan Babayev address@hidden
Russ Allbery address@hidden
Russ Boylan address@hidden
diff --git a/doc/autoconf.texi b/doc/autoconf.texi
index 72ebde0..a38db00 100644
--- a/doc/autoconf.texi
+++ b/doc/autoconf.texi
@@ -12691,7 +12691,9 @@ Also see the @code{AC_PROG_MKDIR_P} macro
(@pxref{Particular Programs}).
Emit shell code to set the value of @samp{$?} to @var{status}, as
efficiently as possible. However, this is not guaranteed to abort a
shell running with @code{set -e} (@pxref{set, , Limitations of Shell
-Builtins}).
+Builtins}). This should also be used at the end of a complex shell
+function instead of @samp{return} (@pxref{Shell Functions}) to avoid
+a @acronym{DJGPP} shell bug.
@end defmac
@defmac AS_TR_CPP (@var{expression})
@@ -15502,6 +15504,12 @@ $ @kbd{ash -c 'foo()@{ echo $?; @}; trap foo 0; (exit
2); exit 2'; echo $?}
2
@end example
address@hidden bash 2.04 has a bug in that @command{return} from a
+shell function which also used a command substitution causes a
+segmentation fault. To work around the issue, you can use
address@hidden from a subshell, or @samp{AS_SET_STATUS} as last command
+in the execution flow of the function (@pxref{Common Shell Constructs}).
+
Not all shells treat shell functions as simple commands impacted by
@samp{set -e}, for example with Solaris 10 @command{bin/sh}:
diff --git a/lib/autoconf/general.m4 b/lib/autoconf/general.m4
index 43b5e23..c119088 100644
--- a/lib/autoconf/general.m4
+++ b/lib/autoconf/general.m4
@@ -385,7 +385,8 @@ AU_ALIAS([AC_FD_MSG], [AS_MESSAGE_FD])
m4_define([_AC_INIT_DEFAULTS],
[m4_divert_push([DEFAULTS])dnl
-exec AS_ORIGINAL_STDIN_FD<&0 </dev/null AS_MESSAGE_FD>&1
+test -n "$DJDIR" || exec AS_ORIGINAL_STDIN_FD<&0 </dev/null
+exec AS_MESSAGE_FD>&1
# Name of the host.
# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
@@ -2456,7 +2457,7 @@ m4_define([_AC_PREPROC_IFELSE_BODY],
[_AC_MSG_LOG_CONFTEST
ac_retval=1])
AS_LINENO_POP
- return $ac_retval
+ AS_SET_STATUS([$ac_retval])
])# _AC_PREPROC_IFELSE_BODY
@@ -2545,7 +2546,7 @@ m4_define([_AC_COMPILE_IFELSE_BODY],
[_AC_MSG_LOG_CONFTEST
ac_retval=1])
AS_LINENO_POP
- return $ac_retval
+ AS_SET_STATUS([$ac_retval])
])# _AC_COMPILE_IFELSE_BODY
@@ -2609,7 +2610,7 @@ m4_define([_AC_LINK_IFELSE_BODY],
# left behind by Apple's compiler. We do this before executing the actions.
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
AS_LINENO_POP
- return $ac_retval
+ AS_SET_STATUS([$ac_retval])
])# _AC_LINK_IFELSE_BODY
@@ -2681,7 +2682,7 @@ m4_define([_AC_RUN_IFELSE_BODY],
ac_retval=$ac_status])
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
AS_LINENO_POP
- return $ac_retval
+ AS_SET_STATUS([$ac_retval])
])# _AC_RUN_IFELSE_BODY
@@ -3003,7 +3004,7 @@ m4_define([_AC_COMPUTE_INT_BODY],
[ac_retval=0], [ac_retval=1])
fi
AS_LINENO_POP
- return $ac_retval
+ AS_SET_STATUS([$ac_retval])
])# _AC_COMPUTE_INT_BODY
# AC_COMPUTE_INT(VARIABLE, EXPRESSION, PROLOGUE, [IF-FAILS])
hooks/post-receive
--
GNU Autoconf source repository
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [SCM] GNU Autoconf source repository branch, master, updated. v2.64-46-gc8c7589,
Ralf Wildenhues <=