diff options
author | Tom Schoonjans <Tom.Schoonjans@diamond.ac.uk> | 2019-09-06 19:03:31 +0100 |
---|---|---|
committer | Tom Schoonjans <Tom.Schoonjans@diamond.ac.uk> | 2019-09-06 19:03:31 +0100 |
commit | 036f6ca7e3ef810498f2fd2ce9c9c1c2a3278f3c (patch) | |
tree | bac2417e958915b9a12ce58628d678b3e4c5078d | |
parent | e2409e5e180f1fa369d0e87e38e4d646d9f68791 (diff) | |
download | glib-036f6ca7e3ef810498f2fd2ce9c9c1c2a3278f3c.tar.gz |
gmodule: write test for shared libraries
-rw-r--r-- | tests/meson.build | 28 | ||||
-rw-r--r-- | tests/module-test.c | 4 |
2 files changed, 27 insertions, 5 deletions
diff --git a/tests/meson.build b/tests/meson.build index ce3044258..e4ea22692 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -44,9 +44,17 @@ tests = { 'type-test' : {}, 'unicode-caseconv' : {}, 'unicode-encoding' : {}, - 'module-test' : { + 'module-test-library' : { 'dependencies' : [libgmodule_dep], 'export_dynamic' : true, + 'source': 'module-test.c', + 'c_args': ['-DMODULE_TYPE="library"'], + }, + 'module-test-plugin' : { + 'dependencies' : [libgmodule_dep], + 'export_dynamic' : true, + 'source': 'module-test.c', + 'c_args': ['-DMODULE_TYPE="plugin"'], }, 'cxx-test' : { 'source' : 'cxx-test.cpp', @@ -87,11 +95,25 @@ if installed_tests_enabled ) endif +module_suffix = [] +# Keep the autotools convention for shared module suffix because GModule +# depends on it: https://gitlab.gnome.org/GNOME/glib/issues/520 +if ['darwin', 'ios'].contains(host_machine.system()) + module_suffix = 'so' +endif + foreach module : ['moduletestplugin_a', 'moduletestplugin_b'] - shared_module(module, 'lib@0@.c'.format(module), + shared_module(module + '_plugin', 'lib@0@.c'.format(module), + dependencies : [libglib_dep, libgmodule_dep], + install_dir : installed_tests_execdir, + install : installed_tests_enabled, + name_suffix : module_suffix + ) + shared_library(module + '_library', 'lib@0@.c'.format(module), dependencies : [libglib_dep, libgmodule_dep], install_dir : installed_tests_execdir, - install : installed_tests_enabled + install : installed_tests_enabled, + name_suffix : module_suffix ) endforeach diff --git a/tests/module-test.c b/tests/module-test.c index 8047b74ec..e0e6423f6 100644 --- a/tests/module-test.c +++ b/tests/module-test.c @@ -90,8 +90,8 @@ main (int argc, if (!g_module_supported ()) g_error ("dynamic modules not supported"); - plugin_a = g_test_build_filename (G_TEST_BUILT, MODULE_FILENAME_PREFIX "moduletestplugin_a", NULL); - plugin_b = g_test_build_filename (G_TEST_BUILT, MODULE_FILENAME_PREFIX "moduletestplugin_b", NULL); + plugin_a = g_test_build_filename (G_TEST_BUILT, MODULE_FILENAME_PREFIX "moduletestplugin_a_" MODULE_TYPE, NULL); + plugin_b = g_test_build_filename (G_TEST_BUILT, MODULE_FILENAME_PREFIX "moduletestplugin_b_" MODULE_TYPE, NULL); /* module handles */ |