autoconf
[Top][All Lists]
Advanced

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

Re: autoreconf error: possibly undefine macro: AC_DEFINE


From: Stepan Kasal
Subject: Re: autoreconf error: possibly undefine macro: AC_DEFINE
Date: Fri, 26 Aug 2005 19:39:14 +0200
User-agent: Mutt/1.4.1i

Hello,

On Fri, Aug 26, 2005 at 01:37:56PM -0300, Carlos Eduardo Rodrigues Diogenes 
wrote:
> I'm sending you the entirely file atached. I put it in a clean an 
> separated directory and execute the lines that are equivalent to 
> autoreconf and get the same error.

well, first time I tried, I observed the same problem.
Then I upgraded pkg-config, to get new pkg.m4, which defines PKG_CHECK_EXISTS,
And the problem was solved.

The error message was misleading, sorry.

BTW: Carlos, when I told the AC_DEFINE parameter should be quoted, I meant
all the three instances, not only the first one.  ;-)

Here are technical details, of any of the Autoconf developers have any idea
how this should be fixed.  The problem was caused by this

PKG_CHECK_EXISTS(xinerama, [
        AC_DEFINE([USE_XINERAMA], 1,
                [Define to 1 to use XINERAMA in greeter & chooser])
        PKG_CHECK_MODULES(XINERAMA, xinerama)
])

Because PKG_CHECK_EXISTS was not defined, the expansion was:

PKG_CHECK_EXISTS(xinerama, 
        AC_DEFINE([USE_XINERAMA], 1,
                [Define to 1 to use XINERAMA in greeter & chooser])
        PKG_CHECK_MODULES(XINERAMA, xinerama)
)

... ie. almost the same, only two quotes removed.
And this was written to configure.  Autoconf saw three forbidden
tokens: PKG_CHECK_EXISTS AC_DEFINE PKG_CHECK_MODULES.

So it reported them as ``possibly undefined macros''.
For each of the symbols, autoconf found a line number (the first occurence)
and then sorted it according the line numbers:

configure.ac:39: error: possibly undefined macro: AC_DEFINE
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
configure.ac:150: error: possibly undefined macro: PKG_CHECK_EXISTS
configure.ac:153: error: possibly undefined macro: PKG_CHECK_MODULES

Line 39 is the first occurrence of AC_DEFINE, but that occurrence was
expanded.  And PKG_CHECK_MODULES was also defined, it was only overquoted
here.

Since the forbidden token can be caused by overquoting, Autoconf should
not report it this way.  I think it should report the symbols in the
order of appearance, at least.  The line numbers should perhaps be omitted,
they are not reliable.
And perhaps there is a way to find out whether this symbol is defined or
not; that would enable different messages for "undefined" and "overquoted".

Anyone willing to fix this?

Have a nice day,
        Stepan Kasal




reply via email to

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