Merged in default (pull request #450)

Fri, 28 Dec 2018 23:07:06 +0000

author
Gary Kramlich <grim@reaperworld.com>
date
Fri, 28 Dec 2018 23:07:06 +0000
changeset 39402
341d90fb856e
parent 39398
cd3813244ab8 (current diff)
parent 39401
80193d055f1c (diff)
child 39406
83227c38f6f4

Merged in default (pull request #450)

Install libpurple headers to more standard location and generate purple.h from meson list

Approved-by: Elliott Sales de Andrade
Approved-by: Gary Kramlich

libpurple/meson.build file | annotate | diff | comparison | revisions
--- a/libpurple/meson.build	Sun Dec 16 06:28:08 2018 +0000
+++ b/libpurple/meson.build	Fri Dec 28 23:07:06 2018 +0000
@@ -158,6 +158,9 @@
 	'xmlnode.h',
 ]
 
+purple_filebase = 'purple-@0@'.format(purple_major_version)
+purple_include_base = join_paths(purple_filebase, 'libpurple')
+
 if enable_gst
 	purple_coresources += 'media/backend-fs2.c'
 endif
@@ -217,20 +220,28 @@
     h_template : 'enums.h.in',
     c_template : 'enums.c.in',
     install_header : true,
-    install_dir : get_option('includedir') + '/libpurple')
+    install_dir : join_paths(get_option('includedir'), purple_include_base))
 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,
                           install : true,
-                          install_dir : get_option('includedir') + '/libpurple')
+                          install_dir : join_paths(get_option('includedir'),
+                                                   purple_filebase))
 version_h = configure_file(input : 'version.h.in',
                            output : 'version.h',
                            configuration : version_conf,
                            install : true,
-                           install_dir : get_option('includedir') + '/libpurple')
+                           install_dir : join_paths(get_option('includedir'),
+                                                    purple_include_base))
 
 purple_builtsources = [
 	enums_c,
@@ -262,20 +273,21 @@
     dependencies : [gstreamer, gplugin, glib, gio])
 
 install_headers(purple_coreheaders,
-                subdir : 'libpurple')
+                subdir : purple_include_base)
 
 install_headers(purple_mediaheaders,
-                subdir : 'libpurple/media')
+                subdir : join_paths(purple_include_base, 'media'))
 
 pkgconfig.generate(
     name : 'libpurple',
     description : 'libpurple is a GLib-based instant messenger library.',
     version : purple_display_version,
-    filebase : 'purple-3',
-    subdirs : 'libpurple',
+    filebase : purple_filebase,
+# TODO: Only use purple_filebase once everything is ported to only use purple.h
+    subdirs : [purple_filebase, purple_include_base],
     libraries : [libpurple],
     requires : ['glib-2.0'] + GPLUGIN_REQ,
-    variables : ['plugindir=${libdir}/purple-@0@'.format(purple_major_version)])
+    variables : ['plugindir=${libdir}/@0@'.format(purple_filebase)])
 
 if enable_introspection
 	introspection_sources = (purple_coreheaders + purple_builtheaders +
@@ -295,7 +307,7 @@
 	    namespace : 'Purple',
 	    symbol_prefix : 'purple',
 	    identifier_prefix : 'Purple',
-	    export_packages : 'purple-@0@'.format(purple_major_version),
+	    export_packages : purple_filebase,
 	    nsversion : '@0@.@1@'.format(purple_major_version,
 	                                 purple_minor_version),
 	    include_directories : [
--- a/libpurple/purple.h.in	Sun Dec 16 06:28:08 2018 +0000
+++ b/libpurple/purple.h.in	Fri Dec 28 23:07:06 2018 +0000
@@ -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

mercurial