Mon, 10 Dec 2018 23:03:38 -0600
libpurple: Generate purple.h includes with meson headers list
This patch replaces purple.h's hardcoded list of includes with a list
generated from meson's list of headers. This way if any headers are
added or removed, the list will be updated automatically.
One notable difference is that this changes includes in purple.h from
'example.h' to 'libpurple/example.h'. This was done because some
plugins have headers which are named the same as libpurple/ headers,
which weren't previously included in 'purple.h'. Including them simply
as the base name caused the plugin local header to be included
instead and the build to fail. Adding the libpurple/ directory to
the include statement fixes this.
| libpurple/meson.build | file | annotate | diff | comparison | revisions | |
| libpurple/purple.h.in | file | annotate | diff | comparison | revisions |
--- a/libpurple/meson.build Tue Dec 11 00:22:00 2018 -0600 +++ b/libpurple/meson.build Mon Dec 10 23:03:38 2018 -0600 @@ -224,6 +224,12 @@ enums_c = enums[0] enums_h = enums[1] +PURPLE_H_INCLUDES = [] +foreach header : purple_coreheaders + purple_mediaheaders + ['version.h', 'enums.h'] + PURPLE_H_INCLUDES += '#include <libpurple/@0@>'.format(header) +endforeach +purple_h_conf.set('PURPLE_H_INCLUDES', '\n'.join(PURPLE_H_INCLUDES)) + purple_h = configure_file(input : 'purple.h.in', output : 'purple.h', configuration : purple_h_conf,
--- a/libpurple/purple.h.in Tue Dec 11 00:22:00 2018 -0600 +++ b/libpurple/purple.h.in Mon Dec 10 23:03:38 2018 -0600 @@ -49,54 +49,6 @@ @PLUGINS_DEFINE@ -#include <accounts.h> -#include <accountopt.h> -#include <buddylist.h> -#include <buddyicon.h> -#include <circularbuffer.h> -#include <cmds.h> -#include <connection.h> -#include <conversations.h> -#include <core.h> -#include <debug.h> -#include <enums.h> -#include <eventloop.h> -#include <idle.h> -#include <log.h> -#include <media.h> -#include <mediamanager.h> -#include <mime.h> -#include <nat-pmp.h> -#include <network.h> -#include <notify.h> -#include <plugins.h> -#include <pluginpref.h> -#include <pounce.h> -#include <prefs.h> -#include <presence.h> -#include <proxy.h> -#include <protocols.h> -#include <request.h> -#include <roomlist.h> -#include <savedstatuses.h> -#include <server.h> -#include <signals.h> -#include <smiley.h> -#include <sound.h> -#include <sound-theme.h> -#include <sound-theme-loader.h> -#include <sslconn.h> -#include <status.h> -#include <stringref.h> -#include <stun.h> -#include <theme.h> -#include <theme-loader.h> -#include <theme-manager.h> -#include <upnp.h> -#include <util.h> -#include <version.h> -#include <whiteboard.h> -#include <xfer.h> -#include <xmlnode.h> +@PURPLE_H_INCLUDES@ #endif