Abort build when using unity builds with 7.21/7.22

This may help prevent some broken yabridge builds.
This commit is contained in:
Robbert van der Helm
2022-11-28 13:23:48 +01:00
parent 7728d9ceb1
commit 1f6b5a4a81
3 changed files with 40 additions and 3 deletions
+20
View File
@@ -8,6 +8,20 @@ Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased] ## [Unreleased]
# Changed
- The yabridge builds on the GitHub releases page now have the unity build
option disabled. This _may_ work around the same Wine bug
[#53912](https://bugs.winehq.org/show_bug.cgi?id=53912) mentioned in the last
release, as the issue has not yet been fixed for Wine 7.22. But since this is
a low level bug within Wine, there's no guarantee that everything will work
correctly. If you still experience crashes or freezes with yabridge, then do
consider
[downgrading](https://github.com/robbert-vdh/yabridge#downgrading-wine) back
to Wine Staging 7.20.
- Yabridge's build system now errors out when doing unity builds with compiling
with Wine 7.21 and 7.22.
# Fixed # Fixed
- Changed the behavior when setting window positions for yabridge's editor. This - Changed the behavior when setting window positions for yabridge's editor. This
@@ -16,6 +30,12 @@ Versioning](https://semver.org/spec/v2.0.0.html).
redraw GUI, and especially with window managers that send excessive events on redraw GUI, and especially with window managers that send excessive events on
window movement like in Cinnamon and XFCE. window movement like in Cinnamon and XFCE.
### Packaging notes
- The `--unity=on` build option should be removed for the time being as this
together with the VST3 SDK triggers the above mentioned [Wine
bug](https://bugs.winehq.org/show_bug.cgi?id=53912).
## [5.0.1] - 2022-11-14 ## [5.0.1] - 2022-11-14
# Fixed # Fixed
+7 -3
View File
@@ -818,13 +818,17 @@ The following dependencies are included in the repository as a Meson wrap:
to allow Winelib compilation to allow Winelib compilation
- Version 1.1.1 of the [CLAP headers](https://github.com/free-audio/clap). - Version 1.1.1 of the [CLAP headers](https://github.com/free-audio/clap).
The project can then be compiled with the command below. You can remove or The project can then be compiled with the command below. ~~You can remove or
change the unity size argument if building takes up too much RAM, or you can change the unity size argument if building takes up too much RAM, or you can
disable unity builds completely by getting rid of `--unity=on` at the cost of disable unity builds completely by getting rid of `--unity=on` at the cost of
slightly longer build times. slightly longer build times.~~ This build command used to contain the
`--unity=on --unity-size=1000` option to reduce compile times and to allow for
better optimization. These options have temporarily been removed as they'll
result in a non-functional yabridge when used with Wine 7.21 and 7.22 due to
Wine bug [#53912](https://bugs.winehq.org/show_bug.cgi?id=53912).
```shell ```shell
meson setup build --buildtype=release --cross-file=cross-wine.conf --unity=on --unity-size=1000 meson setup build --buildtype=release --cross-file=cross-wine.conf
ninja -C build ninja -C build
``` ```
+13
View File
@@ -165,6 +165,19 @@ if wine_version.returncode() == 0
message('- Using legacy winedbg argument quoting') message('- Using legacy winedbg argument quoting')
compiler_options += '-DWINEDBG_LEGACY_ARGUMENT_QUOTING' compiler_options += '-DWINEDBG_LEGACY_ARGUMENT_QUOTING'
endif endif
# If the bug is not fixed in time for Wine 7.23, which is probably won't be,
# then this conditional won't be effective anymore for already released
# yabridge builds. But it may prevent some incorrectly packaged yabridge
# builds in the meantime.
if wine_version.stdout().version_compare('>=7.21') and \
wine_version.stdout().version_compare('<7.23') and \
get_option('unity') == 'on'
error('This version of Wine contains a bug that may cause yabridge to freeze ' +
'or crash on startup when the --unity=true option is enabled. ' +
'Remove this error from the meson.build file at your own risk if you ' +
'want to keep using unity builds.\n\n' +
'https://bugs.winehq.org/show_bug.cgi?id=53912')
endif
else else
warning('Unable to determine the current Wine version') warning('Unable to determine the current Wine version')
endif endif