autoconf
[Top][All Lists]
Advanced

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

Why $abs_buildir or $buildir is empty


From: GAVA Cédric
Subject: Why $abs_buildir or $buildir is empty
Date: Tue, 2 Aug 2011 15:52:18 +0200

Dear autoconfers..

I try to do the following in my configure.ac :

AC_SUBST([test_xidml_url_file_1],$abs_builddir/test/run-time/xx.xidml)
I get only /test/run-time/xx.xidml in my var after substitution..

I've put some debug echo in my configure :
        echo abs_builddir=$abs_builddir
I get   abs_builddir=

In another .in file, I used address@hidden@, and It worked, toto was not empty

What do I miss ?
Can somebody explain me why these variables are not set ?

Thank you
Best regards



Cédric Gava
Ingénieur d'Etude
testabilité & modélisation des systèmes embarqués
___________________________________________

 
    
 
ALYOTECH TECHNOLOGIES - société du groupe ALYOTECH FRANCE
ZAC des Ramassiers
Bâtiment Omega
22, bd Déodat de Séverac
F-31770 Colomiers

Tél: +33 (0)5 62 16 79 93
Fax: +33 (0)5 62 16 79 60
www.alyotech.fr

  N'imprimez ce mail que si c'est vraiment nécessaire.
This message and any attachments are confidential. If you are not the intended 
recipient or his authorized agent, please be advised that copying, distributing 
or revealing the contents of this message is expressly prohibited. 
If you are not the intended recipient, kindly notify the sender immediately by 
return e-mail, and delete this message from your system


