diff --git a/meson.build b/meson.build index 740962ee..b3e87bb6 100644 --- a/meson.build +++ b/meson.build @@ -35,6 +35,12 @@ with_vst3 = get_option('with-vst3') # application to use based on the `.dll` file it's trying to load. This setup is # necessary until Meson provides a way to have multiple cross-builds for a # single build directory: https://github.com/mesonbuild/meson/issues/5125 + +# These variables are used to generate a `config.h` file. The library names will +# be prefixed with `lib` and suffixed with `.so`, and the host names will be +# suffixed with `.exe`. +vst2_plugin_name = 'yabridge-vst2' +vst3_plugin_name = 'yabridge-vst3' individual_host_name_64bit = 'yabridge-host' individual_host_name_32bit = 'yabridge-host-32' group_host_name_64bit = 'yabridge-group' @@ -245,7 +251,7 @@ subdir('src/plugin') subdir('src/wine-host') shared_library( - 'yabridge-vst2', + vst2_plugin_name, vst2_plugin_sources, native : true, include_directories : include_dir, @@ -290,7 +296,7 @@ if with_vst3 # This is the VST3 equivalent of `libyabridge-vst2.so`. The Wine host # applications can handle both VST2 and VST3 plugins. shared_library( - 'yabridge-vst3', + vst3_plugin_name, vst3_plugin_sources, native : true, include_directories : include_dir, diff --git a/src/common/config/config.h.in b/src/common/config/config.h.in index 02d3da2d..c207ecb4 100644 --- a/src/common/config/config.h.in +++ b/src/common/config/config.h.in @@ -17,8 +17,18 @@ #pragma once /** - * The name of the Wine VST host application, e.g. `yabridge-host.exe` for the - * regular 64-bit build. + * The name of yabridge's VST2 library, e.g. `libyabridge-vst2.so`. + */ +constexpr char yabridge_vst2_plugin_name[] = "@vst2_plugin_name@"; + +/** + * The name of yabridge's VST3 library, e.g. `libyabridge-vst3.so`. + */ +constexpr char yabridge_vst3_plugin_name[] = "@vst3_plugin_name@"; + +/** + * The name of the Wine plugin host application, e.g. `yabridge-host.exe` for + * the regular 64-bit build. */ constexpr char yabridge_individual_host_name[] = "@individual_host_binary_64bit@"; @@ -30,7 +40,7 @@ constexpr char yabridge_individual_host_name[] = constexpr char yabridge_group_host_name[] = "@group_host_binary_64bit@"; /** - * The name of the 32-bit Wine VST host application, e.g. + * The name of the 32-bit Wine plugin host application, e.g. * `yabridge-host-32.exe`.` This is used as a bitbridge to be able to load * legacy 32-bit only Windows plugins from a 64-bit Linux host. */ diff --git a/src/common/config/meson.build b/src/common/config/meson.build index 6a1e958c..b4e1425c 100644 --- a/src/common/config/meson.build +++ b/src/common/config/meson.build @@ -5,6 +5,8 @@ config_header = configure_file( output : 'config.h', configuration : configuration_data( { + 'vst2_plugin_name': 'lib' + vst2_plugin_name + '.so', + 'vst3_plugin_name': 'lib' + vst3_plugin_name + '.so', 'individual_host_binary_32bit': individual_host_name_32bit + '.exe', 'individual_host_binary_64bit': individual_host_name_64bit + '.exe', 'group_host_binary_32bit': group_host_name_32bit + '.exe',