autoconf
[Top][All Lists]
Advanced

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

regression in autoconf 2.65 ?


From: Vincent Torri
Subject: regression in autoconf 2.65 ?
Date: Fri, 27 Nov 2009 23:26:44 +0100 (CET)


Hey,

one of our configure script fails with autoconf 2.65 while it does not with previous versions. The error is:

./configure: line 24198: syntax error near unexpected token `edb,'
./configure: line 24198: `   EVAS_CHECK_LOADER_DEP_EDB(edb, ${want_loader}, 
have_loader="yes", have_loader="no")'

The macro EVAS_CHECK_LOADER_DEP_EDB() is called indirectly. In configure.ac :

EVAS_CHECK_IMAGE_LOADER([Edb], [${want_evas_image_loader_edb}])

The EVAS_CHECK_IMAGE_LOADER() macro is defined in an m4 file:

[code]

dnl use: EVAS_CHECK_IMAGE_LOADER(loader, want_loader)

AC_DEFUN([EVAS_CHECK_IMAGE_LOADER],
[

m4_pushdef([UP], m4_toupper([[$1]]))
m4_pushdef([DOWN], m4_tolower([[$1]]))

want_loader="$2"
want_static_loader="no"
have_loader="no"
have_evas_image_loader_[]DOWN="no"

AC_ARG_ENABLE([image-loader-[]DOWN],
   [AC_HELP_STRING([--enable-image-loader-[]DOWN], [enable $1 image loader])],
   [
    if test "x${enableval}" = "xyes" ; then
       want_loader="yes"
    else
       if test "x${enableval}" = "xstatic" ; then
          want_loader="static"
       else
          want_loader="no"
       fi
    fi
   ]
)

AC_MSG_CHECKING([whether to enable $1 image loader])
AC_MSG_RESULT([${want_loader}])

if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xstatic" -o "x${want_loader}" 
= "xauto"; then
   m4_default([EVAS_CHECK_LOADER_DEP_]m4_defn([UP]))(DOWN, ${want_loader}, 
[have_loader="yes"], [have_loader="no"])
fi

if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = 
"xyes" ; then
   AC_MSG_ERROR([$1 dependencies not found (strict dependencies checking)])
fi

AC_MSG_CHECKING([whether $1 image loader will be built])
AC_MSG_RESULT([${have_loader}])

if test "x${have_loader}" = "xyes" ; then
   if test "x${want_loader}" = "xstatic" ; then
      have_evas_image_loader_[]DOWN="static"
      want_static_loader="yes"
   else
      have_evas_image_loader_[]DOWN="yes"
   fi
fi

if test "x${have_loader}" = "xyes" ; then
   AC_DEFINE(BUILD_LOADER_[]UP, [1], [UP Image Loader Support])
fi

AM_CONDITIONAL(BUILD_LOADER_[]UP, [test "x${have_loader}" = "xyes"])

if test "x${want_static_loader}" = "xyes" ; then
   AC_DEFINE(EVAS_STATIC_BUILD_[]UP, [1], [Build $1 image loader inside 
libevas])
   have_static_module="yes"
fi

AM_CONDITIONAL(EVAS_STATIC_BUILD_[]UP, [test "x${want_static_loader}" = "xyes"])

m4_popdef([UP])
m4_popdef([DOWN])

])

[/code]

Tha macro calls EVAS_CHECK_LOADER_DEP_EDB() which is defined in the same m4 file:

[code]

dnl use: EVAS_CHECK_LOADER_DEP_EDB(loader, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])

AC_DEFUN([EVAS_CHECK_LOADER_DEP_EDB],
[

requirement=""
have_dep="no"
evas_image_loader_[]$1[]_cflags=""
evas_image_loader_[]$1[]_libs=""

PKG_CHECK_MODULES([EDB], [edb], [have_dep="yes" requirement="edb"], [have_dep="no"])
evas_image_loader_[]$1[]_cflags="${EDB_CFLAGS}"
evas_image_loader_[]$1[]_libs="${EDB_LIBS}"

AC_SUBST([evas_image_loader_$1_cflags])
AC_SUBST([evas_image_loader_$1_libs])

if test "x$2" = "xstatic" ; then
   requirement_evas="${requirement} ${requirement_evas}"
fi

if test "x${have_dep}" = "xyes" ; then
  m4_default([$3], [:])
else
  m4_default([$4], [:])
fi

])

[/code]

So I don't understand why the expansion is not done.

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 ?

thank you

Vincent Torri




reply via email to

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