diff --git a/meson.build b/meson.build index 264718f2..07949e30 100644 --- a/meson.build +++ b/meson.build @@ -77,6 +77,16 @@ def_scriptdir = '-D' + 'SCRIPTDIR' + '="' + (get_option('prefix') / scriptdir) def_suppress_printf_fallback = '-D' + 'SUPPRESS_PRINTF_FALLBACK' + +module_suffix = [] +perl_module_suffix = [] +# Meson uses the wrong module extensions on Mac. +# https://gitlab.gnome.org/GNOME/glib/issues/520 +if ['darwin', 'ios'].contains(host_machine.system()) + module_suffix = 'so' + perl_module_suffix = 'bundle' +endif + ############## # Help files # ############## diff --git a/src/fe-common/irc/dcc/meson.build b/src/fe-common/irc/dcc/meson.build index 50806e81..487d1aea 100644 --- a/src/fe-common/irc/dcc/meson.build +++ b/src/fe-common/irc/dcc/meson.build @@ -18,6 +18,7 @@ libfe_irc_dcc_a = static_library('fe_irc_dcc', ], dependencies : dep) shared_module('fe_irc_dcc', + name_suffix : module_suffix, install : true, install_dir : moduledir, link_with : dl_cross_irc_dcc, diff --git a/src/fe-common/irc/meson.build b/src/fe-common/irc/meson.build index 5af5528a..9b198e24 100644 --- a/src/fe-common/irc/meson.build +++ b/src/fe-common/irc/meson.build @@ -29,6 +29,7 @@ libfe_common_irc_a = static_library('fe_common_irc', ], dependencies : dep) shared_module('fe_common_irc', + name_suffix : module_suffix, install : true, install_dir : moduledir, link_with : dl_cross_irc_core, diff --git a/src/fe-common/irc/notifylist/meson.build b/src/fe-common/irc/notifylist/meson.build index 1d42e147..0f9c4d68 100644 --- a/src/fe-common/irc/notifylist/meson.build +++ b/src/fe-common/irc/notifylist/meson.build @@ -13,6 +13,7 @@ libfe_irc_notifylist_a = static_library('fe_irc_notifylist', ], dependencies : dep) shared_module('fe_irc_notifylist', + name_suffix : module_suffix, install : true, install_dir : moduledir, link_with : dl_cross_irc_notifylist, diff --git a/src/irc/core/meson.build b/src/irc/core/meson.build index b8c1bad9..81559f3e 100644 --- a/src/irc/core/meson.build +++ b/src/irc/core/meson.build @@ -39,6 +39,7 @@ libirc_core_a = static_library('irc_core', ], dependencies : dep) libirc_core_sm = shared_module('irc_core', + name_suffix : module_suffix, install : true, install_dir : moduledir, link_whole : libirc_core_a) diff --git a/src/irc/dcc/meson.build b/src/irc/dcc/meson.build index 9c7e33d5..e5e2b0c6 100644 --- a/src/irc/dcc/meson.build +++ b/src/irc/dcc/meson.build @@ -13,6 +13,7 @@ libirc_dcc_sm = shared_module('irc_dcc', ), include_directories : rootinc, implicit_include_directories : false, + name_suffix : module_suffix, install : true, install_dir : moduledir, link_with : dl_cross_irc_core, diff --git a/src/irc/flood/meson.build b/src/irc/flood/meson.build index 3c763beb..0ba94282 100644 --- a/src/irc/flood/meson.build +++ b/src/irc/flood/meson.build @@ -9,6 +9,7 @@ libirc_flood_a = static_library('irc_flood', implicit_include_directories : false, dependencies : dep) shared_module('irc_flood', + name_suffix : module_suffix, install : true, install_dir : moduledir, link_with : dl_cross_irc_core, diff --git a/src/irc/notifylist/meson.build b/src/irc/notifylist/meson.build index ab664d16..212d68e5 100644 --- a/src/irc/notifylist/meson.build +++ b/src/irc/notifylist/meson.build @@ -10,6 +10,7 @@ libirc_notifylist_sm = shared_module('irc_notifylist', ), include_directories : rootinc, implicit_include_directories : false, + name_suffix : module_suffix, install : true, install_dir : moduledir, link_with : dl_cross_irc_core, diff --git a/src/irc/proxy/meson.build b/src/irc/proxy/meson.build index be91c7d5..30ac90a4 100644 --- a/src/irc/proxy/meson.build +++ b/src/irc/proxy/meson.build @@ -9,6 +9,7 @@ shared_module('irc_proxy', + [ irssi_version_h ], include_directories : rootinc, implicit_include_directories : false, + name_suffix : module_suffix, install : true, install_dir : moduledir, dependencies : dep, diff --git a/src/otr/meson.build b/src/otr/meson.build index 10b9fa55..5b7d256f 100644 --- a/src/otr/meson.build +++ b/src/otr/meson.build @@ -11,6 +11,7 @@ shared_module('otr_core', ), include_directories : rootinc, implicit_include_directories : false, + name_suffix : module_suffix, install : true, install_dir : moduledir, dependencies : dep, diff --git a/src/perl/common/meson.build b/src/perl/common/meson.build index d3c98a88..5b174399 100644 --- a/src/perl/common/meson.build +++ b/src/perl/common/meson.build @@ -20,6 +20,7 @@ shared_module('Irssi', ) + [ irssi_version_h ], name_prefix : '', + name_suffix : perl_module_suffix, install : true, install_dir : perlmoddir / 'auto' / 'Irssi', include_directories : rootinc, diff --git a/src/perl/irc/meson.build b/src/perl/irc/meson.build index b65856ff..a95fd778 100644 --- a/src/perl/irc/meson.build +++ b/src/perl/irc/meson.build @@ -21,6 +21,7 @@ shared_module('Irc', 'module.h', ), name_prefix : '', + name_suffix : perl_module_suffix, install : true, install_dir : perlmoddir / 'auto' / 'Irssi' / 'Irc', include_directories : rootinc, diff --git a/src/perl/meson.build b/src/perl/meson.build index ad996acf..f859c7c4 100644 --- a/src/perl/meson.build +++ b/src/perl/meson.build @@ -33,6 +33,7 @@ libperl_core_sm = shared_module('perl_core', ], include_directories : [ rootinc ] + [ generated_files_inc ], implicit_include_directories : false, + name_suffix : module_suffix, install : true, install_dir : moduledir, install_rpath : perl_rpath, @@ -56,6 +57,7 @@ shared_module('fe_perl', ], include_directories : rootinc, implicit_include_directories : false, + name_suffix : module_suffix, install : true, install_dir : moduledir, dependencies : dep, diff --git a/src/perl/textui/meson.build b/src/perl/textui/meson.build index e0b83dd3..23c8d458 100644 --- a/src/perl/textui/meson.build +++ b/src/perl/textui/meson.build @@ -17,6 +17,7 @@ shared_module('TextUI', 'module.h', ), name_prefix : '', + name_suffix : perl_module_suffix, install : true, install_dir : perlmoddir / 'auto' / 'Irssi' / 'TextUI', include_directories : rootinc, diff --git a/src/perl/ui/meson.build b/src/perl/ui/meson.build index f9b8b41c..1577dcf6 100644 --- a/src/perl/ui/meson.build +++ b/src/perl/ui/meson.build @@ -15,6 +15,7 @@ shared_module('UI', 'module.h', ), name_prefix : '', + name_suffix : perl_module_suffix, install : true, install_dir : perlmoddir / 'auto' / 'Irssi' / 'UI', include_directories : rootinc,