This fixes a regression from 450c358881dbc6dcfb2692b8f4debb7db8fdc54b;
after testing for -Wl,-z,defs, CFLAGS was restored from an
incorrect variable, leaving CFLAGS essentially empty.
This would break builds for e.g. arm with Clang, where -mthumb would
be essential for being able to build some inline assembly snippets
correctly.
This also had the effect of dropping the default "-g -O2" arguments
from CFLAGS.
Signed-off-by: Martin Storsjö <martin@martin.st>
The header is unused, and the header check fails with:
configure:7860: checking for PCSC/pcsclite.h
configure:7860: gcc -m32 -c -g -O2 conftest.c >&5
In file included from conftest.c:50:
[...]/include/PCSC/pcsclite.h:45:10:
fatal error: wintypes.h: No such file or directory
45 | #include <wintypes.h>
| ^~~~~~~~~~~~
Fixes: d405a688ba
For example, currently, if --enable-archs=i386,x86_64 is used, and there is an
x86_64 cross compiler present but no i386 cross compiler, Wine will silently
remove i386 from the list of cross-compiled architechtures, and only compile
PE code for x86_64. This seems quite undesirable.
I am not aware of any practical reason for this to happen. Debian does ship
i686 and x86_64 MinGW compilers in separate packages, though, so it is possible
in theory.
It's a clean-room reimplementation that mimics Windows 10 program's output format.
It prints all the information that is available via KerbQueryTicketCacheMessage.
Also tested to work on Windows if dynamically linked + built with winegcc.
For further extension of the functionality, implementing
KerbQueryTicketCacheEx{,2,3}Message is required.
A zerofill section is the only way to reserve address space and prevent
system frameworks from using it, including preventing allocations
before any preloader code runs:
- starting with Ventura, dyld allocates private memory from 0x1000-0x81000.
This breaks EXEs that have an image base of 0x10000.
- Rosetta allocates memory starting at 0x100000000, which breaks EXEs based there.
- starting with Monterey, for proper 10.7 binaries (which include a __program_vars section),
libSystem initializes itself before the preloader runs. This fragments the <4GB
address space which is needed for Wow64.
This will need to be adjusted if any EXEs based at 0x200000000 or higher
are found.
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