-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathac268b.diff
175 lines (165 loc) · 6 KB
/
ac268b.diff
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
--- a/lib/autoconf/fortran.m4
+++ b/lib/autoconf/fortran.m4
@@ -1599,7 +1599,8 @@ do
[],
[ac_cv_fc_check_bounds=$ac_flag; break])])])])
done
-rm -f conftest$ac_exeext conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f conftest$ac_exeext conftest.err conftest.$ac_objext conftest.$ac_ext \
+ core *.core core.conftest.*
FCFLAGS=$ac_fc_check_bounds_FCFLAGS_save
])
if test "x$ac_cv_fc_check_bounds" = xunknown; then
--- a/lib/m4sugar/m4sh.m4
+++ b/lib/m4sugar/m4sh.m4
@@ -1199,6 +1199,10 @@ dnl Eggert wrote the scripts with optimization help from Paolo Bonzini).
chmod +x "$as_me.lineno"] ||
AS_ERROR([cannot create $as_me.lineno; rerun with a POSIX shell])
+ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+ # already done that, so ensure we don't try to do so again and fall
+ # in an infinite loop. This has already happened in practice.
+ _as_can_reexec=no; export _as_can_reexec
# Don't try to exec as it changes $[0], causing all sort of problems
# (the dirname of $[0] is not the place where we might find the
# original and so on. Autoconf is especially sensitive to this).
--- a/tests/m4sh.at
+++ b/tests/m4sh.at
@@ -49,6 +49,10 @@ echo foo > sentinel
]])
AT_CHECK_M4SH
+# Calling the script simply 'script' could cause problems with
+# Solaris /usr/xpg4/bin/sh in the invocation 'sh script' below.
+mv -f script script2
+
AT_DATA([fake-shell],
[[#!/bin/sh
echo 'Fake shell executed.'
@@ -61,7 +65,7 @@ done
]])
chmod a+x fake-shell
-AT_CHECK([CONFIG_SHELL=./fake-shell ./script 1 2 4 8], [0],
+AT_CHECK([CONFIG_SHELL=./fake-shell ./script2 1 2 4 8], [0],
[Fake shell executed.
nargs = 4
:1:
@@ -73,7 +77,7 @@ AT_CHECK([test ! -f sentinel], [0])
test ! -f sentinel || rm -f sentinel # Cleanup for next test.
AT_CHECK(
-[CONFIG_SHELL=`pwd`/fake-shell sh script a 'b c' ' d e '],
+[CONFIG_SHELL=`pwd`/fake-shell sh script2 a 'b c' ' d e '],
[0],
[Fake shell executed.
nargs = 3
@@ -85,7 +89,7 @@ AT_CHECK([test ! -f sentinel], [0])
test ! -f sentinel || rm -f sentinel # Cleanup for next test.
AT_CHECK([(PATH=`pwd`:$PATH; export PATH;
-CONFIG_SHELL=fake-shell script '' '&' '!;*' '<($[]@%:@)>,' 'x
+CONFIG_SHELL=fake-shell script2 '' '&' '!;*' '<($[]@%:@)>,' 'x
y z
1 2 3')], [0],
[Fake shell executed.
@@ -120,7 +124,10 @@ exec sh "@S|@@"
chmod a+x cfg-sh
AT_CAPTURE_FILE([config.log])
-AT_CHECK([env CONFIG_SHELL=./cfg-sh ./configure], [0], [], [])
+# Export CONFIG_SITE to /dev/null to avoid spurious diffs in expected
+# stdout/stderr.
+AT_CHECK([env CONFIG_SITE=/dev/null CONFIG_SHELL=./cfg-sh ./configure],
+ [0], [], [])
# ./configure re-executed itself.
AT_CHECK([test -f cfg-sh-has-run], [0])
# And did that not to cause extra execution of later commands.
@@ -569,7 +576,7 @@ else
echo 1
fi
cat > foo.sh <<\EOF || AS_EXIT([1])
-#/bin/sh
+#!/bin/sh
exit 0
EOF
# File systems like FAT tend to fake executable permissions on all files.
@@ -579,7 +586,7 @@ st1=$?
(./foo.sh) >/dev/null 2>&1
st2=$?
case $st1:$st2 in
- 1:126 | 0:0 ) echo 2 ;;
+ *[[1-9]]*:*[[1-9]]* | 0:0 ) echo 2 ;;
*) echo "fail ($st1:$st2)" ;;
esac
# Now things better be executable
@@ -1559,9 +1566,10 @@ A_B_C_P__
dnl Check that of the last 6 macros, only 2 needed command substitution.
dnl This test abuses our knowledge of m4sh internals a bit; oh well.
-AT_CHECK([sed -n '/start here/,$ {
+AT_CHECK([tab=' ' # a single ASCII tab character
+sed -n '/start here/,$ {
/`.*`/p
-}' script | wc -l], [], [[2
+}' script | wc -l | sed "s/[[ $tab]]//g" ], [], [[2
]])
AT_CLEANUP
--- a/tests/local.at
+++ b/tests/local.at
@@ -297,9 +297,10 @@ test -f state-ls.after \
# Compare variable space dumps.
if test -f state-env.before && test -f state-env.after; then
set +x
+ grep_failed=false
for act_file in state-env.before state-env.after
do
- $EGREP -v '^(m4_join([|],
+ ($EGREP -v '^(m4_join([|],
[a[cs]_.*],
[(exec_)?prefix|DEFS|CONFIG_STATUS],
[CC|CFLAGS|CPP|GCC|CXX|CXXFLAGS|CXXCPP|GXX|F77|FFLAGS|FLIBS|G77],
@@ -323,12 +324,19 @@ if test -f state-env.before && test -f state-env.after; then
[GREP|[EF]GREP|SED],
[[_@]|.[*#?$].],
[argv|ARGC|LINENO|OLDPWD|PIPESTATUS|RANDOM|SECONDS]))=' \
- $act_file 2>/dev/null |
+ $act_file ||
+ test $? -eq 1 || echo failed >&2
+ ) 2>stderr-$act_file |
# There may be variables spread on several lines; remove latter lines.
- $GREP '^m4_defn([m4_re_word])=' >clean-$act_file
+ $GREP '^m4_defn([m4_re_word])=' >clean-$act_file ||
+ test $? -eq 1 || grep_failed=:
+ if test -s stderr-$act_file; then
+ cat stderr-$act_file >&2
+ grep_failed=:
+ fi
done
$at_traceon
- $at_diff clean-state-env.before clean-state-env.after
+ $grep_failed || $at_diff clean-state-env.before clean-state-env.after
fi
} [#]at_check_env])
--- a/tests/local.at
+++ b/tests/local.at
@@ -47,10 +47,11 @@ AT_CHECK([$at_diff "$1" "$2"])
# AT_CHECK_SHELL_SYNTAX(PROGRAM)
# ------------------------------
# If the shell handles `-n' well, use it to check the syntax of PROGRAM;
-# otherwise, do nothing.
+# otherwise, do nothing. ksh93 -n also spits outs loads of warnings
+# about older constructs, but we don't care about the warnings.
m4_define([AT_CHECK_SHELL_SYNTAX],
[AT_SKIP_IF([test "$ac_cv_sh_n_works" != yes])
-AT_CHECK([/bin/sh -n $1])])
+AT_CHECK([/bin/sh -n $1], [], [], [ignore])])
m4_define([AT_CHECK_PERL_SYNTAX],
[AT_CHECK([autom4te_perllibdir=$abs_top_srcdir/lib $PERL -c "$abs_top_builddir"/bin/$1],
--- a/tests/local.at 2012-03-07 17:15:27.000000000 -0800
+++ b/tests/local.at 2012-03-07 17:18:39.000000000 -0800
@@ -331,10 +331,7 @@
# There may be variables spread on several lines; remove latter lines.
$GREP '^m4_defn([m4_re_word])=' >clean-$act_file ||
test $? -eq 1 || grep_failed=:
- if test -s stderr-$act_file; then
- cat stderr-$act_file >&2
- grep_failed=:
- fi
+ test -s stderr-$act_file && grep_failed=:
done
$at_traceon
$grep_failed || $at_diff clean-state-env.before clean-state-env.after