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 toto=@abs_builddir@, 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 : autoconf-bounces+cedric.gava=alyotech.fr@xxxxxxx [mailto:autoconf-bounces+cedric.gava=alyotech.fr@xxxxxxx] De la part de autoconf-request@xxxxxxx Envoyé : lundi 1 août 2011 18:01 À : autoconf@xxxxxxx Objet : Autoconf Digest, Vol 88, Issue 1 Send Autoconf mailing list submissions to autoconf@xxxxxxx 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 autoconf-request@xxxxxxx You can reach the person managing the list at autoconf-owner@xxxxxxx 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 <julien@xxxxxxxxxxxxxxx> To: autoconf@xxxxxxx Subject: Use of double parentheses Message-ID: <4E3546DF.8050207@xxxxxxxxxxxxxxx> 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 <braden@xxxxxxxxxxxxx> To: autoconf@xxxxxxx Subject: Re: How to enable/disable my debug code? Message-ID: <1312176113.2762.325.camel@xxxxxxxxxxxxxxxxxx> 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 <narkewoody@xxxxxxxxx> wrote: > >>> On 27 July 2011 14:36, Gary V. Vaughan <gary@xxxxxxxxxx> 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 <braden@xxxxxxxxxxxxx> ------------------------------ Message: 3 Date: Mon, 01 Aug 2011 08:17:41 +0200 From: Peter Rosin <peda@xxxxxxxxxxxxxx> To: autoconf@xxxxxxx Subject: Re: How to enable/disable my debug code? Message-ID: <4E364505.2020705@xxxxxxxxxxxxxx> 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 <gary@xxxxxxx> 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 <eblake@xxxxxxxxxx> To: Julien ?LIE <julien@xxxxxxxxxxxxxxx> Cc: autoconf@xxxxxxx Subject: Re: Use of double parentheses Message-ID: <4E369AC3.9090303@xxxxxxxxxx> 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 eblake@xxxxxxxxxx +1-801-349-2682 Libvirt virtualization library http://libvirt.org ------------------------------ Message: 5 Date: Mon, 01 Aug 2011 08:13:54 -0700 From: Paul Eggert <eggert@xxxxxxxxxxx> To: Eric Blake <eblake@xxxxxxxxxx> Cc: Julien ?LIE <julien@xxxxxxxxxxxxxxx>, autoconf@xxxxxxx Subject: Re: Use of double parentheses Message-ID: <4E36C2B2.5080809@xxxxxxxxxxx> 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 <eblake@xxxxxxxxxx> To: Paul Eggert <eggert@xxxxxxxxxxx> Cc: Julien ?LIE <julien@xxxxxxxxxxxxxxx>, autoconf@xxxxxxx Subject: Re: Use of double parentheses Message-ID: <4E36C471.4030502@xxxxxxxxxx> 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 eblake@xxxxxxxxxx +1-801-349-2682 Libvirt virtualization library http://libvirt.org ------------------------------ Message: 7 Date: Mon, 01 Aug 2011 08:51:50 -0700 From: Paul Eggert <eggert@xxxxxxxxxxx> To: Eric Blake <eblake@xxxxxxxxxx> Cc: Julien ?LIE <julien@xxxxxxxxxxxxxxx>, autoconf@xxxxxxx Subject: Re: Use of double parentheses Message-ID: <4E36CB96.9010805@xxxxxxxxxxx> 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 Autoconf@xxxxxxx https://lists.gnu.org/mailman/listinfo/autoconf End of Autoconf Digest, Vol 88, Issue 1 *************************************** _______________________________________________ Autoconf mailing list Autoconf@xxxxxxx https://lists.gnu.org/mailman/listinfo/autoconf