Hi Ralf, I am forwarding your message to zsh-workers list. To summarise the issue zsh modules are not compiled with upcoming autoconf 2.62 and Ralf successfully identified that zsh/Src/mkmakemod.sh does some unportable stuff :
# check 2.13, 2.50, and 2.60 syntaxes if grep '[EMAIL PROTECTED]@%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 So the question is, is this thing needed at all, if yes why? -- Never learn by your mistakes, if you do you may never dare to try again.
--- 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 '[EMAIL PROTECTED]@%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 '[EMAIL PROTECTED]@%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 ---
