protonscr

New "built-in options" meson section doesn't work on older meson

dxvkclosed
doitsujin/dxvk#1893 · opened 2021-01-11 by aeikum · updated 2021-01-13 · 3 comments · github
Aaeikum 2021-01-11 github

Older meson (<0.55) doesn't support the built-in options section introduced in 77af1026e24e8b913459c3dbef485fe7799a6a46. This means the link args get dropped, so the resulting binary depends on mingw-w64's libraries instead of pulling them in statically. E.g. when trying to load d3d11 in Wine:

err:module:import_dll Library libgcc_s_seh-1.dll (which is needed by L"C:\\windows\\system32\\d3d11.dll") not found

Since it's only a deprecation, I suggest reverting the change until newer Meson is more widely distributed. Here's Debian's current distribution, for example: https://packages.debian.org/search?keywords=meson

Aaeikum 2021-01-11 github

Cc @Kron4ek

Ddoitsujin maintainer 2021-01-11 github

sigh...

The PR was made because apparently reverting this change breaks newer meson versions so we might have a bit of a problem here. I know that Debian isn't going to support this until the next decade so we may need some other way to pass these arguments around.

FFireBurn 2021-01-13 github

It doesn't break newer versions, it just printed lots of deprecation warnings

DEPRECATION: c_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: c_link_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: cpp_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: cpp_link_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: fortran_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: fortran_link_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: objc_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: objc_link_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: objcpp_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: objcpp_link_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: c_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: cpp_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: c_link_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: cpp_link_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
The Meson build system
Version: 0.56.2

DLLs