bug-autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Fwd: Re: zsh compilation problem with autoconf git


From: Ismail Dönmez
Subject: Fwd: Re: zsh compilation problem with autoconf git
Date: Wed, 30 Jan 2008 00:03:33 +0200
User-agent: KMail/1.9.8

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 'address@hidden@%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 --- Subject: Re: zsh compilation problem with autoconf git Date: Tue, 29 Jan 2008 22:58:41 +0100 User-agent: Mutt/1.5.13 (2006-08-11)
* 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 'address@hidden@%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 'address@hidden@%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 ---

reply via email to

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