libpurple/meson.build

Fri, 01 Apr 2022 01:14:35 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Fri, 01 Apr 2022 01:14:35 -0500
changeset 41319
04d027ed3d63
parent 41318
56092ffeae95
child 41349
15aeaa1e84ec
permissions
-rw-r--r--

Add gdk-pixbuf as a libpurple dependency and move helpers from pidgin to purple

Adding gdk-pixbuf as a dependency to libpurple is kind of questionable, but it's dependencies are really just libpng, libjpeg, and libtiff. In other words, nothing UI specific. Which means we can remove a bunch of API with this change which is awesome.

This is the first step in replacing `PurpleImage` with `GdkPixbuf`. Which will also eventually include `PurpleBuddyIcon` and remove the need for `PurpleBuddyIconSpec` as protocol plugins will just be able to scale and format images themselves.

* Move `pidgingdkpixbuf.[ch]` to `purplegdkpixbuf.[ch]`
* Renamed all function from `purplegdkpixbuf.[ch]` to be in the purple_gdk_pixbuf namespace
* Removed all unused function from `purplegdkpixbuf.[ch]`

I also did some research on how much disk space adding gdkpixbuf would add.

The base is a base debian container and this is against libpurple2 which is obviously going to be different. But the question was how much additional disk space will be used by adding gdkpixbuf.

```
base: 157680
bitlbee: 216452
bitlbee+gdkpixbuf: 222388
bitlbee-purple *: 363860
bitlbee-purple+gdkpixbuf *: 369796

* --no-install-recommends
```

We can see that for gdkpixbuf will about about 6MB of of disk usage which I would hope would be acceptable when libpurple adds 141MB by itself.

Testing Done:
Ran and verified that an animated buddy icon was still displayed properly in the infopane and the buddy list.

Reviewed at https://reviews.imfreedom.org/r/1224/

