Fix undefined symbol when built with VST3 disabled.

Commit cd5369c added some cleanup code to `libs/ardour/session.cc`,
which drags in the type info symbol of VST3PluginInfo. When built
with `--no-vst3`, the resulting binary dies at startup:

```
ld-elf.so.1: /usr/local/lib/ardour8/libardour.so.3: Undefined symbol
"_ZTIN6ARDOUR14VST3PluginInfoE"
```

Make that code compile conditional on VST3_SUPPORT.
Occurs on FreeBSD 14.0-RELEASE, clang 16.0.6, amd64.
This commit is contained in:
Florian Walpen 2024-03-25 15:35:01 +01:00
parent 0bb3c166e8
commit 845171807f
No known key found for this signature in database
GPG Key ID: E11C40B3BC8863BC
1 changed files with 5 additions and 0 deletions

View File

@ -136,7 +136,10 @@
#include "ardour/utils.h"
#include "ardour/vca_manager.h"
#include "ardour/vca.h"
#ifdef VST3_SUPPORT
#include "ardour/vst3_plugin.h"
#endif // VST3_SUPPORT
#include "midi++/port.h"
#include "midi++/mmc.h"
@ -881,10 +884,12 @@ Session::destroy ()
_transport_fsm->stop ();
#ifdef VST3_SUPPORT
/* close VST3 Modules */
for (auto const& nfo : PluginManager::instance().vst3_plugin_info()) {
std::dynamic_pointer_cast<VST3PluginInfo> (nfo)->m.reset ();
}
#endif // VST3_SUPPORT
DEBUG_TRACE (DEBUG::Destruction, "Session::destroy() done\n");