autoconf
[Top][All Lists]
Advanced

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

Re: regression in autoconf 2.65 ?


From: Vincent Torri
Subject: Re: regression in autoconf 2.65 ?
Date: Sun, 29 Nov 2009 11:20:40 +0100 (CET)


Hey,

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.

it seems so, indeed.

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`}.

ok.

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:

i've indeed seen in bash doc such comment about -o and -a.

if test "x$want_loader" = xyes || test "x$want_loader" = xstatic \
 || test "x$want_loader" = xauto; then

ok

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).

ok, someone suggested me to use m4_default (maye it's you, btw :) I can't remember)

thank you !

Vincent Torri




reply via email to

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