libpurple/protocols/demo/meson.build

Fri, 27 Oct 2023 00:27:12 -0500

author
Elliott Sales de Andrade <quantum.analyst@gmail.com>
date
Fri, 27 Oct 2023 00:27:12 -0500
changeset 42446
bcaffaf9588f
parent 42372
ba3a49903905
permissions
-rw-r--r--

Mark all libpurple symbol visibility as hidden

This will match behaviour on Windows, so it will prevent not tagging the symbols with the correct export macro.

This closes [PIDGIN-17838](https://issues.imfreedom.org/issue/PIDGIN-17838), as successfully compiling with this flag means all symbols have been correctly marked.

Testing Done:
Compiled on Linux and Windows.

Bugs closed: PIDGIN-17838

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

DEMO_SOURCES = [
	'purpledemoconnection.c',
	'purpledemoconnection.h',
	'purpledemocontacts.c',
	'purpledemocontacts.h',
	'purpledemoplugin.c',
	'purpledemoplugin.h',
	'purpledemoprotocol.c',
	'purpledemoprotocol.h',
	'purpledemoprotocolactions.c',
	'purpledemoprotocolactions.h',
	'purpledemoprotocolclient.c',
	'purpledemoprotocolclient.h',
	'purpledemoprotocolcontacts.c',
	'purpledemoprotocolcontacts.h',
	'purpledemoprotocolconversation.c',
	'purpledemoprotocolconversation.h',
	'purpledemoprotocolmedia.c',
	'purpledemoprotocolmedia.h',
]

if DYNAMIC_DEMO
	demo_resources = gnome.compile_resources('purpledemoresource',
		'resources/purpledemo.gresource.xml',
		source_dir : 'resources',
		c_name : 'purple_demo')
	DEMO_SOURCES += demo_resources

	shared_library('demo', DEMO_SOURCES,
		c_args : ['-DG_LOG_USE_STRUCTURED', '-DG_LOG_DOMAIN="Purple-Demo"'],
		gnu_symbol_visibility : 'hidden',
		dependencies : [glib, json, libpurple_dep],
		install : true,
		install_dir : PURPLE_PLUGINDIR)

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

mercurial