--- Begin Message ---
* Ismail Dönmez wrote on Tue, Jan 29, 2008 at 09:38:33PM CET:
>
> Sure, just grab zsh.git and create two copies of it, and do
[...]
> now if you compare zsh & zsh2 you will see that zsh directory have bunch of
> shared objects in Src/Modules where as zsh2 have none.
Confirmed. But with Autoconf 2.59 vs mainline, not 2.61a.
zsh/Src/mkmakemod.sh does ugly and nonsupported things such as
grepping config.status for values:
# check 2.13, 2.50, and 2.60 syntaxes
if grep '%@D@%D%' config.status >/dev/null ||
grep ',@D@,D,' config.status >/dev/null ||
grep ',@D@,|#_!!_#|D,' config.status >/dev/null; then
is_dynamic=true
else
is_dynamic=false
fi
That looks dubious, and should be fixed. Further, I don't know why it
should be needed. When config.status' documented interfaces are used,
there is no need to grep it. grepping it is explicitly not supported.
Autoconf 2.62's config.status will internally work differently again as
2.61a (more efficiently), and we won't hesitate to change it in again in
every future version if changes help do things better in some way.
If zsh authors can explain why the above should be needed, we may be
able to see whether there is (or was) a bug in Autoconf to be worked
around, and then we can add that to the Autoconf test suite to ensure
that we don't regress.
I can get things to work fine with a hack as below.
Cheers,
Ralf
diff --git a/Src/mkmakemod.sh b/Src/mkmakemod.sh
index d275038..8e9cee5 100644
--- a/Src/mkmakemod.sh
+++ b/Src/mkmakemod.sh
@@ -114,7 +114,8 @@ if $first_stage; then
# check 2.13, 2.50, and 2.60 syntaxes
if grep '%@D@%D%' config.status >/dev/null ||
grep ',@D@,D,' config.status >/dev/null ||
- grep ',@D@,|#_!!_#|D,' config.status >/dev/null; then
+ grep ',@D@,|#_!!_#|D,' config.status >/dev/null ||
+ :; then
is_dynamic=true
else
is_dynamic=false
--- End Message ---