[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: regression in autoconf 2.65 ?
From: |
Eric Blake |
Subject: |
Re: regression in autoconf 2.65 ? |
Date: |
Sat, 28 Nov 2009 06:02:36 -0700 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.23) Gecko/20090812 Thunderbird/2.0.0.23 Mnenhy/0.7.6.666 |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
According to Vincent Torri on 11/27/2009 3:26 PM:
> AC_DEFUN([EVAS_CHECK_IMAGE_LOADER],
> [
>
> m4_pushdef([UP], m4_toupper([[$1]]))
> m4_pushdef([DOWN], m4_tolower([[$1]]))
See my other mail - the quoting of m4_toupper changed, so losing the extra
layer of quotes will probably resolve this issue, too.
> AC_MSG_CHECKING([whether to enable $1 image loader])
> AC_MSG_RESULT([${want_loader}])
Stylistic point - it is simpler to use $want_loader rather than
${want_loader} in this case. And there are some places in autoconf code
where indirection requires the former instead of the latter (for example,
in config.log, autoconf decides whether to expand or escape $ sequences
when outputting a line about what is about to be executed); in those
cases, autoconf will expand $want_loader, but refuses to expand anything
containing "${" because it would be unsafe to attempt expansion of
${foo-`command`}.
> if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xstatic" -o
> "x${want_loader}" = "xauto"; then
Portability bug. Not all shells support test -o. And on those that do,
you risk failure if one of the strings being compared looks like an
operator recognized by test. The manual recommends that you write this as:
if test "x$want_loader" = xyes || test "x$want_loader" = xstatic \
|| test "x$want_loader" = xauto; then
> if test "x${have_dep}" = "xyes" ; then
> m4_default([$3], [:])
> else
> m4_default([$4], [:])
> fi
This could be written as AS_IF([test "x$have_dep" = xyes], [$3], [$4]) to
be more compact (and to avoid an unused branch of the if, when $4 is empty).
> Is it a problem in the m4 code (then older autoconf were less strict) ?
> Or is it a problem in the 2.65 version of autoconf ?
Rather, a documented change in semantics of m4_toupper in autoconf 2.65.
- --
Don't work too hard, make some time for fun as well!
Eric Blake address@hidden
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAksRH2wACgkQ84KuGfSFAYD+GwCfdZvQIa3YTu6fgKbdrnxl9PEg
E34AoKK7lIHH5jdQw2JZbgpM9RIV/v/A
=L0iH
-----END PGP SIGNATURE-----