[Top][All Lists]
[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
signature.asc
Description: OpenPGP digital signature
- Re: AC_INIT regression [was: AC_CHECK_SIZEOF([int *]) is error in autoconf-2.66], (continued)
- Re: AC_INIT regression [was: AC_CHECK_SIZEOF([int *]) is error in autoconf-2.66], Paolo Bonzini, 2010/07/10
- Re: AC_INIT regression, Ralf Wildenhues, 2010/07/11
- Re: AC_INIT regression, Paolo Bonzini, 2010/07/11
- Re: AC_INIT regression, Paul Eggert, 2010/07/12
- Re: AC_INIT regression, Ralf Wildenhues, 2010/07/13
- Re: AC_INIT regression, Ralf Wildenhues, 2010/07/15
- autoreconf -W [was: AC_INIT regression], Eric Blake, 2010/07/19
- [PATCH] Let autoreconf pass warning flags to new-enough aclocal., Ralf Wildenhues, 2010/07/20
- [PATCH] Let autoreconf pass warning flags to new-enough aclocal., Ralf Wildenhues, 2010/07/20
- Re: [PATCH] Let autoreconf pass warning flags to new-enough aclocal., Eric Blake, 2010/07/20
- Re: AC_INIT regression,
Eric Blake <=
- Re: AC_INIT regression, Eric Blake, 2010/07/19
- [PATCH] Fix up AC_INIT vs. " issues, and document it., Eric Blake, 2010/07/19
- Re: AC_INIT regression, Paolo Bonzini, 2010/07/20
- Re: AC_INIT regression, Eric Blake, 2010/07/20
- Re: AC_INIT regression, Eric Blake, 2010/07/20
- Re: AC_INIT regression, Eric Blake, 2010/07/20
- [PATCH] Also reject ' from AC_INIT strings., Eric Blake, 2010/07/20