lmms icon indicating copy to clipboard operation
lmms copied to clipboard

FindWine improvements

Open tresf opened this issue 9 months ago • 14 comments

Wine 5.0 Release notes:

  • Binaries built for a Windows target no longer depend on the libwine library, to enable them to run on Windows without any extra dependencies. The libwine library is no longer built for Windows at all.

Wine 9.0 Release notes

  • The libwine.so library is removed. It was no longer used, and deprecated since Wine 6.0. Winelib ELF applications that were built with Wine 5.0 or older will need a rebuild to run on Wine 9.0.

Fix RemoteVstPlugin.exe.so compilation for WineHQ builds.

-- Found Wine: /opt/wine-staging/bin/wineg++
--   WINE_INCLUDE_DIR:     /opt/wine-staging/include
--   WINE_CXX:             /opt/wine-staging/bin/wineg++
--   WINE_GCC:             /opt/wine-staging/bin/winegcc
--   WINE_32_FLAGS:        -L/opt/wine-staging/bin/../lib/wine/i386-unix/
--   WINE_64_FLAGS:        -L/opt/wine-staging/bin/../lib64/wine/x86_64-unix/

Supersedes #7260

Wine search order: (TBD)

  • wine-staging[-dev], wine-devel[-dev], wine-stable[-dev], <whatever your distro offers>
  • If your build fails after this PR please ensure the appropriate -dev package is installed!

Summary:

  • Uses NO_DEFAULT_PATH when locating files to avoid prefix mixing
  • Removes polluting CMAKE_PREFIX_PATH
  • Moves winegcc references to a new variable WINE_GCC
    • WINE_CXX is solely for wineg++.
  • Echo's found bin|include|libs to the CMake summary

Note, Ubuntu 20.04 ships with Wine 5.0, but WineHQ is 9.0 and these produce Windows VST interfaces that are incompatible with each other.

TODO:

  • [x] RemoteVstPlugin32.exe.so will build with wine-staging, but crashes. ldd output is missing libwine.so.1.
    • I can't find this information anywhere, but libwine.so.1 is no longer linked to executables created with Wine 9's wineg++. Furthemore, those executables seem to be incompatible with older Wine versions. Replacing package wine with package winehq-staging|devel|stable is fine as well, versions don't need to be identical.
  • [x] 64-bit VSTs effects are reported as not working, quoting:

    -1 — Today at 3:08 AM No 64bits effect plugins are working. 64bits instrument plugins seem to run properly

    • Cannot reproduce with this plugin. -1 claims a reboot fixed it. Marking as resolved.

tresf avatar May 19 '24 04:05 tresf