diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5bb598bc..af0f90fb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -123,15 +123,16 @@ jobs: export WINEPREFIX=/tmp/prefix # Statically link to libstdc++ on Ubuntu 18.04, and also target a - # 32-bit OS - meson setup build --buildtype=release --cross-file=cross-wine.conf --unity=on --unity-size=10000 -Dbitbridge=true -Dcpp_link_args='-mwindows -static-libstdc++' -Dbuild.cpp_args='-m32' -Dbuild.cpp_link_args='-m32 -static-libstdc++' + # 32-bit OS. CLAP support is disabled here because it won't work with + # 64-bit plugins. + meson setup build --buildtype=release --cross-file=cross-wine.conf --unity=on --unity-size=10000 -Dbitbridge=true -Dclap=false -Dcpp_link_args='-mwindows -static-libstdc++' -Dbuild.cpp_args='-m32' -Dbuild.cpp_link_args='-m32 -static-libstdc++' ninja -C build - name: Strip remaining debug symbols - run: strip build/libyabridge{,-chainloader}-{clap,vst2,vst3}.so build/yabridge-host{,-32}.exe.so + run: strip build/libyabridge{,-chainloader}-{vst2,vst3}.so build/yabridge-host{,-32}.exe.so - name: Create an archive for the binaries run: | mkdir yabridge - cp build/libyabridge{,-chainloader}-{clap,vst2,vst3}.so build/yabridge-host{,-32}.exe{,.so} yabridge + cp build/libyabridge{,-chainloader}-{vst2,vst3}.so build/yabridge-host{,-32}.exe{,.so} yabridge cp CHANGELOG.md README.md yabridge tar -caf "$ARCHIVE_NAME" yabridge diff --git a/meson.build b/meson.build index db03b754..c00b02eb 100644 --- a/meson.build +++ b/meson.build @@ -27,6 +27,12 @@ with_system_asio = get_option('system-asio') with_winedbg = get_option('winedbg') with_vst3 = get_option('vst3') +# Cookies can't be stored correctly when the native host is 32-bit and the +# bridged plugin is 64-bit +if with_clap and with_32bit_libraries and is_64bit_system + error('CLAP support will not work correctly when using 32-bit yabridge libraries together with 64-bit host binaries.') +endif + # # Compiler flags #