-----Message d'origine-----
De : address@hidden [mailto:address@hidden De la part de address@hidden
Envoyé : lundi 1 août 2011 18:01
À : address@hidden
Objet : Autoconf Digest, Vol 88, Issue 1

Send Autoconf mailing list submissions to
        address@hidden

To subscribe or unsubscribe via the World Wide Web, visit
        https://lists.gnu.org/mailman/listinfo/autoconf
or, via email, send a message with subject or body 'help' to
        address@hidden

You can reach the person managing the list at
        address@hidden

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Autoconf digest..."


Today's Topics:

   1. Use of double parentheses (Julien ?LIE)
   2. Re: How to enable/disable my debug code? (Braden McDaniel)
   3. Re: How to enable/disable my debug code? (Peter Rosin)
   4. Re: Use of double parentheses (Eric Blake)
   5. Re: Use of double parentheses (Paul Eggert)
   6. Re: Use of double parentheses (Eric Blake)
   7. Re: Use of double parentheses (Paul Eggert)


----------------------------------------------------------------------

Message: 1
Date: Sun, 31 Jul 2011 14:13:19 +0200
From: Julien ?LIE <address@hidden>
To: address@hidden
Subject: Use of double parentheses
Message-ID: <address@hidden>
Content-Type: text/plain; charset=ISO-8859-1

Hi all,

Reading a generated "configure" file, I see:

# Unset variables that we do not need and which cause bugs (e.g. in
# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
# suppresses any "Segmentation fault" message there.  '((' could
# trigger a bug in pdksh 5.2.14.
for as_var in BASH_ENV ENV MAIL MAILPATH
do eval test x\${$as_var+set} = xset \
  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
done


Wouldn't it mean that all '((' present in the "configure" script, and
related to shell commands, should be rewritten to '( ('?

-- 
Julien ?LIE

? Un ami fid?le qui parle tr?s bien votre langue et toutes les
  langues vivantes : le latin, le grec, le celte, etc. ? (Ast?rix)



------------------------------

Message: 2
Date: Mon, 01 Aug 2011 01:21:52 -0400
From: Braden McDaniel <address@hidden>
To: address@hidden
Subject: Re: How to enable/disable my debug code?
Message-ID: <address@hidden>
Content-Type: text/plain; charset="UTF-8"

On Sat, 2011-07-30 at 15:04 -0400, NightStrike wrote: 
> On Wed, Jul 27, 2011 at 10:22 PM, narke <address@hidden> wrote:
> >>> On 27 July 2011 14:36, Gary V. Vaughan <address@hidden> wrote:
> >> because those are in the users' namespace.  Instead, Makefile.am should
> >> be setting required (but not compiler specific!!) options inside
> >> AM_CPPFLAGS/AM_CFLAGS/AM_LDFLAGS/etc.  The info manuals will help you
> 
> How can you have compiler-generic options?  It's not like POSIX says
> that -O2 is for optimization, -g is for debug, and -D is for a
> commandline define.

It's exactly like that:

        http://pubs.opengroup.org/onlinepubs/9699919799/utilities/c99.html

> Consider, though, using cl.exe in an msys environment.  That uses /
> instead of - for switches, for instance.

cl.exe can use '/' and '-' interchangeably. (This, of course, doesn't
fix all of your POSIX interoperability problems; but it helps.)

-- 
Braden McDaniel <address@hidden>




------------------------------

Message: 3
Date: Mon, 01 Aug 2011 08:17:41 +0200
From: Peter Rosin <address@hidden>
To: address@hidden
Subject: Re: How to enable/disable my debug code?
Message-ID: <address@hidden>
Content-Type: text/plain; charset=ISO-8859-1

Den 2011-07-31 01:57 skrev NightStrike:
> On Sat, Jul 30, 2011 at 3:26 PM, Gary V. Vaughan <address@hidden> wrote:
>> On 31 Jul 2011, at 02:04, NightStrike wrote:

*snip*

>>> Consider, though, using cl.exe in an msys environment.  That uses /
>>> instead of - for switches, for instance.
>>
>>
>> I would be quite surprised if more that a very few Autotools using
>> projects compiled in that environment out of the box.
> 
> I'm trying to make that work, actually.  It's very hard.

I have added some things to Automake that should help. The Automake
'compile' script implements the -o, -L, -l and -wl, options for cl, and
can be triggered with either AM_PROG_CC_C_O or explicitly with
CC="/path/to/compile cl".  You'll need to do the latter until the
new version of the 'compile' script is released from git-Automake...

With that help from 'compile', the CLI of cl is actually not tripping
up on most of the common stuff from c99 posix utility.  The actual
code is another matter entirely, of course.

Cheers,
Peter



------------------------------

Message: 4
Date: Mon, 01 Aug 2011 06:23:31 -0600
From: Eric Blake <address@hidden>
To: Julien ?LIE <address@hidden>
Cc: address@hidden
Subject: Re: Use of double parentheses
Message-ID: <address@hidden>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed

On 07/31/2011 06:13 AM, Julien ?LIE wrote:
> Hi all,
>
> Reading a generated "configure" file, I see:
>
> # Unset variables that we do not need and which cause bugs (e.g. in
> # pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
> # suppresses any "Segmentation fault" message there.  '((' could
> # trigger a bug in pdksh 5.2.14.
> for as_var in BASH_ENV ENV MAIL MAILPATH
> do eval test x\${$as_var+set} = xset \
>    &&  ( (unset $as_var) || exit 1)>/dev/null 2>&1&&  unset $as_var || :
> done
>
>
> Wouldn't it mean that all '((' present in the "configure" script, and
> related to shell commands, should be rewritten to '( ('?

It's not a bug in pdksh - POSIX was recently reworded to allow (( to 
introduce arithmetic parsing on any shell that wants to provide it as an 
extension.  So yes, all instances of needing a double sub-shell MUST 
separate the two ( to comply with POSIX.

But unless you can point out any other instances of a double sub-shell 
in configure, I think we're okay on not tripping over this issue any 
where else.

-- 
Eric Blake   address@hidden    +1-801-349-2682
Libvirt virtualization library http://libvirt.org



------------------------------

Message: 5
Date: Mon, 01 Aug 2011 08:13:54 -0700
From: Paul Eggert <address@hidden>
To: Eric Blake <address@hidden>
Cc: Julien ?LIE <address@hidden>, address@hidden
Subject: Re: Use of double parentheses
Message-ID: <address@hidden>
Content-Type: text/plain; charset=UTF-8

On 08/01/11 05:23, Eric Blake wrote:
>>    &&  ( (unset $as_var) || exit 1)>/dev/null 2>&1&&  unset $as_var || :
>> done
>>
>>
>> Wouldn't it mean that all '((' present in the "configure" script, and
>> related to shell commands, should be rewritten to '( ('?
> 
> It's not a bug in pdksh - POSIX was recently reworded to allow (( to
> introduce arithmetic parsing on any shell that wants to provide it as an 
> extension.

I just now looked at POSIX.1-2008, and can't see where it says that.

First, only '$((' is special; '((' without a preceding '$' is not special
<http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06_03>.
So if pdksh 5.2.4 mishandles the above, then it does appear to be a bug.

Second, arithmetic parsing is required now; it's not optional
<http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06_04>.



------------------------------

Message: 6
Date: Mon, 01 Aug 2011 09:21:21 -0600
From: Eric Blake <address@hidden>
To: Paul Eggert <address@hidden>
Cc: Julien ?LIE <address@hidden>, address@hidden
Subject: Re: Use of double parentheses
Message-ID: <address@hidden>
Content-Type: text/plain; charset=UTF-8

On 08/01/2011 09:13 AM, Paul Eggert wrote:
> On 08/01/11 05:23, Eric Blake wrote:
>>>    &&  ( (unset $as_var) || exit 1)>/dev/null 2>&1&&  unset $as_var || :
>>> done
>>>
>>>
>>> Wouldn't it mean that all '((' present in the "configure" script, and
>>> related to shell commands, should be rewritten to '( ('?
>>
>> It's not a bug in pdksh - POSIX was recently reworded to allow (( to
>> introduce arithmetic parsing on any shell that wants to provide it as an 
>> extension.
> 
> I just now looked at POSIX.1-2008, and can't see where it says that.

You didn't look at the open bug reports:

http://austingroupbugs.net/view.php?id=217

> 
> First, only '$((' is special; '((' without a preceding '$' is not special
> <http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06_03>.
> So if pdksh 5.2.4 mishandles the above, then it does appear to be a bug.

(( without preceding '$' is now allowed, but not required, to be
special.  Portable programs must not use ((:

    If a character sequence beginning with (( and ending with )) would
    be syntactically valid as an arithmetic expansion if preceded by
    a '$', shells which implement an extension whereby ((expression))
    is evaluated as an arithmetic expression may treat the sequence
    as an arithmetic evaluation instead of a grouping command. A
    conforming application shall ensure that it separates the two
    leading '(' characters with white space if a grouping command
    beginning with '(' contains a compound-list beginning with '('
    and ending with ')', and the grouping command is syntactically
    valid as an arithmetic expression.

-- 
Eric Blake   address@hidden    +1-801-349-2682
Libvirt virtualization library http://libvirt.org



------------------------------

Message: 7
Date: Mon, 01 Aug 2011 08:51:50 -0700
From: Paul Eggert <address@hidden>
To: Eric Blake <address@hidden>
Cc: Julien ?LIE <address@hidden>, address@hidden
Subject: Re: Use of double parentheses
Message-ID: <address@hidden>
Content-Type: text/plain; charset=UTF-8

On 08/01/11 08:21, Eric Blake wrote:
>>>>    &&  ( (unset $as_var) || exit 1)>/dev/null 2>&1&&  unset $as_var || :
>>> ...
>>> It's not a bug in pdksh - POSIX was recently reworded to allow (( to
>>> introduce arithmetic parsing on any shell that wants to provide it as an 
>>> extension.

> http://austingroupbugs.net/view.php?id=217

Thanks for mentioning that; I didn't know it.  However,
from that URL it still appears that pdksh is buggy.
The new rule says that '((FOO))' is special if FOO
is a syntactically valid arithmetic expression.
But in the above example, the expression '((unset $asvar) ...)'
surely would not be syntactically valid to pdksh,
and therefore '((' should not be special there.



------------------------------

_______________________________________________
Autoconf mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/autoconf


End of Autoconf Digest, Vol 88, Issue 1
***************************************

reply via email to

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