autoconf-patches
[Top][All Lists]
Advanced

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

Re: AC_INIT regression


From: Eric Blake
Subject: Re: AC_INIT regression
Date: Mon, 19 Jul 2010 16:16:22 -0600
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.10) Gecko/20100621 Fedora/3.0.5-1.fc13 Lightning/1.0b2pre Mnenhy/0.8.3 Thunderbird/3.0.5

On 07/11/2010 12:51 AM, Ralf Wildenhues wrote:
> I have a patch below that turns Eric's diff into a patch for PACKAGE and
> VERSION.  It really makes me cringe though: we ourselves break the
> promise not to use PACKAGE and VERSION (nor BUG-REPORT btw.) outside of
> here-douments:
>   ./configure --help=short
>   ./configure --help=recursive
> 
> and running
>   ./config.status
> 
> extends config.log with a version of PACKAGE_STRING that was set to a
> double-quoted string after going through a quoted here-document.  So at
> least double quotes in these strings are a deal-breaker here.

For that matter, we AC_DEFINE_UNQUOTED([PACKAGE_NAME],
["$PACKAGE_NAME"], [...]), so users _can't_ have been using
double-quotes in a package name or version in the first place.  We're
back to things like (), +, and spaces being useful in version strings
(and as far as I can see, spaces are still allowed by 2.66).

At this point, I'm thinking of using AS_LITERAL_HEREDOC_IF plus one
additional check for "; all other uses of AC_PACKAGE_STRING and friends
appeared to be inside "", so it's just a documentation matter to mention
that these strings should be double-quoted for project-generic code
(such as automake), but an individual project that follows stricter
rules (such as coreutils version string always being a single shell
word) can get by with referencing AC_PACKAGE_VERSION outside double quotes.

Updated patch coming shortly...

> Question is: Eric, do you really want to have different standards for
> the first three arguments for AC_INIT, and do you want to limit all
> future Autoconf versions to allowing to use PACKAGE and VERSION only in
> here-documents?

As long as AC_PACKAGE_* are in double-quotes throughout autoconf (which
they are, by my quick audit of lib/autoconf/{general,status}.m4), then "
is the only problem, but it was already a problem, so rejecting it up
front seems reasonable to me, at which point, users need not be
restricted to just here-docs.

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

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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