38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1 purple_coresources = [
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
2 'account.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
3 'accounts.c',
39487
f0e629b4c500 Address a number of issues with ownership and leaking
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
4 'action.c',
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
5 'blistnode.c',
38467
cdc07553316b Update libpurple files in meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
6 'buddy.c',
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
7 'buddylist.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
8 'buddyicon.c',
38467
cdc07553316b Update libpurple files in meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
9 'chat.c',
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
10 'circularbuffer.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
11 'cmds.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
12 'connection.c',
38467
cdc07553316b Update libpurple files in meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
13 'contact.c',
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
14 'conversations.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
15 'core.c',
38467
cdc07553316b Update libpurple files in meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
16 'countingnode.c',
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
17 'debug.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
18 'eventloop.c',
38467
cdc07553316b Update libpurple files in meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
19 'group.c',
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
20 'idle.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
21 'image.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
22 'image-store.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
23 'media/backend-iface.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
24 'media/candidate.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
25 'media/codec.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
26 'media/enum-types.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
27 'media.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
28 'mediamanager.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
29 'memorypool.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
30 'nat-pmp.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
31 'network.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
32 'notify.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
33 'plugins.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
34 'pluginpref.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
35 'prefs.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
36 'proxy.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
37 'protocols.c',
38467
cdc07553316b Update libpurple files in meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
38 'purple-gio.c',
41181
e859c41d8996 Create the PurpleAccountManager API
Gary Kramlich <grim@reaperworld.com>
parents: 41176
diff changeset
39 'purpleaccountmanager.c',
39970
cc7d4ff5a205 rename accountopt.[ch] to purpleaccountoption.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39968
diff changeset
40 'purpleaccountoption.c',
40537
fbf29150c28c Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents: 40536
diff changeset
41 'purpleaccountpresence.c',
39968
71622ee1354e move PurpleAccountUserSplit to their own file
Gary Kramlich <grim@reaperworld.com>
parents: 39951
diff changeset
42 'purpleaccountusersplit.c',
40548
42556c49e1e2 Add PurpleCredentialProvider as the first piece to replace the existing keyring api.
Gary Kramlich <grim@reaperworld.com>
parents: 40543
diff changeset
43 'purpleattachment.c',
40537
fbf29150c28c Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents: 40536
diff changeset
44 'purplebuddypresence.c',
40838
73407e00ec5d Modernizing PurpleChatConversation.
Gary Kramlich <grim@reaperworld.com>
parents: 40786
diff changeset
45 'purplechatconversation.c',
40517
5211982886af Move PurpleChatUser to it's own file and fix a few issues with the docs and translations
Gary Kramlich <grim@reaperworld.com>
parents: 40509
diff changeset
46 'purplechatuser.c',
40853
d3518ff99fa7 rename conversation.[ch] to purpleconversation.[ch] and split PurpleConversationUiOps out to its own file to avoid circular include issues.
Gary Kramlich <grim@reaperworld.com>
parents: 40838
diff changeset
47 'purpleconversation.c',
40948
2c312f084d84 Create a manager for conversations.
Gary Kramlich <grim@reaperworld.com>
parents: 40870
diff changeset
48 'purpleconversationmanager.c',
40853
d3518ff99fa7 rename conversation.[ch] to purpleconversation.[ch] and split PurpleConversationUiOps out to its own file to avoid circular include issues.
Gary Kramlich <grim@reaperworld.com>
parents: 40838
diff changeset
49 'purpleconversationuiops.c',
41174
909c3f17ef15 Split PurpleCoreUiOps out to its own file.
Gary Kramlich <grim@reaperworld.com>
parents: 41170
diff changeset
50 'purplecoreuiops.c',
40583
28964322556c Add the new PurpleCredentialManager API
Gary Kramlich <grim@reaperworld.com>
parents: 40579
diff changeset
51 'purplecredentialmanager.c',
40548
42556c49e1e2 Add PurpleCredentialProvider as the first piece to replace the existing keyring api.
Gary Kramlich <grim@reaperworld.com>
parents: 40543
diff changeset
52 'purplecredentialprovider.c',
40950
c3fc77a3c015 Separate PurpleDebugUi out to its own file
Gary Kramlich <grim@reaperworld.com>
parents: 40948
diff changeset
53 'purpledebugui.c',
41319
04d027ed3d63 Add gdk-pixbuf as a libpurple dependency and move helpers from pidgin to purple
Gary Kramlich <grim@reaperworld.com>
parents: 41318
diff changeset
54 'purplegdkpixbuf.c',
41090
741992355ead GSoC History API including sqlite history adapter
James Culver <rewtguy@gmail.com>
parents: 41057
diff changeset
55 'purplehistoryadapter.c',
741992355ead GSoC History API including sqlite history adapter
James Culver <rewtguy@gmail.com>
parents: 41057
diff changeset
56 'purplehistorymanager.c',
41136
5397330041d6 Replace PurpleIdleUiOps with the PurpleIdleUi Interface
Gary Kramlich <grim@reaperworld.com>
parents: 41112
diff changeset
57 'purpleidleui.c',
40506
cb26b9c6d4d0 Move PurpleIMConversation to its own file
Gary Kramlich <grim@reaperworld.com>
parents: 40474
diff changeset
58 'purpleimconversation.c',
40350
72271baf92bc Split PurpleKeyValuePair out to it's own file and try to do some cleanup in the files that need to include it.
Gary Kramlich <grim@reaperworld.com>
parents: 40348
diff changeset
59 'purplekeyvaluepair.c',
40564
2c5b4dc2e86a Pull the purple_markup_* api out of util.[ch] to purplemarkup.[ch]. No code was changed just moved it from one file to the other.
Gary Kramlich <grim@reaperworld.com>
parents: 40548
diff changeset
60 'purplemarkup.c',
40696
cf58ec89b1e4 Rename message.[ch] to purplemessage.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 40683
diff changeset
61 'purplemessage.c',
40743
7aa6153abf4d Create a no operation credential provider and fix a number of other issues
Gary Kramlich <grim@reaperworld.com>
parents: 40735
diff changeset
62 'purplenoopcredentialprovider.c',
40727
9389ba16cf40 Rename options.[ch] to purpleoptions.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
63 'purpleoptions.c',
41237
5098e0dd3a09 Move the path based functions from util.c to their own file.
Gary Kramlich <grim@reaperworld.com>
parents: 41181
diff changeset
64 'purplepath.c',
40963
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents: 40950
diff changeset
65 'purpleplugininfo.c',
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40564
diff changeset
66 'purplepresence.c',
41155
922c9e70900c Rename protocol.[ch] to purpleprotocol.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 41142
diff changeset
67 'purpleprotocol.c',
40697
81f81f5d2f39 Split PurpleProtocolChat to its own file and clean up the API.
Gary Kramlich <grim@reaperworld.com>
parents: 40696
diff changeset
68 'purpleprotocolchat.c',
40634
4d3018b00ad4 Fix the PurpleProtocolClient interface and split it out to its own file.
Gary Kramlich <grim@reaperworld.com>
parents: 40595
diff changeset
69 'purpleprotocolclient.c',
40339
54813fd13c13 Pull PurpleProtocolFactory out to it's own file.
Gary Kramlich <grim@reaperworld.com>
parents: 40312
diff changeset
70 'purpleprotocolfactory.c',
40507
77d7bc9e5151 Make PurpleProtocolIM a proper interface
Gary Kramlich <grim@reaperworld.com>
parents: 40506
diff changeset
71 'purpleprotocolim.c',
40735
cc0679f47fd9 Create a new PurpleProtocolManager
Gary Kramlich <grim@reaperworld.com>
parents: 40727
diff changeset
72 'purpleprotocolmanager.c',
40525
96fc115d6c36 Move PurpleProtocolMediaInterface to its own file.
Gary Kramlich <grim@reaperworld.com>
parents: 40523
diff changeset
73 'purpleprotocolmedia.c',
40521
c4269b37a13a Make PurpleProtocolPrivacy a proper GInterface and move it to it's own file
Gary Kramlich <grim@reaperworld.com>
parents: 40517
diff changeset
74 'purpleprotocolprivacy.c',
41028
943b2cb45314 Separate PurpleProtocolRoomlist into its own file and modernize it.
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
75 'purpleprotocolroomlist.c',
40708
53a26c29d26c Move the PurpleProtocolServer interface to its own file.
Gary Kramlich <grim@reaperworld.com>
parents: 40697
diff changeset
76 'purpleprotocolserver.c',
41318
56092ffeae95 Move PurpleProxyInfo from a boxed type to a GObject
Gary Kramlich <grim@reaperworld.com>
parents: 41247
diff changeset
77 'purpleproxyinfo.c',
41090
741992355ead GSoC History API including sqlite history adapter
James Culver <rewtguy@gmail.com>
parents: 41057
diff changeset
78 'purplesqlitehistoryadapter.c',
40312
956745ff3ee8 Replace the ui info GHashTable with a gobject.
Gary Kramlich <grim@reaperworld.com>
parents: 40306
diff changeset
79 'purpleuiinfo.c',
40595
d7e28f8a0994 split up whiteboard.[ch] to separate files
Gary Kramlich <grim@reaperworld.com>
parents: 40583
diff changeset
80 'purplewhiteboard.c',
41040
4be2eda9548a Create PurpleWhiteboardManager for managing whiteboards
Gary Kramlich <grim@reaperworld.com>
parents: 41034
diff changeset
81 'purplewhiteboardmanager.c',
40595
d7e28f8a0994 split up whiteboard.[ch] to separate files
Gary Kramlich <grim@reaperworld.com>
parents: 40583
diff changeset
82 'purplewhiteboarduiops.c',
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
83 'queuedoutputstream.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
84 'request.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
85 'request-datasheet.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
86 'roomlist.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
87 'savedstatuses.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
88 'server.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
89 'signals.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
90 'status.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
91 'stun.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
92 'trie.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
93 'upnp.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
94 'util.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
95 'version.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
96 'xfer.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
97 'xmlnode.c'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
98 ]
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
99
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
100 purple_coreheaders = [
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
101 'account.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
102 'accounts.h',
39487
f0e629b4c500 Address a number of issues with ownership and leaking
Gary Kramlich <grim@reaperworld.com>
parents: 39479
diff changeset
103 'action.h',
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
104 'blistnode.h',
38467
cdc07553316b Update libpurple files in meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
105 'buddy.h',
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
106 'buddylist.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
107 'buddyicon.h',
38467
cdc07553316b Update libpurple files in meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
108 'chat.h',
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
109 'circularbuffer.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
110 'cmds.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
111 'connection.h',
38467
cdc07553316b Update libpurple files in meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
112 'contact.h',
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
113 'conversations.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
114 'core.h',
38467
cdc07553316b Update libpurple files in meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
115 'countingnode.h',
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
116 'debug.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
117 'eventloop.h',
38467
cdc07553316b Update libpurple files in meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
118 'group.h',
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
119 'idle.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
120 'image.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
121 'image-store.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
122 'media.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
123 'mediamanager.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
124 'memorypool.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
125 'nat-pmp.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
126 'network.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
127 'notify.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
128 'plugins.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
129 'pluginpref.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
130 'prefs.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
131 'proxy.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
132 'protocols.h',
38467
cdc07553316b Update libpurple files in meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
133 'purple-gio.h',
41181
e859c41d8996 Create the PurpleAccountManager API
Gary Kramlich <grim@reaperworld.com>
parents: 41176
diff changeset
134 'purpleaccountmanager.h',
39970
cc7d4ff5a205 rename accountopt.[ch] to purpleaccountoption.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 39968
diff changeset
135 'purpleaccountoption.h',
40537
fbf29150c28c Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents: 40536
diff changeset
136 'purpleaccountpresence.h',
39968
71622ee1354e move PurpleAccountUserSplit to their own file
Gary Kramlich <grim@reaperworld.com>
parents: 39951
diff changeset
137 'purpleaccountusersplit.h',
40537
fbf29150c28c Move PurpleAccountPresence and PurpleBuddyPresence to their own files
Gary Kramlich <grim@reaperworld.com>
parents: 40536
diff changeset
138 'purplebuddypresence.h',
40838
73407e00ec5d Modernizing PurpleChatConversation.
Gary Kramlich <grim@reaperworld.com>
parents: 40786
diff changeset
139 'purplechatconversation.h',
40517
5211982886af Move PurpleChatUser to it's own file and fix a few issues with the docs and translations
Gary Kramlich <grim@reaperworld.com>
parents: 40509
diff changeset
140 'purplechatuser.h',
40853
d3518ff99fa7 rename conversation.[ch] to purpleconversation.[ch] and split PurpleConversationUiOps out to its own file to avoid circular include issues.
Gary Kramlich <grim@reaperworld.com>
parents: 40838
diff changeset
141 'purpleconversation.h',
40948
2c312f084d84 Create a manager for conversations.
Gary Kramlich <grim@reaperworld.com>
parents: 40870
diff changeset
142 'purpleconversationmanager.h',
40853
d3518ff99fa7 rename conversation.[ch] to purpleconversation.[ch] and split PurpleConversationUiOps out to its own file to avoid circular include issues.
Gary Kramlich <grim@reaperworld.com>
parents: 40838
diff changeset
143 'purpleconversationuiops.h',
41174
909c3f17ef15 Split PurpleCoreUiOps out to its own file.
Gary Kramlich <grim@reaperworld.com>
parents: 41170
diff changeset
144 'purplecoreuiops.h',
40583
28964322556c Add the new PurpleCredentialManager API
Gary Kramlich <grim@reaperworld.com>
parents: 40579
diff changeset
145 'purplecredentialmanager.h',
40548
42556c49e1e2 Add PurpleCredentialProvider as the first piece to replace the existing keyring api.
Gary Kramlich <grim@reaperworld.com>
parents: 40543
diff changeset
146 'purplecredentialprovider.h',
40950
c3fc77a3c015 Separate PurpleDebugUi out to its own file
Gary Kramlich <grim@reaperworld.com>
parents: 40948
diff changeset
147 'purpledebugui.h',
41319
04d027ed3d63 Add gdk-pixbuf as a libpurple dependency and move helpers from pidgin to purple
Gary Kramlich <grim@reaperworld.com>
parents: 41318
diff changeset
148 'purplegdkpixbuf.h',
41090
741992355ead GSoC History API including sqlite history adapter
James Culver <rewtguy@gmail.com>
parents: 41057
diff changeset
149 'purplehistoryadapter.h',
741992355ead GSoC History API including sqlite history adapter
James Culver <rewtguy@gmail.com>
parents: 41057
diff changeset
150 'purplehistorymanager.h',
41136
5397330041d6 Replace PurpleIdleUiOps with the PurpleIdleUi Interface
Gary Kramlich <grim@reaperworld.com>
parents: 41112
diff changeset
151 'purpleidleui.h',
40506
cb26b9c6d4d0 Move PurpleIMConversation to its own file
Gary Kramlich <grim@reaperworld.com>
parents: 40474
diff changeset
152 'purpleimconversation.h',
40526
c8cc1a4c4a02 Add support for message attachments
Gary Kramlich <grim@reaperworld.com>
parents: 40525
diff changeset
153 'purpleattachment.h',
40350
72271baf92bc Split PurpleKeyValuePair out to it's own file and try to do some cleanup in the files that need to include it.
Gary Kramlich <grim@reaperworld.com>
parents: 40348
diff changeset
154 'purplekeyvaluepair.h',
40564
2c5b4dc2e86a Pull the purple_markup_* api out of util.[ch] to purplemarkup.[ch]. No code was changed just moved it from one file to the other.
Gary Kramlich <grim@reaperworld.com>
parents: 40548
diff changeset
155 'purplemarkup.h',
40696
cf58ec89b1e4 Rename message.[ch] to purplemessage.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 40683
diff changeset
156 'purplemessage.h',
40743
7aa6153abf4d Create a no operation credential provider and fix a number of other issues
Gary Kramlich <grim@reaperworld.com>
parents: 40735
diff changeset
157 'purplenoopcredentialprovider.h',
40727
9389ba16cf40 Rename options.[ch] to purpleoptions.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
158 'purpleoptions.h',
41237
5098e0dd3a09 Move the path based functions from util.c to their own file.
Gary Kramlich <grim@reaperworld.com>
parents: 41181
diff changeset
159 'purplepath.h',
40963
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents: 40950
diff changeset
160 'purpleplugininfo.h',
40575
b82c365e04e8 Rename presence.[ch] to purplepresence.[ch], fix some docs, and other tweaks.
Gary Kramlich <grim@reaperworld.com>
parents: 40564
diff changeset
161 'purplepresence.h',
41155
922c9e70900c Rename protocol.[ch] to purpleprotocol.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 41142
diff changeset
162 'purpleprotocol.h',
40697
81f81f5d2f39 Split PurpleProtocolChat to its own file and clean up the API.
Gary Kramlich <grim@reaperworld.com>
parents: 40696
diff changeset
163 'purpleprotocolchat.h',
40634
4d3018b00ad4 Fix the PurpleProtocolClient interface and split it out to its own file.
Gary Kramlich <grim@reaperworld.com>
parents: 40595
diff changeset
164 'purpleprotocolclient.h',
40339
54813fd13c13 Pull PurpleProtocolFactory out to it's own file.
Gary Kramlich <grim@reaperworld.com>
parents: 40312
diff changeset
165 'purpleprotocolfactory.h',
40507
77d7bc9e5151 Make PurpleProtocolIM a proper interface
Gary Kramlich <grim@reaperworld.com>
parents: 40506
diff changeset
166 'purpleprotocolim.h',
40525
96fc115d6c36 Move PurpleProtocolMediaInterface to its own file.
Gary Kramlich <grim@reaperworld.com>
parents: 40523
diff changeset
167 'purpleprotocolmedia.h',
40735
cc0679f47fd9 Create a new PurpleProtocolManager
Gary Kramlich <grim@reaperworld.com>
parents: 40727
diff changeset
168 'purpleprotocolmanager.h',
40521
c4269b37a13a Make PurpleProtocolPrivacy a proper GInterface and move it to it's own file
Gary Kramlich <grim@reaperworld.com>
parents: 40517
diff changeset
169 'purpleprotocolprivacy.h',
41028
943b2cb45314 Separate PurpleProtocolRoomlist into its own file and modernize it.
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
170 'purpleprotocolroomlist.h',
40708
53a26c29d26c Move the PurpleProtocolServer interface to its own file.
Gary Kramlich <grim@reaperworld.com>
parents: 40697
diff changeset
171 'purpleprotocolserver.h',
41318
56092ffeae95 Move PurpleProxyInfo from a boxed type to a GObject
Gary Kramlich <grim@reaperworld.com>
parents: 41247
diff changeset
172 'purpleproxyinfo.h',
41090
741992355ead GSoC History API including sqlite history adapter
James Culver <rewtguy@gmail.com>
parents: 41057
diff changeset
173 'purplesqlitehistoryadapter.h',
40312
956745ff3ee8 Replace the ui info GHashTable with a gobject.
Gary Kramlich <grim@reaperworld.com>
parents: 40306
diff changeset
174 'purpleuiinfo.h',
40595
d7e28f8a0994 split up whiteboard.[ch] to separate files
Gary Kramlich <grim@reaperworld.com>
parents: 40583
diff changeset
175 'purplewhiteboard.h',
41040
4be2eda9548a Create PurpleWhiteboardManager for managing whiteboards
Gary Kramlich <grim@reaperworld.com>
parents: 41034
diff changeset
176 'purplewhiteboardmanager.h',
40595
d7e28f8a0994 split up whiteboard.[ch] to separate files
Gary Kramlich <grim@reaperworld.com>
parents: 40583
diff changeset
177 'purplewhiteboardops.h',
d7e28f8a0994 split up whiteboard.[ch] to separate files
Gary Kramlich <grim@reaperworld.com>
parents: 40583
diff changeset
178 'purplewhiteboarduiops.h',
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
179 'queuedoutputstream.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
180 'request.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
181 'request-datasheet.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
182 'roomlist.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
183 'savedstatuses.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
184 'server.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
185 'signals.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
186 'status.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
187 'stun.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
188 'tests.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
189 'trie.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
190 'upnp.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
191 'util.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
192 'xfer.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
193 'xmlnode.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
194 ]
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
195
41057
0a4177bbb1c4 Fix up the dependencies for our gir files and ensure ours will work as a subproject
Gary Kramlich <grim@reaperworld.com>
parents: 41056
diff changeset
196 purple_generated_sources = []
0a4177bbb1c4 Fix up the dependencies for our gir files and ensure ours will work as a subproject
Gary Kramlich <grim@reaperworld.com>
parents: 41056
diff changeset
197
41090
741992355ead GSoC History API including sqlite history adapter
James Culver <rewtguy@gmail.com>
parents: 41057
diff changeset
198 purple_resource = gnome.compile_resources('purpleresources',
741992355ead GSoC History API including sqlite history adapter
James Culver <rewtguy@gmail.com>
parents: 41057
diff changeset
199 'resources/libpurple.gresource.xml',
741992355ead GSoC History API including sqlite history adapter
James Culver <rewtguy@gmail.com>
parents: 41057
diff changeset
200 source_dir : 'resources',
741992355ead GSoC History API including sqlite history adapter
James Culver <rewtguy@gmail.com>
parents: 41057
diff changeset
201 c_name : 'purple')
741992355ead GSoC History API including sqlite history adapter
James Culver <rewtguy@gmail.com>
parents: 41057
diff changeset
202 purple_coresources += purple_resource
741992355ead GSoC History API including sqlite history adapter
James Culver <rewtguy@gmail.com>
parents: 41057
diff changeset
203
39399
e6da6288d084 libpurple: Pull common file naming out into variable in meson file
Mike Ruprecht <cmaiku@gmail.com>
parents: 39354
diff changeset
204 purple_filebase = 'purple-@0@'.format(purple_major_version)
40536
c0ea70247280 Switch join_paths and + to /.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40526
diff changeset
205 purple_include_base = purple_filebase / 'libpurple'
39399
e6da6288d084 libpurple: Pull common file naming out into variable in meson file
Mike Ruprecht <cmaiku@gmail.com>
parents: 39354
diff changeset
206
38529
6b1f391a52ba Remove redundant option variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38518
diff changeset
207 if enable_vv
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
208 purple_coreheaders += 'media-gst.h'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
209 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
210
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
211 if IS_WIN32
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
212 purple_coresources += [
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
213 'win32/libc_interface.c',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
214 'win32/win32dep.c'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
215 ]
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
216
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
217 purple_coreheaders += [
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
218 'win32/win32dep.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
219 ]
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
220
38510
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38506
diff changeset
221 libpurplerc = configure_file(
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38506
diff changeset
222 input : 'win32/libpurplerc.rc.in',
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38506
diff changeset
223 output : 'libpurplerc.rc',
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38506
diff changeset
224 configuration : version_conf)
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38506
diff changeset
225 purple_coresources += windows.compile_resources(libpurplerc)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
226 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
227
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
228 purple_mediaheaders = [
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
229 'media/backend-iface.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
230 'media/candidate.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
231 'media/codec.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
232 'media/enum-types.h'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
233 ]
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
234
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
235 purple_enumheaders = [
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
236 'account.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
237 'buddyicon.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
238 'connection.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
239 'debug.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
240 'eventloop.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
241 'notify.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
242 'plugins.h',
40517
5211982886af Move PurpleChatUser to it's own file and fix a few issues with the docs and translations
Gary Kramlich <grim@reaperworld.com>
parents: 40509
diff changeset
243 'purplechatuser.h',
40853
d3518ff99fa7 rename conversation.[ch] to purpleconversation.[ch] and split PurpleConversationUiOps out to its own file to avoid circular include issues.
Gary Kramlich <grim@reaperworld.com>
parents: 40838
diff changeset
244 'purpleconversation.h',
40506
cb26b9c6d4d0 Move PurpleIMConversation to its own file
Gary Kramlich <grim@reaperworld.com>
parents: 40474
diff changeset
245 'purpleimconversation.h',
40696
cf58ec89b1e4 Rename message.[ch] to purplemessage.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 40683
diff changeset
246 'purplemessage.h',
40963
f2abd04191b7 Split PurplePluginInfo out to its own file
Gary Kramlich <grim@reaperworld.com>
parents: 40950
diff changeset
247 'purpleplugininfo.h',
41155
922c9e70900c Rename protocol.[ch] to purpleprotocol.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 41142
diff changeset
248 'purpleprotocol.h',
41318
56092ffeae95 Move PurpleProxyInfo from a boxed type to a GObject
Gary Kramlich <grim@reaperworld.com>
parents: 41247
diff changeset
249 'purpleproxyinfo.h',
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
250 'roomlist.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
251 'status.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
252 'xfer.h',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
253 'xmlnode.h'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
254 ]
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
255
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
256
41004
67692039e5a7 Move the libpurple enums to gnome.mkenums_simple
Gary Kramlich <grim@reaperworld.com>
parents: 40999
diff changeset
257 enums = gnome.mkenums_simple('purpleenums',
38463
879af84c9a51 Require meson 0.34.0 for build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38462
diff changeset
258 sources : purple_enumheaders,
38477
e8e897e0b16a meson: Update to latest mkenums syntax.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38476
diff changeset
259 install_header : true,
40536
c0ea70247280 Switch join_paths and + to /.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40526
diff changeset
260 install_dir : get_option('includedir') / purple_include_base)
38477
e8e897e0b16a meson: Update to latest mkenums syntax.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38476
diff changeset
261 enums_c = enums[0]
e8e897e0b16a meson: Update to latest mkenums syntax.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38476
diff changeset
262 enums_h = enums[1]
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
263
39401
80193d055f1c libpurple: Generate purple.h includes with meson headers list
Mike Ruprecht <cmaiku@gmail.com>
parents: 39400
diff changeset
264 PURPLE_H_INCLUDES = []
41007
90d2dee9b3dc Fix the includes for the purpleenums rename
Gary Kramlich <grim@reaperworld.com>
parents: 41006
diff changeset
265 foreach header : purple_coreheaders + purple_mediaheaders + ['version.h', 'purpleenums.h']
39401
80193d055f1c libpurple: Generate purple.h includes with meson headers list
Mike Ruprecht <cmaiku@gmail.com>
parents: 39400
diff changeset
266 PURPLE_H_INCLUDES += '#include <libpurple/@0@>'.format(header)
80193d055f1c libpurple: Generate purple.h includes with meson headers list
Mike Ruprecht <cmaiku@gmail.com>
parents: 39400
diff changeset
267 endforeach
39414
ac9648de2f4f libpurple: Remove PURPLE_PLUGINS define from purple.h
Mike Ruprecht <cmaiku@gmail.com>
parents: 39410
diff changeset
268 purple_h_conf = configuration_data()
39401
80193d055f1c libpurple: Generate purple.h includes with meson headers list
Mike Ruprecht <cmaiku@gmail.com>
parents: 39400
diff changeset
269 purple_h_conf.set('PURPLE_H_INCLUDES', '\n'.join(PURPLE_H_INCLUDES))
80193d055f1c libpurple: Generate purple.h includes with meson headers list
Mike Ruprecht <cmaiku@gmail.com>
parents: 39400
diff changeset
270
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
271 purple_h = configure_file(input : 'purple.h.in',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
272 output : 'purple.h',
38987
812981a69d5b Split purple.h.in config into separate object.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 38936
diff changeset
273 configuration : purple_h_conf,
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
274 install : true,
40536
c0ea70247280 Switch join_paths and + to /.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40526
diff changeset
275 install_dir : get_option('includedir') / purple_filebase)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
276 version_h = configure_file(input : 'version.h.in',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
277 output : 'version.h',
38440
98da84139485 Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38439
diff changeset
278 configuration : version_conf,
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
279 install : true,
40536
c0ea70247280 Switch join_paths and + to /.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40526
diff changeset
280 install_dir : get_option('includedir') / purple_include_base)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
281
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
282 purple_builtsources = [
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
283 enums_c,
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
284 ]
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
285
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
286 purple_builtheaders = [
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
287 purple_h,
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
288 version_h,
38473
919d72c1c8c0 Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38472
diff changeset
289 enums_h,
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
290 ]
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
291
38440
98da84139485 Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38439
diff changeset
292 libpurple_inc = include_directories('.')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
293 libpurple = library('purple',
38493
e6e131a732d0 Add missing dbus built files to sources.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38492
diff changeset
294 purple_coresources + purple_builtsources +
39354
db17ba548304 libpurple: Drop DBus API bindings
Mike Ruprecht <cmaiku@gmail.com>
parents: 39347
diff changeset
295 purple_builtheaders,
40439
e9838d634d5e Make sure that internal.h can only be included by libpurple and split out some pieces to purpleprivate.h
Gary Kramlich <grim@reaperworld.com>
parents: 40350
diff changeset
296 'purpleprivate.h',
41107
1570d8844e9a Enable structured logging in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41090
diff changeset
297 c_args : ['-DPURPLE_COMPILATION', '-DG_LOG_USE_STRUCTURED', '-DG_LOG_DOMAIN="Purple"'],
38440
98da84139485 Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38439
diff changeset
298 include_directories : [toplevel_inc, libpurple_inc],
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
299 install : true,
38518
1c2e969922b8 Fix versioning of libraries.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38516
diff changeset
300 version : PURPLE_LIB_VERSION,
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
301 dependencies : # static_link_libs
39990
7fb53d5427a8 Use SoupURI to parse proxy environment variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39970
diff changeset
302 [dnsapi, ws2_32, glib, gio, gplugin_dep, libsoup,
41319
04d027ed3d63 Add gdk-pixbuf as a libpurple dependency and move helpers from pidgin to purple
Gary Kramlich <grim@reaperworld.com>
parents: 41318
diff changeset
303 libxml, gdk_pixbuf, gstreamer, gstreamer_video,
41090
741992355ead GSoC History API including sqlite history adapter
James Culver <rewtguy@gmail.com>
parents: 41057
diff changeset
304 gstreamer_app, json, sqlite3, math])
38934
5b861179cad9 Various build fixes:
Shawn Napora <shawn@napora.me>
parents: 38859
diff changeset
305
39354
db17ba548304 libpurple: Drop DBus API bindings
Mike Ruprecht <cmaiku@gmail.com>
parents: 39347
diff changeset
306 install_headers(purple_coreheaders,
39400
34275a486210 libpurple: Install headers into a standard subdirectory
Mike Ruprecht <cmaiku@gmail.com>
parents: 39399
diff changeset
307 subdir : purple_include_base)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
308
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
309 install_headers(purple_mediaheaders,
40536
c0ea70247280 Switch join_paths and + to /.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40526
diff changeset
310 subdir : purple_include_base / 'media')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
311
38783
93d9173b62c8 Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38641
diff changeset
312 pkgconfig.generate(
41112
1653402dd94e Update Meson to newer standards
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41107
diff changeset
313 libpurple,
38783
93d9173b62c8 Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38641
diff changeset
314 name : 'libpurple',
93d9173b62c8 Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38641
diff changeset
315 description : 'libpurple is a GLib-based instant messenger library.',
39443
5cffc7a8c5e7 Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39426
diff changeset
316 version : meson.project_version(),
39399
e6da6288d084 libpurple: Pull common file naming out into variable in meson file
Mike Ruprecht <cmaiku@gmail.com>
parents: 39354
diff changeset
317 filebase : purple_filebase,
39400
34275a486210 libpurple: Install headers into a standard subdirectory
Mike Ruprecht <cmaiku@gmail.com>
parents: 39399
diff changeset
318 # TODO: Only use purple_filebase once everything is ported to only use purple.h
34275a486210 libpurple: Install headers into a standard subdirectory
Mike Ruprecht <cmaiku@gmail.com>
parents: 39399
diff changeset
319 subdirs : [purple_filebase, purple_include_base],
41112
1653402dd94e Update Meson to newer standards
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41107
diff changeset
320 # NOTE: Don't use gplugin from pkgconfig, as it might be a subproject.
41319
04d027ed3d63 Add gdk-pixbuf as a libpurple dependency and move helpers from pidgin to purple
Gary Kramlich <grim@reaperworld.com>
parents: 41318
diff changeset
321 requires : [glib, gdk_pixbuf, 'gplugin'],
39399
e6da6288d084 libpurple: Pull common file naming out into variable in meson file
Mike Ruprecht <cmaiku@gmail.com>
parents: 39354
diff changeset
322 variables : ['plugindir=${libdir}/@0@'.format(purple_filebase)])
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
323
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
324 if enable_introspection
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
325 introspection_sources = (purple_coreheaders + purple_builtheaders +
39354
db17ba548304 libpurple: Drop DBus API bindings
Mike Ruprecht <cmaiku@gmail.com>
parents: 39347
diff changeset
326 purple_mediaheaders)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
327
38472
1f332f8141f4 Add GIR to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38471
diff changeset
328 libpurple_gir = gnome.generate_gir(libpurple,
1f332f8141f4 Add GIR to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38471
diff changeset
329 sources : introspection_sources,
41319
04d027ed3d63 Add gdk-pixbuf as a libpurple dependency and move helpers from pidgin to purple
Gary Kramlich <grim@reaperworld.com>
parents: 41318
diff changeset
330 includes : ['GdkPixbuf-2.0', 'GLib-2.0', 'Gio-2.0', 'GObject-2.0', 'Gst-1.0', 'GPlugin-1.0'],
41164
d861b10105fb Convert the libpurple docs to gi-docgen
Gary Kramlich <grim@reaperworld.com>
parents: 41155
diff changeset
331 header : 'purple.h',
39456
58cfd8ad7f95 Don't add the 3 to the gir namespaces
Gary Kramlich <grim@reaperworld.com>
parents: 39455
diff changeset
332 namespace : 'Purple',
38516
dd0ddcb829b9 Make GIR outputs more consistent with autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38513
diff changeset
333 symbol_prefix : 'purple',
38472
1f332f8141f4 Add GIR to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38471
diff changeset
334 identifier_prefix : 'Purple',
39399
e6da6288d084 libpurple: Pull common file naming out into variable in meson file
Mike Ruprecht <cmaiku@gmail.com>
parents: 39354
diff changeset
335 export_packages : purple_filebase,
38472
1f332f8141f4 Add GIR to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38471
diff changeset
336 nsversion : '@0@.@1@'.format(purple_major_version,
1f332f8141f4 Add GIR to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38471
diff changeset
337 purple_minor_version),
41057
0a4177bbb1c4 Fix up the dependencies for our gir files and ensure ours will work as a subproject
Gary Kramlich <grim@reaperworld.com>
parents: 41056
diff changeset
338 dependencies: [gplugin_dep],
39370
ba8bb361f1f2 Add --quiet argument to gnome.generate_gir() calls
Mike Ruprecht <cmaiku@gmail.com>
parents: 39354
diff changeset
339 install : true,
40474
1341be8e3402 Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents: 40471
diff changeset
340 extra_args : ['-DPURPLE_COMPILATION', '--quiet'])
41057
0a4177bbb1c4 Fix up the dependencies for our gir files and ensure ours will work as a subproject
Gary Kramlich <grim@reaperworld.com>
parents: 41056
diff changeset
341
0a4177bbb1c4 Fix up the dependencies for our gir files and ensure ours will work as a subproject
Gary Kramlich <grim@reaperworld.com>
parents: 41056
diff changeset
342 purple_generated_sources += libpurple_gir
0a4177bbb1c4 Fix up the dependencies for our gir files and ensure ours will work as a subproject
Gary Kramlich <grim@reaperworld.com>
parents: 41056
diff changeset
343 endif
0a4177bbb1c4 Fix up the dependencies for our gir files and ensure ours will work as a subproject
Gary Kramlich <grim@reaperworld.com>
parents: 41056
diff changeset
344
0a4177bbb1c4 Fix up the dependencies for our gir files and ensure ours will work as a subproject
Gary Kramlich <grim@reaperworld.com>
parents: 41056
diff changeset
345 libpurple_dep = declare_dependency(
0a4177bbb1c4 Fix up the dependencies for our gir files and ensure ours will work as a subproject
Gary Kramlich <grim@reaperworld.com>
parents: 41056
diff changeset
346 # Ensure purple headers built before any dependencies:
0a4177bbb1c4 Fix up the dependencies for our gir files and ensure ours will work as a subproject
Gary Kramlich <grim@reaperworld.com>
parents: 41056
diff changeset
347 sources : [purple_builtheaders] + purple_generated_sources,
0a4177bbb1c4 Fix up the dependencies for our gir files and ensure ours will work as a subproject
Gary Kramlich <grim@reaperworld.com>
parents: 41056
diff changeset
348 include_directories : [toplevel_inc, libpurple_inc],
0a4177bbb1c4 Fix up the dependencies for our gir files and ensure ours will work as a subproject
Gary Kramlich <grim@reaperworld.com>
parents: 41056
diff changeset
349 link_with : libpurple,
41319
04d027ed3d63 Add gdk-pixbuf as a libpurple dependency and move helpers from pidgin to purple
Gary Kramlich <grim@reaperworld.com>
parents: 41318
diff changeset
350 dependencies : [gdk_pixbuf, gstreamer, gplugin_dep, glib, gio])
41057
0a4177bbb1c4 Fix up the dependencies for our gir files and ensure ours will work as a subproject
Gary Kramlich <grim@reaperworld.com>
parents: 41056
diff changeset
351
41112
1653402dd94e Update Meson to newer standards
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41107
diff changeset
352 meson.override_dependency(purple_filebase, libpurple_dep)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
353
40786
4682777df311 Clean up some issues with the desktop files and purple3-url-handler
Gary Kramlich <grim@reaperworld.com>
parents: 40746
diff changeset
354 PURPLE3_URL_HANDLER_DESKTOP = 'purple3-url-handler.desktop'
4682777df311 Clean up some issues with the desktop files and purple3-url-handler
Gary Kramlich <grim@reaperworld.com>
parents: 40746
diff changeset
355 if get_option('nls')
4682777df311 Clean up some issues with the desktop files and purple3-url-handler
Gary Kramlich <grim@reaperworld.com>
parents: 40746
diff changeset
356 i18n = import('i18n')
4682777df311 Clean up some issues with the desktop files and purple3-url-handler
Gary Kramlich <grim@reaperworld.com>
parents: 40746
diff changeset
357 desktop_file_in = configure_file(
4682777df311 Clean up some issues with the desktop files and purple3-url-handler
Gary Kramlich <grim@reaperworld.com>
parents: 40746
diff changeset
358 input : 'data' / (PURPLE3_URL_HANDLER_DESKTOP + '.in.in'),
4682777df311 Clean up some issues with the desktop files and purple3-url-handler
Gary Kramlich <grim@reaperworld.com>
parents: 40746
diff changeset
359 output : PURPLE3_URL_HANDLER_DESKTOP + '.in',
4682777df311 Clean up some issues with the desktop files and purple3-url-handler
Gary Kramlich <grim@reaperworld.com>
parents: 40746
diff changeset
360 configuration : conf)
4682777df311 Clean up some issues with the desktop files and purple3-url-handler
Gary Kramlich <grim@reaperworld.com>
parents: 40746
diff changeset
361 i18n.merge_file(
4682777df311 Clean up some issues with the desktop files and purple3-url-handler
Gary Kramlich <grim@reaperworld.com>
parents: 40746
diff changeset
362 input : desktop_file_in,
4682777df311 Clean up some issues with the desktop files and purple3-url-handler
Gary Kramlich <grim@reaperworld.com>
parents: 40746
diff changeset
363 output : PURPLE3_URL_HANDLER_DESKTOP,
40999
9e5a5eb54a57 bump the minimum meson to 0.56.0 and fix the deprecations
Gary Kramlich <grim@reaperworld.com>
parents: 40963
diff changeset
364 po_dir : meson.project_source_root() / 'po',
40786
4682777df311 Clean up some issues with the desktop files and purple3-url-handler
Gary Kramlich <grim@reaperworld.com>
parents: 40746
diff changeset
365 type : 'desktop',
4682777df311 Clean up some issues with the desktop files and purple3-url-handler
Gary Kramlich <grim@reaperworld.com>
parents: 40746
diff changeset
366 install : true,
4682777df311 Clean up some issues with the desktop files and purple3-url-handler
Gary Kramlich <grim@reaperworld.com>
parents: 40746
diff changeset
367 install_dir : get_option('datadir') / 'applications')
4682777df311 Clean up some issues with the desktop files and purple3-url-handler
Gary Kramlich <grim@reaperworld.com>
parents: 40746
diff changeset
368 else
4682777df311 Clean up some issues with the desktop files and purple3-url-handler
Gary Kramlich <grim@reaperworld.com>
parents: 40746
diff changeset
369 configure_file(
4682777df311 Clean up some issues with the desktop files and purple3-url-handler
Gary Kramlich <grim@reaperworld.com>
parents: 40746
diff changeset
370 input : 'data' / (PURPLE3_URL_HANDLER_DESKTOP + '.in.in'),
4682777df311 Clean up some issues with the desktop files and purple3-url-handler
Gary Kramlich <grim@reaperworld.com>
parents: 40746
diff changeset
371 output : PURPLE3_URL_HANDLER_DESKTOP,
4682777df311 Clean up some issues with the desktop files and purple3-url-handler
Gary Kramlich <grim@reaperworld.com>
parents: 40746
diff changeset
372 configuration : conf,
4682777df311 Clean up some issues with the desktop files and purple3-url-handler
Gary Kramlich <grim@reaperworld.com>
parents: 40746
diff changeset
373 install : true,
4682777df311 Clean up some issues with the desktop files and purple3-url-handler
Gary Kramlich <grim@reaperworld.com>
parents: 40746
diff changeset
374 install_dir : get_option('datadir') / 'applications')
4682777df311 Clean up some issues with the desktop files and purple3-url-handler
Gary Kramlich <grim@reaperworld.com>
parents: 40746
diff changeset
375 endif
4682777df311 Clean up some issues with the desktop files and purple3-url-handler
Gary Kramlich <grim@reaperworld.com>
parents: 40746
diff changeset
376
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
377 subdir('tests')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
378 subdir('example')
38442
940263b01fb5 Add plugins to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
379 subdir('plugins')
38443
86f66bcb3d62 Add bonjour to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38442
diff changeset
380 subdir('protocols')

mercurial