Hello,
There is something different between 2.59 and 2.61 versions,
which does not allow to AC_DEFINE variable with parenthesis
in the same way as in 2.59.
Environment: FreeBSD, perl-5.8.8, m4-1.4.8, autoconf-2.61.
configure.ac:
AC_INIT([TEST], [1], [somebody])
AC_DEFINE([ABC], [something])
AC_DEFINE([DEF(x)], [somevalue])
AC_CONFIG_HEADERS([config.h])
AC_OUTPUT
config.h.in:
#ifndef lint
# undef ABC
# undef DEF
#else
# define ABC
# define DEF(x)
#endif /* !lint */
Now let's test this with autoconf-2.59:
/* config.h. Generated by configure. */
#ifndef lint
# define ABC something
# define DEF(x) somevalue
#else
# define ABC
# define DEF(x)
#endif /* !lint */
The same, but with autoconf-2.61:
/* config.h. Generated from config.h.in by configure. */
#ifndef lint
# define ABC something
# define DEF(x) somevalue
#else
# define ABC
# define DEF(x) somevalue
#endif /* !lint */
Now, if I change config.in.h:
#ifndef lint
# undef ABC
# undef DEF
#else
# define ABC
# define \
DEF(x)
#endif /* !lint */
And test this with autoconf-2.61, then everything work as expected:
/* config.h. Generated from config.h.in by configure. */
#ifndef lint
# define ABC something
# define DEF(x) somevalue
#else
# define ABC
# define \
DEF(x)
#endif /* !lint */
Why DEF is defined two times in config.h and why ABC is not defined
two times? Why this did not happen with autoconf-2.59? What is the
correct way to solve this problem?
Thanks.