Instead of including the IDLs directly, define a local IDL that #includes them,
with XAUDIO2_VER defined, and include that generated header.
Get rid of compat.c, and use XAUDIO2_VER to modify the code in the other source
files.
Build the tests for both xaudio2_7 and xaudio2_8 using PARENTSRC, and use
XAUDIO2_VER to select between them. This mirrors the approach taken for
d3dcompiler, and makes it easier to test more xaudio2 versions in the future.
Company of Heroes: Battle of Crete needs a functioning findstr.exe to exit properly.
Freemake Video Converter 4.1 installer also needs this.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=35254
Wayland protocol descriptions are distributed as source XML files that
need to be transformed to C source and header files with a version of
the wayland-scanner tool compatible with the used libwayland library.
This commit enhances the makedep build tool to support building such
Wayland protocol XML files.
Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
Try to connect to the Wayland compositor, and fail driver initialization
if we are unable to do so.
Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
For QuickTime media, MF_SD_LANGUAGE contains the ISO 639-1-mapped
language code. Some games such as Borderlands 3 expect this behaviour.
In order to determine the type of the media, we store the demuxer caps
in the wg_parser structure.
LLD by default emits only a warning for unknown arguments. This makes
it pass -Wl,--disable-stdcall-fixup check, which is in fact an invalid
option (and disabled by default anyway), causing warnings spam during
the build.
This is used by clang to distinguish between MSVC and windows-itanium
targets. We override default option (usually meant for native builds)
to make sure that we use the right target.
This allows 32-bit packages to be found when the user has specified
PKG_CONFIG_PATH for some other reason.
This also mirrors the way e.g. i686-linux-gnu-pkg-config is implemented on
Debian, and possibly other distributions as well.
This also prevents 64-bit .pc files from being found. This was originally
intended as a benefit [1], but can contribute to misdetection of headers which
are not actually multiarch (e.g. GStreamer, although at the time that [1] was
written that was a preëxisting problem). In general a distribution which
provides .pc files for one architecture should be expected to provide them for
any architecture that it actually provides libraries for; even if that was not
true of Debian in 2017, it is now. I moreover assert it is better to fail to
find a present library than to incorrectly find the wrong one.
Note that we can't easily use i686-linux-gnu-pkg-config, as would otherwise be
preferable, for reasons also described in [1].
[1] https://www.winehq.org/pipermail/wine-devel/2017-June/118002.html
Building the loader targeting 10.7 (to generate an LC_UNIXTHREAD binary)
seems to fix an issue in the Mac driver with 10.13 and earlier where
window layers wouldn't update correctly.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52354
Some programs, such as Final Fantasy IV (3D remake), expect strncmp
to return exactly +/-1 when the strings are not equal.
Signed-off-by: Shaun Ren <sren@codeweavers.com>
Clang 16 is defaulting -Wincompatible-function-pointer-types to
an error instead of a warning. This isn't an issue for most of Wine,
but the error shows up in a lot of cases if doing a non-PE build for
ARM (32 bit, 64 has no such issues), in particular around the integration
of libxml2 and faudio.
The root cause of the issue is that some functions are specified with
e.g. __attribute__((pcs("aapcs-vfp"))) - which is equal to the
default calling convention when compiling with -mfloat-abi=hard - but
Clang's warning doesn't treat such function pointers as equal. (This
could maybe be considered a bug or limitation in Clang though.)
There's also some smaller amount of cases where our attributes
actually do conflict, where we mix __attribute__((pcs("aapcs"))), i.e.
arm softfloat calling convention, with the default calling convention
(which is set to hardfloat), but they drown in the noise from the
other ones.
Therefore, on arm, try to downgrade this diagnostic back to a warning,
not an error - while keeping the warnings visible.
Signed-off-by: Martin Storsjö <martin@martin.st>
It was initially meant for tests, which are all now in dlls/mf as well,
and for the WMA decoder. The class is supposed to live in this DLL but
because of the winegstreamer implementation, it cannot in Wine.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
NetBSD no longer has statistics structures. Instead, it stores them as
arrays of integer counters. It's backwards compatible with the old
statistics structures, but the struct definitions are missing. This has
likely been broken on NetBSD for quite some time as a result.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This also fixes the build with external libxml2 but bundled libxslt.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
AC_CHECK_LIB sets the variable to "no", not an empty string. Hence compilation
would fail if headers were present but libraries were missing.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>