To improve memory usage on devices with limited memory it could be useful to have a way to disable VoIP-related features. We already have something similar for file transfer.
At http://cgit.collabora.com/git/user/bari/telepathy-gabble.git/log/?h=disable-voip there is my branch adding a --disable-voip option to configure.
There is still a problem with the patch, that is that dataforms.py doesn't pass any more as it depends on this behaviour from connection.c:
/* additional caps that we advertise until the first call to
* AdvertiseCapabilities or UpdateCapabilities, for vague historical
* reasons */
The bonus caps are just VoIP-related caps, so when I update the capabilities the list of capabilities doesn't change because there are no VoIP-related capabilities at all. I'm tempted to just disable this test even if it's not completely related to VoIP.
Basically this patch only helps with the size of the executable (and the amount of size it uses in memory), but it doesn't have any real effect on the actual memory usage.
On my system (64 bit Debian) gabble compiled with plugin support and using OpenSSL uses on disk (the amount of memory used for the executables is very similar to the size on disk):
- 1618648 bytes if both file transfer and VoIP are enabled
- 1526784 bytes if file transfer is disabled and VoIP is enabled
- 1255232 bytes if both file transfer and VoIP are disabled
This branch is obviously rubbish... but it looks okay enough.
All tests pass with the various combinations of flags -> merged.