Red Hat Bugzilla – Bug 222617
util.h contains bad HAVE_CONFIG_H conditional
Last modified: 2007-11-30 17:11:53 EST
Audacious' API does this in its "util.h":
# include "config.h"
This is a bad assumption. First of all, you don't include a "config.h" header in
your API headers,
In file included from configure.c:2:
/usr/include/audacious/util.h:26:22: error: config.h: No such file or directory
and secondly, with GNU Automake, it is possible to redefine the config
autoheader like this:
Still HAVE_CONFIG_H will be set, but since the autoheaders file is not named
"config.h", your API headers fail.
The fix is simple. Never expose autoheaders to your API.
The clean solution for this would be to create util.h from util.h.in with the
correct definition for bmp_menu_translate, I think.
This is way beyond my non-existing autofoo-skills, though.
Created attachment 145577 [details]
patch against audacious 1.2.2
I'm not sure this is right. config.h defines ENABLE_NLS, which is used later in
(Of course, given that there most likely is no config.h file at compile time
against this header (when not building audacious itself) anyway your patch does
not change the current behaviour.)
config.h is included in every file before util.h is included
That ENABLE_NLS is undefined, but alters the API, is even worse
Fixed in the 1.3.x releases.