Commit Graph

5769 Commits

Author SHA1 Message Date
Rémi Bernon 280932536f widl: Support fully qualified names in WinRT mode.
Interfaces are going to reference each other across namespaces, so this
implements a type lookup with the full name.

It supports the following idl syntax in WinRT mode:

    #ifdef __WIDL__
    #pragma winrt ns_prefix
    #endif

    import "wtypes.idl";

    namespace Windows {
        namespace Foo {
            [object]
            interface IFoo {}
        }
        namespace Bar {
            [object]
            interface IBar { HRESULT DoBar([in] Windows.Foo.IFoo *foo); }
        }
    }

That was previously failing to parse the Windows.Foo.IFoo part and to
lookup the corresponding type.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-07 21:07:00 +02:00
Rémi Bernon 6698a2ef7f widl: Output interface C names in method argument list.
This fixes WinRT interface generation where only simple names were used
instead of the C interface names.

With the previous sample idl:

    #ifdef __WIDL__
    #pragma winrt ns_prefix
    #endif

    import "wtypes.idl";

    namespace Windows {
        [object]
        interface IFoo {}

        [object]
        interface IBar { HRESULT DoBar([in] IFoo *foo); }
    }

$ widl -o windows.foo.h windows.foo.idl

Generated file diff before/after:

    diff --git a/windows.foo.h b/windows.foo.h
    index 3790dc7..65151cb 100644
    --- a/windows.foo.h
    +++ b/windows.foo.h
    @@ -123,7 +123,7 @@ typedef struct __x_ABI_CWindows_CIBarVtbl {
         /*** IBar methods ***/
         HRESULT (STDMETHODCALLTYPE *DoBar)(
             __x_ABI_CWindows_CIBar *This,
    -        IFoo *foo);
    +        __x_ABI_CWindows_CIFoo *foo);

         END_INTERFACE
     } __x_ABI_CWindows_CIBarVtbl;
    @@ -138,7 +138,7 @@ interface __x_ABI_CWindows_CIBar {
     #define __x_ABI_CWindows_CIBar_DoBar(This,foo) (This)->lpVtbl->DoBar(This,foo)
     #else
     /*** IBar methods ***/
    -static FORCEINLINE HRESULT __x_ABI_CWindows_CIBar_DoBar(__x_ABI_CWindows_CIBar* This,IFoo *foo) {
    +static FORCEINLINE HRESULT __x_ABI_CWindows_CIBar_DoBar(__x_ABI_CWindows_CIBar* This,__x_ABI_CWindows_CIFoo *foo) {
         return This->lpVtbl->DoBar(This,foo);
     }
     #endif

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-07 21:07:00 +02:00
Rémi Bernon f4f612a077 widl: Search for known types in current namespace.
Fixes the following error with this sample idl:

    #ifdef __WIDL__
    #pragma winrt ns_prefix
    #endif

    import "wtypes.idl";

    namespace Windows {
        [object]
        interface IFoo {}

        [object]
        interface IBar { HRESULT DoBar([in] IFoo *foo); }
    }

$ widl -o windows.foo.h windows.foo.idl
windows.foo.idl:13: error: type 'IFoo' not found

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-07 21:07:00 +02:00
Nikolay Sivov 5d5329936e api-ms: Redirect com-private to combase.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-02 16:30:04 +02:00
Martin Storsjo 7ca68a8631 winedump: Fix the dumping of arm64 packed float restoration.
This previously dumped one register pair too few.

Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-28 19:28:24 +02:00
Alexandre Julliard 75e616d52b ntdll: Clear the syscall frame on return instead of popping the previous one.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-27 12:14:35 +02:00
Paul Gofman 2255a21bc6 wmc: Add Null facility.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-25 19:31:43 +02:00
Alexandre Julliard 0e7f6e0ed3 winebuild: Allow syscalls to use the cdecl convention.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-25 13:51:37 +02:00
Alexandre Julliard 7571fa87df makefiles: Don't implicitly import the module itself when -nodefaultlibs is used.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-24 22:14:44 +02:00
Martin Storsjo af6853278f winedump: Fix dumping of rare arm64 unwind opcodes.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-21 15:00:29 +02:00
Martin Storsjo 849d08b0ae winebuild: Use the right arm64 page/pageoff relocation syntax for darwin.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-18 22:32:25 +02:00
Francois Gouget fb5cd3cf16 winapi: Update win16.api.
Wine no longer has winedos16.dll and wprocs.dll and display.drv,
keyboard.drv and mouse.drv have a .drv extension, not a .dll one.

Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-18 21:41:04 +02:00
Francois Gouget f57c5dde00 winapi: Remove obsolete entries from win32.api.
Wine no longer has d3dx8.dll, d3dxof.dll, glut32.dll, msacmmap.dll,
winedos.dll, wineesd.drv, winenas.drv and winetty.drv dlls.

Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-18 21:41:02 +02:00
Martin Storsjo 11bb6deb08 tools: Upgrade the config.guess/config.sub scripts.
The updated version recognizes arm64 macos.

Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-14 22:04:03 +02:00
Serge Gautherie 84458b1927 winapi_test: Minor $pointer_size check consistency tweak.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-13 12:29:09 +02:00
Serge Gautherie 78e9192d07 winapi_test: '* long *' is 4 bytes, not pointer size, on Windows.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-13 12:29:05 +02:00
Serge Gautherie 4cd1aa12b9 winapi_test: Escape parentheses in regexp, Allow spaces around them.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-13 12:28:54 +02:00
Serge Gautherie 44df633d19 winapi_test: PshpackN.h can only be 1/2/4/8.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-13 12:28:49 +02:00
Serge Gautherie 99c0ab2ea1 winapi_test: Restore horizontal alignment of macro defines.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-10 21:26:15 +02:00
Serge Gautherie c26d7470cc winapi_test: Horizontally align TEST_TYPE_SIGNED() parameter.
Signed-off-by: Serge Gautherie <reactos-git_serge_171003@gautherie.fr>
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-10 21:25:56 +02:00
Serge Gautherie 49936b31b3 winapi: Use $cwd variable instead of pwd command.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-10 21:25:46 +02:00
Louis Lenders 470e4828d1 api-ms-win-core-file-ansi-l2-1-0: Add dll.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49477
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-04 20:22:39 +02:00
Louis Lenders 0f04021328 api-ms-win-core-file-fromapp-l1-1-0: Add dll.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49477
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-04 20:22:39 +02:00
Louis Lenders c1202d43a8 api-ms-win-core-memory-l1-1-3: Add dll.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49477
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-04 20:22:38 +02:00
Alexandre Julliard cff04b34ac winebuild: Always use DllMain as entry point for the 32-bit side of a 16-bit module.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49559
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-03 12:06:08 +02:00
Jacek Caban fd71ffb44a winegcc: Try using msvc file align syntax if mingw-style is not supported.
Allows setting file alignment on LLD 10.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-01 10:00:18 +02:00
Jacek Caban 5e4ca097be winegcc: Support file alignment on msvc target.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-01 10:00:18 +02:00
Alexandre Julliard 15b3584603 winebuild: Store the syscall frame in the thread data on ARM64.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-28 13:35:30 +02:00
Alexandre Julliard 28e443d9e2 winebuild: Store the syscall frame in the thread data on ARM.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-28 13:31:59 +02:00
Alexandre Julliard 9a7c56d9e7 winebuild: Store the syscall frame in the thread data on x86_64.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-28 13:10:28 +02:00
Alexandre Julliard 8e3b5183cc winebuild: Store the syscall frame in the thread data on i386.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-28 13:00:50 +02:00
Serge Gautherie 866f672505 winapi: Update 'perl -w' to 'use warnings 'all''.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-24 18:37:54 +02:00
Serge Gautherie a771e58ef3 winapi_test: Fix 'MIXERLINECONTROL[AW]' typos.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-24 18:26:18 +02:00
Serge Gautherie 151af8c042 winapi_test: Remove MIDL_STUB_MESSAGE field exclusions.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-24 18:26:18 +02:00
Alexandre Julliard 0e4d22bd8d winegc: Support overriding the default PE file alignment.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-23 22:30:49 +02:00
Rémi Bernon e36bed4f37 winegcc: Align sections in PE files to page size.
This makes sure it will be possible to mmap the section directly instead
of having to copy them. It then also makes perf able to figure the code
origin for Wine modules.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-23 22:30:49 +02:00
Serge Gautherie db11d6dcca winapi_test: Add a blank line between common and specific headers.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-21 15:15:51 +02:00
Serge Gautherie 0c3fd2238e winapi_test: Remove useless winbase.h for wininet test.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-21 15:15:50 +02:00
Serge Gautherie d67b1fe51c winapi_test: Remove useless common headers for shlwapi test.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-21 15:15:48 +02:00
Serge Gautherie 246e9e4358 winapi_test: Add common headers for rpcrt4 test.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-21 15:15:46 +02:00
Serge Gautherie 181a114d44 winapi_test: Fix a verifying loop on headers, which never finds any type name.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-21 15:15:43 +02:00
Serge Gautherie 5c427685fb winapi_test: Remove leftover PUUID_VECTOR from tests.dat.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-21 15:15:41 +02:00
Serge Gautherie 1960df8a2a winapi_test: Add/remove headers for urlmon test.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 13:25:08 +02:00
Paul Gofman e9b3660e72 ntdll: Always align stack pointer in __wine_syscall_dispatcher on x64.
Syscall thunks break stack alignment for dispatcher. Regardless of that,
it is probably better not to assume aligned stack in syscall thunk entry.

Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-14 22:31:27 +02:00
Jacek Caban 35352575e4 server: Remove no longer needed fill_console_output request.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-14 18:27:59 +02:00
Jacek Caban 7e4ea871a3 winebuild: Use asm_name for __wine_syscall.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-09 17:41:09 +02:00
Alexandre Julliard 461fc592ad winebuild: Fix retrieving syscall arg length on x86_64.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-09 13:04:05 +02:00
Alexandre Julliard 917a206b01 winebuild: Generate Windows-style syscall thunks on x86_64.
Based on patches by Michael Müller.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-08 14:38:23 +02:00
Alexandre Julliard 20715ee3fd winebuild: Generate Windows-style syscall thunks on x86.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-08 14:38:20 +02:00
Zebediah Figura d33474fa6b winebuild: Fix a spelling error in a comment.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-08 07:49:33 +02:00
Zebediah Figura 37238a74a5 api-ms-win-core-systemtopology-l1-1-0: New DLL.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-07 19:24:27 +02:00
Alexandre Julliard b2d09cbb21 winebuild: Add generation of system call thunks.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-07 13:07:23 +02:00
Alexandre Julliard a0266339c7 winebuild: Add a -syscall entry point flag
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-07 13:07:23 +02:00
Alexandre Julliard 66fb3802d3 winebuild: Allow specifying a spec file also for Unix libraries.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-06 16:17:24 +02:00
Alexandre Julliard e6632e0412 winebuild: Don't use a dll entry point for Unix libraries.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-01 10:59:35 +02:00
Alexandre Julliard 2cf256686e makefiles: Use -munix when building a Unix library.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-01 10:59:35 +02:00
Alexandre Julliard cbc35152c4 winegcc: Pass -mno-cygwin and -munix flags directly to winebuild.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-01 10:59:35 +02:00
Alexandre Julliard 7933562048 winebuild: Support a -mno-cygwin flag.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-01 10:59:35 +02:00
Paul Gofman 19aa67d170 winebuild: Correct hotpatching prologue in import thunks for x86_64.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48938
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-26 20:58:50 +02:00
Alexandre Julliard cee48cc789 winebuild: Make the 32-bit side of a 16-bit module always a DLL.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-19 15:14:12 +02:00
Dmitry Timoshkov 77bf4d4973 winedump: Fix parsing of SLTG typelib created with some old tool.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49372
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-15 20:56:17 +02:00
Alexandre Julliard c873db8c1d makefiles: Also build import libs for extra test modules.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-12 19:40:49 +02:00
Martin Storsjo d51c5723c3 widl: Make decl_needs_parens static.
This function lacks a declaration in header.h and isn't used
outside of this source file.

This fixes warnings about missing a prototype, when built as part
of mingw-w64-tools (where it is built with -Wmissing-prototypes).

Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-12 17:16:26 +02:00
Alexandre Julliard b925dd78b8 ntdll: Use the actual zero_bits parameter in the server requests.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-01 22:10:28 +02:00
Nikolay Sivov 75a34d9408 dwrite: Add properties for recently added scripts.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-01 22:10:28 +02:00
Austin English f3faf6b2ad api-ms-win-downlevel-kernel32-l2-1-0: New dll.
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-01 22:10:28 +02:00
Jacek Caban 0db5f6cf1b winegcc: Add support for -Wl,--whole-archive option.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-26 10:00:30 +02:00
Jacek Caban c5ee64a101 winegcc: Add support for @file arguments.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-26 10:00:29 +02:00
Jacek Caban f42e4431fb winegcc: Store main arguments in strarray.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-26 10:00:26 +02:00
Jacek Caban e9de7761cd winegcc: Pass only raw compiler and linker arguments in forward mode.
Fixes use case like:
CC=winegcc -b i686-w64-mingw32
$CC --version

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-20 20:12:02 +02:00
Jacek Caban 14d97456a9 winegcc: Default to ucrtbase.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-18 19:48:56 +02:00
Jacek Caban 7a1a77b676 makedep: Install also generated typelib for installed idl files.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-18 11:54:52 +02:00
Emilio Cobos Álvarez b1084ff910 widl: Use DECLSPEC_ALIGN in MSVC compatible way for return types too.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49173
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-18 11:54:40 +02:00
Alexandre Julliard 9b8afa0f83 ntdll: Move the Wine version functions to the Unix library.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-17 16:54:39 +02:00
Alexandre Julliard b7e3c93159 makefiles: Add support for building Unix .so libraries.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-14 23:12:31 +02:00
Alexandre Julliard 469058acc1 winegcc: Allow the output file to end in .so.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-14 23:12:31 +02:00
Jacek Caban 83d00d328f makedep: Support split debug for cross compiled modules.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-14 23:12:31 +02:00
Jacek Caban 942e298308 winegcc: Introduce --debug-file option for generating separated symbol files.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-14 23:12:31 +02:00
Jacek Caban d784de82c8 winegcc: Use --safeseh winebuild option on msvc target.
lld-link requires all x86 object files to be SEH compatible unless it's
explicitly disabled.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-06 19:02:58 +02:00
Jacek Caban e4e05cdaab winebuild: Introduce --safeseh option that allows marking assembly files as SEH compatible.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-06 19:02:55 +02:00
Jacek Caban 35a7ed0c78 winegcc: Add support for msvc target.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-04 17:33:52 +02:00
Jacek Caban 66aa39d959 winegcc: Use libgcc only on mingw target.
It's not available for msvc, but we get all we need from importlibs there.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-04 17:33:35 +02:00
Jacek Caban 2dee9b9874 winegcc: Make mingw a separated platform from msvc.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-04 17:33:28 +02:00
Jacek Caban 78ce43f017 winegcc: Explicitly pass DLL crt entry point to PE linker when Wine crt is used.
Linkers don't agree on its default.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-04 17:33:00 +02:00
Jacek Caban 346cbb6f26 winegcc: Add entry symbol underscore when building linker command.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-04 17:32:39 +02:00
Alexandre Julliard 6cc475dbe5 wrc: Remove some dead code.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-30 12:37:27 +02:00
Zebediah Figura dedd5ccc88 sechost: New stub DLL.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-27 12:02:54 +02:00
Zebediah Figura feeb1c7c24 include: Rename LDR_MODULE to LDR_DATA_TABLE_ENTRY.
This name is used in Microsoft's public winternl.h.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-24 10:13:39 +02:00
Serge Gautherie 0939a3f7f2 winegcc: Reorder DECLSPEC_NORETURN on error().
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-23 12:57:45 +02:00
Jacek Caban c18443aadb makedep: Don't try to use .delay.a extension for non-PE delay imports.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-22 19:31:13 +02:00
Alexandre Julliard 62807be8c9 makefiles: Explicitly import libwine where necessary.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-21 12:00:08 +02:00
Alexandre Julliard 1ccd638b1a winegcc: No longer use a constructor for module initialization.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-21 11:27:53 +02:00
Alexandre Julliard 7193243431 winebuild: Don't use a constructor for dll modules either.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-21 11:27:33 +02:00
Jacek Caban 4fd8190ef1 widl: Use DECLSPEC_ALIGN in MSVC compatible way.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-20 20:55:04 +02:00
Alexandre Julliard c30d30d328 winegcc: Fixup constructors after building a module.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-16 22:10:03 +02:00
Alexandre Julliard 6c4046fef1 winebuild: Add --fixup-ctors option to allow intercepting constructors in .so files.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-16 22:10:03 +02:00
Alexandre Julliard 593c38cb95 winebuild: Set page size to 4096 also on ARM64.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-16 22:10:03 +02:00
Alexandre Julliard b336a084d6 winegcc: Only use a constructor for dll modules.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-15 20:03:30 +02:00
Alexandre Julliard a4677fa23a winebuild: Only generate a constructor for dll modules.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-15 20:03:30 +02:00
Alexandre Julliard 3622b9ab15 winegcc: Use the CRT startup code also for non-PE builds.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-15 17:21:07 +02:00
Francois Gouget 8bd4bc4716 winapi_test: Add support for more base types.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-14 22:08:19 +02:00
Francois Gouget 1c9077f13d winapi: Skip #if 0 sections.
They are typically used as 'super comments' and may not contain C code.
They are also typically not nested so this ignores nesting.

Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-14 22:08:14 +02:00
Francois Gouget 4c554940d4 winapi: Ignore function declarations that are too complex.
A few function declarations are simply too complex for the winapi
parser. Some are because they are in fact macro calls, and other because
they mix parentheses with array declarations or strange function pointer
types.
When that happens print an error message and ignore the function
declaration.

Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-14 22:08:10 +02:00
Francois Gouget ebbc0686ec winapi: Add support for some new spec file declarations.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-14 22:08:02 +02:00
Francois Gouget e5531732ae winapi_test: Clarify the error message regarding struct size and alignment.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-14 22:07:58 +02:00
Francois Gouget 13c69ae840 winapi: Allow DECLSPEC_ALIGN() in typedef declarations.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-14 22:07:53 +02:00
Francois Gouget eb85be50f4 winapi: Tweak a couple of typedef error messages.
This makes them more unique, making it easier to find which part of the
code issues these error messages.

Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-14 22:07:49 +02:00
Francois Gouget 5fec867694 winapi_check: Fix support for .ocx API documentation.
The module name must include non-default extensions, for instance
'wshom.ocx'. Truncating the module name prevents later lookups from
finding the API's spec file declaration.

Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-14 22:07:41 +02:00
Serge Gautherie 3462153a05 winapi_test: Do not multiply type size when it is undefined, in _refresh().
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-14 22:04:07 +02:00
Serge Gautherie 930ff8786f winapi_test: Add DYNAMIC_TIME_ZONE_INFORMATION to tests.dat.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-13 21:33:30 +02:00
Serge Gautherie 867a0bd6cd winapi_test: Tests.dat needs timezoneapi.h.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-13 21:33:30 +02:00
Piotr Caban 321d26cbb4 server: Use correct clock in select.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-09 21:04:04 +02:00
Chip Davis 1387075b80 widl: Cast server functions to void *.
This avoids a warning casting between calling conventions with Clang.

Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-09 21:04:04 +02:00
Alexandre Julliard 3d77dd1058 winedump: Get rid of a useless destructor.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-09 21:04:04 +02:00
Alexandre Julliard c82c63f58a makefiles: Don't use standard libs for programs that specify -nodefaultlibs.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-07 20:55:48 +02:00
Chip Davis f83646736b winegcc: Put quotes around arguments with spaces when printing them.
This makes it easier to copy and paste the command into the shell.

Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-06 10:46:03 +02:00
Alexandre Julliard 5603ece70d makefiles: Don't add default libs for msvcrt builds.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-02 11:31:33 +02:00
Alexandre Julliard e67ca92f57 makefiles: Always explicitly specify the C runtime import.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-02 11:30:48 +02:00
Alexandre Julliard fbbad0f10a makefiles: Always build 16-bit modules with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-02 11:09:19 +02:00
Alexandre Julliard 2746797ad5 winebuild: Support building krnl386.exe in PE format.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-02 10:55:25 +02:00
Alexandre Julliard ec19bbf43f unicode: Store downloaded data files in the cache directory.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-24 19:43:38 +01:00
Zebediah Figura f78fe960bc make_makefiles: Allow running from a separate worktree.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-24 19:43:38 +01:00
Jacek Caban 05b774fb48 makedep: Build builtin DLLs with ucrtbase.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-20 19:32:04 +01:00
Rémi Bernon f181d5ce82 tools: Only update protocol version if something changed.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-19 22:09:32 +01:00
Myah Caron ba4a3334ab api-ms-win-core-registry-l2-2-0: Add dll.
Signed-off-by: Myah Caron <qsniyg@mail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-18 16:40:21 +01:00
Alexandre Julliard 134074e553 make_makefiles: Remove updating codepage list, this is done by make_unicode now.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-18 16:40:20 +01:00
Alexandre Julliard 94397d96bb unicode: Add compression flags to the sortkey table.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-18 16:03:33 +01:00
Alexandre Julliard c567af732b kernelbase: Use the ctype table from the sortkey file.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-17 15:19:20 +01:00
Alexandre Julliard 95aeb41c8c unicode: Generate the NLS file for sortkeys.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-17 15:18:57 +01:00
Alexandre Julliard 712839d581 unicode: Generate a registry script for Nls keys.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-17 15:18:52 +01:00
Alexandre Julliard d87d4a4a04 unicode: Store data for CT_CTYPE3 types.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-17 11:26:47 +01:00
Alexandre Julliard 57a6033c0a unicode: Add separate helper for removing linguistic case mappings.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-17 11:26:41 +01:00
Alexandre Julliard 8207bdfecb winedump: Add dumping of sortkey NLS files.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-17 11:25:38 +01:00
Serge Gautherie aa384d3642 tools: Remove 0x0501 API versions forced by winapi_test.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-13 20:10:44 +01:00
Alexandre Julliard b83af7c763 unicode: Update data tables to Unicode 13.0.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-13 13:23:11 +01:00
Alexandre Julliard eb7d7ef863 unicode: Read data files from inside the zip without extracting them.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-13 13:23:11 +01:00
Alexandre Julliard dec6f0773b unicode: Fix parsing of Indic data files.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-13 11:40:29 +01:00
Francois Gouget 75a5107c96 dsound: Move make_fir to the dsound directory.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-09 12:10:52 +01:00
Jacek Caban 4ec4988c2e makedep: Use winebuild to build cross compiled static libraries.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-04 22:44:50 +01:00
Jacek Caban c0467a1470 winebuild: Add an option to build a static library.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-04 22:43:41 +01:00
Jacek Caban d473611469 winebuild: Also try llvm variants of tools in find_tool.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-04 22:43:27 +01:00
Jacek Caban aabfd2dd3a winegcc: Add support for using clang directly.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-03 14:22:17 +01:00
Jacek Caban 9a9f35a4df winegcc: Pass tool by id to build_tool_name.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-03 14:22:13 +01:00
Jacek Caban 4cfe747772 winegcc: Return build_tool_name result as strarray.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-03 14:22:11 +01:00
Jacek Caban 945c61c32d winegcc: Lookup PATH in find_binary and don't try to run binaries that can't be found.
Based on winebuild.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-03 14:22:07 +01:00
Alexandre Julliard 5d2ec076fe kernel32: Remove the nameprep tables.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-03 13:20:24 +01:00
Jacek Caban 0959d189c8 makedep: Build builtin programs with ucrt.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-02 20:29:32 +01:00
Jacek Caban 747c46a4bc winegcc: Don't pass ld command to winebuild when building PE file.
It's not used anyway.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-28 16:39:02 +01:00
Jacek Caban e7fe6c0ac2 winegcc: Fix passing -delayload argument to linker.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-28 16:39:02 +01:00
Jacek Caban cf20f54dd9 winegcc: Check more target components for platform string.
Fixes parsing llvm style mingw target *-pc-windows-gnu.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-27 23:34:51 +01:00