Commit graph

3023 commits

Author SHA1 Message Date
Alexandre Julliard 912fd620db makefiles: Define WINE_UNIX_LIB for all files that are built for Unix. 2023-06-12 21:21:41 +02:00
Zebediah Figura 14c44d0b0a xaudio2: Use the preprocessor to modify definitions in xaudio2.idl and xaudio2fx.idl.
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.
2023-06-07 22:48:27 +02:00
Billy Laws c29336fa78 configure: Stash host LDFLAGS when configuring cross-compilers. 2023-06-05 21:48:00 +02:00
Alexandre Julliard 00538ed195 configure: Don't create the wine64 symlink in multi-arch builds. 2023-05-25 16:21:17 +02:00
Mohamad Al-Jaf 9c46b673ba hrtfapo: Add stub DLL. 2023-05-02 22:21:26 +02:00
Zhiyi Zhang f88affa2a1 findstr: Add basic functionality.
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
2023-05-02 13:33:07 +02:00
Zhiyi Zhang 62af0b5f84 tasklist: Add basic functionality.
Company of Heroes: Battle of Crete needs a functioning tasklist.exe to exit properly.
2023-05-02 13:33:03 +02:00
Mohamad Al-Jaf 4d61854dc1 twinapi.appcore: Add stub DLL. 2023-04-25 17:59:35 +02:00
Alexandros Frantzis 8570016783 tools: Support building Wayland protocol source files.
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>
2023-04-21 09:59:37 +02:00
Henri Verbeet b8fe76a8b5 d3dcompiler: Store DXBC sections as vkd3d_shader_dxbc_section_desc structures. 2023-04-18 10:18:48 +02:00
Alexandre Julliard 438553e923 libs: Import the math library from upstream musl 1.2.3. 2023-04-04 09:43:51 +02:00
Mohamad Al-Jaf 19156ccfa7 cfgmgr32/tests: Add CM_MapCrToWin32Err tests. 2023-03-30 18:47:32 +02:00
Mohamad Al-Jaf 14768c0eca graphicscapture: Add stub DLL. 2023-03-27 11:05:34 +02:00
Alexandros Frantzis 50c1b1974f winewayland.drv: Perform basic per-process Wayland initialization.
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>
2023-03-16 12:52:37 +01:00
Alexandros Frantzis 2a79056e9a winewayland.drv: Add initial driver stub.
Add the initial driver stub for the Wayland driver and build it
by default.

Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
2023-03-16 12:52:37 +01:00
Mohamad Al-Jaf ffb664f1c5 windows.perception.stub: Add stub DLL. 2023-03-07 18:36:54 +01:00
Rémi Bernon ad5cb8305f winex11: Assume that Xkb extension is available. 2023-02-28 20:55:45 +01:00
Alexandre Julliard 7bc94bc8f0 libs: Import the Zydis library version 4.0.0.
Also some needed header files from Zycore version 1.4.1.
2023-02-27 16:36:22 +01:00
Alexandre Julliard 4a0f3fbcb5 winegcc: Stop using the deprecated prelink tool. 2023-02-27 11:01:47 +01:00
Alexandre Julliard 5c831122c9 libwine: Remove obsolete library. 2023-02-24 22:23:12 +01:00
Mohamad Al-Jaf 62bd7578f3 cryptowinrt/tests: Add ICryptographicBufferStatics interface test. 2023-02-23 17:30:29 +01:00
Hans Leidekker 77fdfdb8ef winscard/tests: Initial tests. 2023-02-22 21:14:21 +01:00
Hans Leidekker 8490c43f38 winscard: Implement SCardEstablish/ReleaseContext() on top of libpcsclite. 2023-02-22 21:14:20 +01:00
Hans Leidekker 8104688879 wpcap/tests: Initial tests. 2023-02-13 17:03:02 +01:00
Hans Leidekker 032e8d9c36 configure: Check for pcap_init() instead of pcap_create().
pcap_init() will be required by later patches and it was introduced after pcap_create().
2023-02-13 17:03:02 +01:00
Mohamad Al-Jaf 9e440328e7 windows.ui: Add stub DLL. 2023-02-10 19:11:03 +01:00
Mohamad Al-Jaf 9acf1bd6a8 d3d12core: Add stub DLL.
Forspoken checks for the existence of this DLL.
2023-02-10 19:09:16 +01:00
Zebediah Figura aff181e6d9 scardsvr: Add stub service.
The Rutoken driver installer tries to start this service, and fails if it
doesn't exist.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54396
2023-02-08 08:58:25 +01:00
Shaun Ren 91c1c05f5b ir50_32: Add stub dll. 2023-02-07 10:35:11 +01:00
Mohamad Al-Jaf db684bff7f windows.system.profile.systemmanufacturers: Add stub DLL. 2023-01-27 13:39:06 +01:00
Paul Gofman a0456fb31a msauddecmft: Add stub dll. 2023-01-27 13:39:06 +01:00
Paul Gofman f0e3e38aca msmpeg2vdec: Add stub dll. 2023-01-27 13:39:06 +01:00
Alexandre Julliard 9f0ae8c992 tools: Move signal masking to the common make_temp_file() helper. 2023-01-25 11:47:51 +01:00
Shaun Ren 2eecb04ca7 winegstreamer: Map MF_SD_LANGUAGE to ISO 639-1 for QuickTime media.
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.
2023-01-24 18:19:05 +01:00
Alexandre Julliard 42b0a3b917 configure: Enable printf format warnings for 64-bit PE builds. 2022-12-09 17:52:25 +01:00
Alexandre Julliard 79650e403b configure: Only require frame pointer on the MSVCRT side. 2022-12-09 17:52:25 +01:00
Alexandre Julliard 4091758b78 configure: Simplify checks for functions that require an external library. 2022-12-09 17:52:25 +01:00
Hans Leidekker de026dbd8e wofutil: New dll. 2022-12-08 18:41:25 +01:00
Jacek Caban 6a3c382df0 configure: Use -Wl,-WX for clang configure checks in MSVC mode.
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.
2022-12-06 17:04:50 +01:00
Alexandre Julliard bef0969722 ntdll: Move the .so module initialization to winecrt0.
Use new ELF tag ids to avoid breaking backwards compatibility.
2022-12-04 22:00:43 +01:00
Alexandre Julliard 92520c6a1a configure: Remove obsolete AL/al.h check. 2022-12-02 11:04:46 +01:00
Brendan Shanks 9207927d95 configure: Remove SystemConfiguration header check (always present on macOS). 2022-12-02 11:04:46 +01:00
Brendan Shanks c39e229163 configure: Remove Security.framework check (always present on macOS). 2022-12-02 11:04:46 +01:00
Brendan Shanks 6706784c33 configure: Remove Metal.framework check (present in all supported macOS SDKs). 2022-12-02 11:04:46 +01:00
Brendan Shanks 9645beb5c0 configure: Remove check for IOKit (always present on macOS). 2022-12-02 11:04:46 +01:00
Brendan Shanks ab8103e0e3 configure: Remove check for the HID Manager (always present on macOS). 2022-12-02 11:04:45 +01:00
Brendan Shanks c8f9ee0bf0 configure: Remove DiskArbitration.framework check (always present on macOS). 2022-12-02 11:04:45 +01:00
Brendan Shanks 8b415f8bb5 configure: Remove CoreAudio.h check (always present on macOS). 2022-12-02 11:04:45 +01:00
Brendan Shanks 40baab6444 configure: Remove Carbon.framework check (always present on macOS). 2022-12-02 11:04:45 +01:00
Brendan Shanks 650b6a9fc4 configure: Remove ApplicationServices.framework check (always present on macOS). 2022-12-02 11:04:45 +01:00
Brendan Shanks 87eb0a544a configure: Always enable Mac driver on macOS. 2022-12-02 11:04:45 +01:00
Jacek Caban eaae51b11c configure: Use -fuse-ld=lld also for compilation targets.
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.
2022-11-28 21:01:55 +01:00
Paul Gofman 25c52eb764 xinputuap.dll: Add new dll.
Based on a patch by Yusuf Khan <yusisamerican@gmail.com>.

