protocols/ircv3/meson.build

Tue, 17 Sep 2024 00:05:11 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Tue, 17 Sep 2024 00:05:11 -0500
changeset 42937
34ac8ac8c7b6
parent 42925
3c9b77d62b0d
child 42942
ae667b2b518a
permissions
-rw-r--r--

Implement CTCP VERSION response

This creates the infrastructure for CTCP responses using VERSION as the first
one. This also required Ibis 0.8.1 which fixed a bug in CTCP serialization.

Testing Done:
Connected to a local ergo and sent `CTCP VERSION` from other clients without issue.

Bugs closed: PIDGIN-17898

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

IRCV3_SOURCES = [
	'purpleircv3connection.c',
	'purpleircv3core.c',
	'purpleircv3ctcphandlers.c',
	'purpleircv3messagehandlers.c',
	'purpleircv3protocol.c',
	'purpleircv3protocolconversation.c',
]

IRCV3_HEADERS = [
	'purpleircv3connection.h',
	'purpleircv3core.h',
	'purpleircv3ctcphandlers.h',
	'purpleircv3messagehandlers.h',
	'purpleircv3protocol.h',
	'purpleircv3protocolconversation.h',
]

if not DYNAMIC_IRCV3
	subdir_done()
endif

ibis_dep = dependency('ibis', version : '>= 0.8.1')

ircv3_filebase = f'purple-@purple_major_version@-ircv3'

ircv3_includes = include_directories('.')
ircv3_include_base = purple_include_base / 'protocols/ircv3'


ircv3_resources = gnome.compile_resources('ircv3resource',
	'resources/ircv3.gresource.xml',
	source_dir : 'resources',
	c_name : 'purple_ircv3')
IRCV3_SOURCES += ircv3_resources

shared_library('ircv3', IRCV3_SOURCES + IRCV3_HEADERS,
	c_args : ['-DPURPLE_IRCV3_COMPILATION', '-DG_LOG_USE_STRUCTURED', '-DG_LOG_DOMAIN="Purple-IRCv3"'],
	gnu_symbol_visibility : 'hidden',
	dependencies : [birb_dep, libpurple_dep, glib, gio, hasl, ibis_dep],
	install : true,
	install_dir : PURPLE_PLUGINDIR)

devenv.append('PURPLE_PLUGIN_PATH', meson.current_build_dir())

mercurial