'purpleaccountpresence.c',
'purpleaccountusersplit.c',
'purplecredentialprovider.c',
'purpleimconversation.c',
'purpleprotocolfactory.c',
'purpleprotocolprivacy.c',
'purpleaccountpresence.h',
'purpleaccountusersplit.h',
'purplecredentialprovider.h',
'purpleimconversation.h',
'purpleprotocolfactory.h',
'purpleprotocolprivacy.h',
purple_filebase = 'purple-@0@'.format(purple_major_version)
purple_include_base = purple_filebase / 'libpurple'
purple_coreheaders += 'media-gst.h'
'win32/libc_interface.c',
'win32/libc_interface.h',
libpurplerc = configure_file(
input : 'win32/libpurplerc.rc.in',
output : 'libpurplerc.rc',
configuration : version_conf)
purple_coresources += windows.compile_resources(libpurplerc)
'purpleimconversation.h',
enums = gnome.mkenums('enums',
sources : purple_enumheaders,
h_template : 'enums.h.in',
c_template : 'enums.c.in',
install_dir : get_option('includedir') / purple_include_base)
foreach header : purple_coreheaders + purple_mediaheaders + ['version.h', 'enums.h']
PURPLE_H_INCLUDES += '#include <libpurple/@0@>'.format(header)
purple_h_conf = configuration_data()
purple_h_conf.set('PURPLE_H_INCLUDES', '\n'.join(PURPLE_H_INCLUDES))
purple_h = configure_file(input : 'purple.h.in',
configuration : purple_h_conf,
install_dir : get_option('includedir') / purple_filebase)
version_h = configure_file(input : 'version.h.in',
configuration : version_conf,
install_dir : get_option('includedir') / purple_include_base)
libpurple_inc = include_directories('.')
libpurple = library('purple',
purple_coresources + purple_builtsources +
c_args : ['-DPURPLE_COMPILATION'],
include_directories : [toplevel_inc, libpurple_inc],
version : PURPLE_LIB_VERSION,
dependencies : # static_link_libs
[dnsapi, ws2_32, glib, gio, gplugin_dep, libsoup,
libxml, farstream, gstreamer, gstreamer_video,
gstreamer_app, json, math])
libpurple_dep = declare_dependency(
# Ensure purple headers built before any dependencies:
sources : [purple_builtheaders],
include_directories : [toplevel_inc, libpurple_inc],
dependencies : [gstreamer, gplugin_dep, glib, gio])
install_headers(purple_coreheaders,
subdir : purple_include_base)
install_headers(purple_mediaheaders,
subdir : purple_include_base / 'media')
description : 'libpurple is a GLib-based instant messenger library.',
version : meson.project_version(),
filebase : purple_filebase,
# TODO: Only use purple_filebase once everything is ported to only use purple.h
subdirs : [purple_filebase, purple_include_base],
requires : ['glib-2.0', 'gplugin'],
variables : ['plugindir=${libdir}/@0@'.format(purple_filebase)])
introspection_sources = (purple_coreheaders + purple_builtheaders +
Purple_gir_includes = ['GObject-2.0', 'Gio-2.0', 'Gst-1.0', gplugin_gir]
libpurple_gir = gnome.generate_gir(libpurple,
sources : introspection_sources,
includes : Purple_gir_includes,
symbol_prefix : 'purple',
identifier_prefix : 'Purple',
export_packages : purple_filebase,
nsversion : '@0@.@1@'.format(purple_major_version,
gplugin_include_directories,
extra_args : ['-DPURPLE_COMPILATION', '--quiet'])