Required for Halo Infinite.
2022-11-22 18:27:31 +01:00
Alexandre Julliard 5884e98fbe configure: Don't rename the loader to wine64 for multi-arch builds. 2022-11-22 18:27:30 +01:00
Piotr Caban b7d7b23a61 winprint: Add stub dll. 2022-11-21 18:03:53 +01:00
Mohamad Al-Jaf e0aca838c8 windows.media: Add stub DLL. 2022-11-21 13:00:32 +01:00
Zebediah Figura c7a97b5d5d configure: Override PKG_CONFIG_LIBDIR instead of PKG_CONFIG_PATH for 32-bit builds on 64-bit hosts.
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
2022-11-18 12:13:45 +01:00
Brendan Shanks 63bf2677ed configure: On macOS, build the loader targeting 10.7 when preloader is used.
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
2022-11-17 10:23:51 +01:00
Zhiyi Zhang b6818e2c20 explorer/tests: Add taskbar tests. 2022-11-17 10:00:24 +01:00
Alexandre Julliard 266c97107b configure: Skip the rest of the PE checks if the cross-compiler isn't detected.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53923
2022-11-15 21:21:27 +01:00
Hans Leidekker d08d6f5104 wldap32: Use the bundled liblber and libldap. 2022-11-15 21:21:27 +01:00
Hans Leidekker 02e52db7aa libs: Import code from upstream openldap 2.5.13.
Minimal set of files to compile libldap and liblber client libraries.
2022-11-15 21:21:27 +01:00
Erich E. Hoover 71afae901f ntdll: Add support for FreeBSD style extended attributes.
Signed-off-by: Joel Holdsworth <joel@airwebreathe.org.uk>
2022-11-14 13:17:31 +01:00
Alexandre Julliard 463af41f9c configure: Don't use LDFLAGS to initialize PE flags.
Essentially reapply c7bd6865e7 which
was lost in b1f59bc679.
2022-11-14 13:13:01 +01:00
Alexandre Julliard 45eca854c4 openal32: Remove dll.
It's not part of Windows, so applications have to ship the native
version anyway.
2022-11-09 21:23:41 +01:00
Mohamad Al-Jaf 21ae94d437 certutil: Add stub program.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53086
2022-11-07 21:16:10 +01:00
Mohamad Al-Jaf 82e8d6036f setx: Add stub program.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53755
2022-11-07 21:16:10 +01:00
Paul Gofman dde251a008 windows.gaming.ui.gamebar: Add stub DLL. 2022-11-04 19:23:56 +01:00
Alexandre Julliard b1f59bc679 makefiles: Add support for multiple PE architectures. 2022-11-01 10:29:49 +01:00
Alexandre Julliard 37910bebfd configure: Remove no longer needed check for dlltool. 2022-10-31 20:41:44 +01:00
Alexandre Julliard efa6b9f647 d2d1: Use a gcc pragma instead of a compiler flag for -fexcess-precision.
This will be needed to support building multiple architectures from
the same tree.
2022-10-14 18:03:25 +02:00
Erich E. Hoover 1cd1a28670 ntdll: Implement retrieving DOS attributes in [fd_]get_file_info().
Co-authored-by: Joel Holdsworth <joel@airwebreathe.org.uk>
Signed-off-by: Joel Holdsworth <joel@airwebreathe.org.uk>
2022-10-10 12:23:14 +02:00
Nikolay Sivov 09cb9cd1c6 cryptowinrt: Add a stub module.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-09-20 09:28:35 +02:00
Nikolay Sivov 0f25fadb14 threadpoolwinrt: Add initial implementation of RunAsync.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-09-20 09:26:11 +02:00
Nikolay Sivov 511be2e86d threadpoolwinrt: Add a stub module.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-09-20 09:26:08 +02:00
Shaun Ren 6d2a9af43b msvcrt: Fix strncmp return value.
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>
2022-09-19 20:12:32 +02:00
Julian Klemann b03c2d959e windows.devices.enumeration/tests: Add test for Stopped DeviceWatcher event.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53328
2022-09-14 22:38:35 +02:00
Alexandre Julliard 8b7baa1128 configure: Use --disable-stdcall-fixup for all PE builds. 2022-09-12 12:46:25 +02:00
Piotr Caban 852bbe6d54 compstui: Add CommonPropertySheetUI tests. 2022-08-17 19:23:12 +02:00
Nikolay Sivov ed7762c1fa mfsrcsnk/wave: Add a sink stub.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-15 18:14:04 +02:00
Nikolay Sivov 73d6ca6e1e mfsrcsnk: Add a stub dll.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-15 18:14:01 +02:00
Martin Storsjö 59b5b79c0c configure: Downgrade -Wincompatible-function-pointer-types to a warning on ARM.
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>
2022-08-15 18:13:23 +02:00
Zebediah Figura c94be0460c wined3d: Redirect vkd3d log output to the Unix stderr. 2022-07-22 19:58:09 +02:00
Zhiyi Zhang 5739db59d4 atl: Avoid NULL pointer reference in AtlComModuleGetClassObject().
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
2022-07-07 19:10:02 +02:00
Paul Gofman f3c36f7256 msvcp140_2: Add stub dll. 2022-07-04 18:04:03 +02:00
Connor McAdams 7d5708a182 ia2comproxy: Introduce new proxy stub DLL for IAccessible2.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2022-06-15 21:48:52 +02:00
Rémi Bernon 5387718c6f wmadmod: Remove unnecessary DLL.
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>
2022-05-18 17:30:33 +02:00
Chip Davis 2264663c74 nsiproxy.sys: Implement IPv6 ipstats get_all_parameters on Mac OS and BSD.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-13 22:11:41 +02:00
Chip Davis 84e9696078 nsiproxy.sys: Implement IPv6 icmpstats get_all_parameters on Mac OS and BSD.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-13 22:11:41 +02:00
Chip Davis 0a70e1ac63 configure: Check for struct icmpstat.
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>
2022-05-13 22:11:41 +02:00
Zebediah Figura c111332d1b xslt: Use win32config.h from the correct directory.
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>
2022-05-12 12:34:17 +02:00
Zhiyi Zhang 1c5d218ffb wintypes: Implement IApiInformationStatics stubs.
Required for Iragon: Prologue.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-06 21:45:48 +02:00
Torge Matthies a2bc9e5f36 sc/tests: Add tests.
Signed-off-by: Torge Matthies <tmatthies@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-03 20:39:10 +02:00
Zhiyi Zhang 47b9dc3dde windows.networking: Add stub dll.
Required for Iragon: Prologue.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-25 15:08:43 +02:00
Zhiyi Zhang cad1e21332 wintypes: Add stub dll.
Required for Iragon: Prologue.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-22 13:09:14 +02:00
Paul Gofman 4c90f58bb5 msvcr80: Fix ioinfo structure definition.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-05 17:50:57 +02:00
Alexandre Julliard 0aa31b735c configure: Try to detect a C99 flag for the cross compiler.
Similar to what AC_PROC_CC does for the host compiler.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52723
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-25 11:19:12 +01:00
Dmitry Timoshkov 36ac0c1cfb dllhost: Add stub implementation.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-08 22:43:36 +01:00
Zebediah Figura b8cb9195d0 configure: Fix the check for CAPI support.
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>
2022-03-08 09:33:50 +01:00
Brendan Shanks 7b27e60e67 makefiles: On macOS, use @rpath instead of @loader_path when building Unix libs.
Fixes launching 32-bit EXEs from a WOW64 build dir.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52618
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-08 09:32:37 +01:00