Upstream http://bugs-meta.atheme.org/view.php?id=760 Audacious' API does this in its "util.h": #ifdef HAVE_CONFIG_H # include "config.h" #endif 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: AM_CONFIG_HEADER(somewhere/NewConfigName.h) 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 the file. (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 (audacious/util.c).
Fixed in the 1.3.x releases.