Jacek Caban
11e3d43c26
ntdll: Store x86_64 YMM context in syscall frame.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-19 23:46:30 +01:00
Jacek Caban
a06d60bd5f
winebuild: Factor out output_syscall_dispatcher.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-19 23:46:30 +01:00
Steve Lhomme
49a1cc10d2
widl: Use C name when writing UUID declarations.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-19 23:46:30 +01:00
Steve Lhomme
18f04f569b
widl: Define the C type name as an alias for the C++ qualified name.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-19 23:46:30 +01:00
Steve Lhomme
fc533ddf32
widl: Precompute qualified type names, and use them for C++ interfaces.
...
This is what MIDL does and avoid mismatching and even fixes some compiling issues.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-19 23:46:30 +01:00
Steve Lhomme
a78053743d
widl: Never use the namespace ABI prefix for global types.
...
Otherwise we end up with types like ABI::IInspectable.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-19 23:46:30 +01:00
Rémi Bernon
b1e9326f5a
widl: Compute uuids for parameterized types.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-18 22:39:33 +01:00
Rémi Bernon
c5413e1258
widl: Compute signatures for parameterized types.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban<jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-18 22:39:33 +01:00
Rémi Bernon
fecfd245a1
widl: Support WinRT parameterized delegate type.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban<jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-18 22:39:33 +01:00
Rémi Bernon
2326d7226d
widl: Support WinRT delegate type.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban<jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-18 22:39:33 +01:00
Alexandre Julliard
e27c7e0648
winedump: Print the "prefer native" Wine flag.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-18 11:11:33 +01:00
Alexandre Julliard
ad43872669
winebuild: Add a --prefer-native option to set a Wine-specific flag in the PE header.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-18 11:06:06 +01:00
Jacek Caban
d281c90c4b
winegcc: Properly set debug info type on msvc targets.
...
Fixes a typo from 9faa5eeddd
.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 22:21:13 +01:00
Rémi Bernon
d3c7aa2915
widl: Support WinRT parameterized interface type.
...
This allows parameterized interfaces to be instanciated in declare
blocks, in the same way MIDL does, generating a new interface to the
header from the parameterized type template, replacing its parameters
with the given types.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 22:21:06 +01:00
Rémi Bernon
d5bf8f4e8a
widl: Support partially specialized parameterized type.
...
This allows parameterized types to reference each other with a different
set of parameters. This is required for instance for IIterable<T>, that
needs to reference IIterator<T>.
The partial specialization is recorded by adding a new parameterized
type, referencing the original one as its template. The parameterized
type chain will be resolved all at once when the type is declared.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 21:42:18 +01:00
Rémi Bernon
94b5af4b34
widl: Replace type_list_t with typeref_list_t.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 21:42:18 +01:00
Rémi Bernon
84966c9b59
widl: Rename ifref_list_t to typeref_list_t.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 21:42:18 +01:00
Rémi Bernon
7987c6f9ba
widl: Rename ifref_t to typeref_t.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 21:42:18 +01:00
Rémi Bernon
db580fe9db
widl: Rename ifref_t iface member to type.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 21:42:18 +01:00
Jacek Caban
be8729c9f5
winebuild: Restore x86_64 FPU context and nonvolatile registers in syscall dispatcher.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 15:47:28 +01:00
Jacek Caban
9b6f715b28
winebuild: Restore all x86_64 control registers in syscall dispatcher.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 15:46:37 +01:00
Jacek Caban
f72940de8e
ntdll: Store segment registers in x86_64 syscall frame.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 15:45:51 +01:00
Jacek Caban
4e5b61bb06
ntdll: Store stack pointer in x86_64 syscall frame.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 15:45:34 +01:00
Jacek Caban
accf7a0908
ntdll: Store instruction pointer register in x86_64 syscall frame.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 15:45:29 +01:00
Jacek Caban
9bdd02de0c
ntdll: Store eflags in x86_64 syscall frame.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 15:45:14 +01:00
Jacek Caban
6d2f08cfcb
ntdll: Reserve space for all registers in x86_64 syscall frame.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 15:45:11 +01:00
Jacek Caban
877f06d123
winebuild: Remove no longer needed stack alignment in x86_64 syscall dispatcher.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 12:00:04 +01:00
Jacek Caban
8f50dde9cd
ntdll: Store entire XMM context in x86_64 syscall frame.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 11:59:40 +01:00
Andrew Boyarshin
a55a37d1da
widl: Support midl_pragma default option.
...
Signed-off-by: Andrew Boyarshin <andrew.boyarshin@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-16 23:01:38 +01:00
Jacek Caban
6d9b331184
winebuild: Don't use llvm-lib to build static libs containing importlibs.
...
It's not supported by LLVM 10.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50653
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-12 16:10:53 +01:00
Rémi Bernon
6341546fde
widl: Introduce new strappend helper.
...
And use it for format_namespace to grow buffer as needed.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-12 14:46:32 +01:00
Rémi Bernon
ed21c29481
widl: Support WinRT parameterized type parsing.
...
And add IVectorView<T> and IIterator<T> parameterized interfaces to
windows.foundation.idl for illustration and future use. They won't
generate any additional code until they are fully specialized.
This is a WIDL-specific feature, but MIDL has some magic knowledge of
these Windows.Foundation.Collections interface templates, and we need a
way to instruct WIDL about them too.
Having these interfaces declared in the IDL, guarded with __WIDL__ ifdef
is easier and more flexible than re-creating the types by hand in WIDL
source.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-12 14:46:29 +01:00
Jacek Caban
8c2ad8e403
winebuild: Use lld-link for static libraries on msvc target.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-11 10:11:15 +01:00
Andrew Boyarshin
5423e0d9e6
widl: Fix handling of output_name in option parsing.
...
Do not overwrite explicitly stated paths, such as header_name or
proxy_name. Instead, use output_name when specified as a fallback.
Signed-off-by: Andrew Boyarshin <andrew.boyarshin@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-09 21:16:34 +01:00
Rémi Bernon
daba929a52
widl: Support WinRT requires keyword.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-09 21:16:16 +01:00
Rémi Bernon
1442ddf942
widl: Support WinRT static attribute parsing.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-09 21:16:14 +01:00
Rémi Bernon
30129c2837
widl: Support WinRT activatable attribute parsing.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-09 21:16:11 +01:00
André Hentschel
9419eadd04
wrc: Add PPC64 support.
...
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-09 13:05:31 +01:00
Timothy Pearson
fe723c2673
widl: Add PPC64 support.
...
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-09 13:03:47 +01:00
Rémi Bernon
2bfcfcc0a9
widl: Support referencing qualified interface names.
...
And split the dispinterface case, which is not supported in WinRT mode.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-08 20:09:21 +01:00
Rémi Bernon
509daf4d23
widl: Fold inherit cases by using typename rule in qualified_type.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-08 20:09:19 +01:00
Rémi Bernon
374321f836
widl: Remove aNAMESPACE token from the lexer.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-08 20:09:15 +01:00
Rémi Bernon
f5b7a76b28
widl: Disallow qualified types in expressions.
...
MIDL WinRT mode only supports a limited subset of original IDL syntax
anyway, and this will save some conflicts when removing the lexer trick
for namespaces.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-08 20:09:12 +01:00
Rémi Bernon
47a256c648
widl: Use explicit namespace parameter for qualified names.
...
Instead of buggy lookup namespace stack.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-08 20:09:07 +01:00
Rémi Bernon
f76f3d152f
widl: Add explicit namespace parameter to find_type_or_error.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-08 20:09:04 +01:00
Rémi Bernon
36597eda3d
widl: Fold aIDENTIFIER / aKNOWNTYPE rules together.
...
Splitting t_ident rule as typename / m_typename rules.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-05 22:53:46 +01:00
Rémi Bernon
6f1308cd62
widl: Factor and cleanup module type declaration and definition.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-05 22:53:46 +01:00
Rémi Bernon
62c58eb8a0
widl: Factor and cleanup apicontract type declaration and definition.
...
And remove unused check_def helper.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-05 22:53:46 +01:00
Rémi Bernon
ce14877436
widl: Factor and cleanup dispinterface type declaration and definition.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-05 22:53:46 +01:00
Rémi Bernon
f8684cf953
widl: Factor and cleanup interface type declaration and definition.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-05 22:53:46 +01:00
Rémi Bernon
621b4fa697
widl: Distinguish interface declarations from interface references.
...
Interface referencing should probably check for a previous type
declaration, but Wine IDLs currently have many places where this is
broken.
This is for instance the case when a coclass use the inner interface
statement to declare an interface without any previous declaration.
And in mimeole.idl, coclass are being declared with the same name as
their interface, to generate the corresponding CLSID.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-04 23:11:22 +01:00
Rémi Bernon
7a01eb2aad
widl: Factor and cleanup runtimeclass type declaration and definition.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-04 23:11:22 +01:00
Rémi Bernon
84b7faeb52
widl: Factor and cleanup coclass type declaration and definition.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-04 23:11:22 +01:00
Rémi Bernon
6a1b6a20a3
widl: Remove constant t parameter from find_type_or_error.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-04 23:11:22 +01:00
Rémi Bernon
b3f807a142
widl: Remove useless find_type_or_error2 helper.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-04 23:11:22 +01:00
Alexandre Julliard
928a22cd02
server: Add a data type for generic access mappings.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-04 21:25:32 +01:00
Rémi Bernon
98fcca256a
widl: Generate WinRT runtimeclass name constants.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-03 21:00:05 +01:00
Rémi Bernon
8233b3d537
widl: Support WinRT eventadd/eventremove attributes.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-01 10:50:17 +01:00
Rémi Bernon
1a62712e25
widl: Support WinRT flags attribute parsing.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-01 10:50:12 +01:00
Rémi Bernon
f46c077d5e
widl: Support WinRT runtimeclass type parsing.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-28 09:41:46 +01:00
Rémi Bernon
73e0f5e212
widl: Support WinRT exclusiveto attribute parsing.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-26 19:26:22 +01:00
Rémi Bernon
1abdd8c89a
widl: Support WinRT mta threading attribute parsing.
...
As an alias to free-threaded model.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-26 19:26:19 +01:00
Jacek Caban
ea5e89a545
winebuild: Make mingw a separated platform from msvc.
...
Based on winegcc.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-26 09:02:04 +01:00
Rémi Bernon
2129e335f2
widl: Support WinRT marshaling_behavior attribute parsing.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-25 21:04:04 +01:00
Rémi Bernon
d90dc11d1a
widl: Remove unnecessary WinRT type comments.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-25 21:03:58 +01:00
Alexandre Julliard
852c9c69de
makefiles: Add missing dependency to wrc for test dll resources.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-24 21:58:53 +01:00
Nikolay Sivov
bea9c706eb
dwrite/arabic: Set per-glyph action.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-22 18:33:32 +01:00
Alexandre Julliard
7c909489b4
winegcc: Pass the same winebuild args to all winebuild invocations.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-22 17:34:36 +01:00
Nikolay Sivov
ea1afd6597
make_unicode: Remove unused variable.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-21 20:46:13 +01:00
Alexandre Julliard
e137063394
include: Add a couple of dll characteristics.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-21 20:46:13 +01:00
Alexandre Julliard
fc7c3b51ac
ntdll: Always inline NtCurrentTeb() on ARM.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-21 20:46:13 +01:00
Nikolay Sivov
9c11fc642f
make_unicode: Make it explicit what other default joining type is.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-20 22:11:51 +01:00
Nikolay Sivov
016eeb5109
gdi32/uniscribe: Get rid of shaping group values in Arabic shaping data table.
...
It's not used right now, Syriac specific groups will be accomodated
as additional joining types.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-20 22:11:40 +01:00
Nikolay Sivov
f734d98a98
gdi32/uniscribe: Merge Arabic joining types C and D.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-20 22:11:15 +01:00
Alexandre Julliard
7c48d8d44b
winebuild: Support non-PIC mode for ARM targets.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-19 09:42:30 +01:00
Alexandre Julliard
c1a700f018
winebuild: Generate Thumb2-compatible assembly code on ARM.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-19 09:42:26 +01:00
Alexandre Julliard
90ac46fe33
winebuild: Simplify ARM64 import thunks.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-18 13:02:09 +01:00
Martin Storsjo
dc46af7245
winebuild: Pass -m options to dlltool for arm and arm64.
...
This allows using the arch independent llvm-dlltool without the
llvm-mingw specific <triple>-dlltool wrappers.
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-12-21 11:56:44 +01:00
Martin Storsjo
e9fa452ba3
asm: Separate .def/.scl/.type/.endef with newlines instead of semicolons.
...
When targeting arm64 in MSVC mode, LLVM treats semicolons in assembly
as comment char, instead of as statement separator (contrary to in
mingw mode, where semicolons still work as separator). In generated code,
there's no need to keep these directives on one single line though, so
just separate them with newlines.
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-12-21 11:56:29 +01:00
Jacek Caban
6653a381cb
widl: Don't apply call_as methods to async interface.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-18 16:25:02 +01:00
Alexandre Julliard
74aa42a529
makefiles: Make the tests also depend on the Unix library of the tested module.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-18 14:38:47 +01:00
Jacek Caban
fcf545f449
winapi: Use __alignof__ on clang.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-16 15:30:07 +01:00
Alexandre Julliard
1a16b9e9aa
makefiles: Add support for Automake-style silent make rules.
...
Based on a patch by Jeff Smith.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49841
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-11 16:12:23 +01:00
Alexandre Julliard
4e9f855be5
winegcc: Look for ntdll.so instead of libwine.so to find the library directory.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-08 22:25:59 +01:00
Alexandre Julliard
497c902857
makefiles: Get rid of the libwine.so symlink.
...
We no longer need to link to libwine.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-04 11:29:23 +01:00
Jacek Caban
727168a9e1
makedep: Use -fno-builtin for crt modules.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-03 21:00:22 +01:00
Alexandre Julliard
107103e2bd
wpp: Remove some dead code.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-03 20:18:38 +01:00
Rémi Bernon
54035a2101
widl: Support WinRT contract attribute.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 19:50:04 +01:00
Rémi Bernon
ee490ee26c
widl: Support WinRT apicontract type.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 19:49:52 +01:00
Rémi Bernon
19b5f3e060
widl: Support WinRT contractversion attribute parsing.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 19:49:49 +01:00
Rémi Bernon
13592f0cdb
widl: Add abi_prefix parameter to format_namespace.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 19:49:47 +01:00
Alexandre Julliard
0b9963ad34
makedep: No longer use wine/port.h.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 10:43:17 +01:00
Kevin Puetz
48cccee394
winebuild: Find WinMain/wWinMain in static libraries.
...
Signed-off-by: Kevin Puetz <PuetzKevinA@JohnDeere.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 22:18:21 +01:00
Kevin Puetz
bf5893f489
winebuild: Find main/wmain in static libraries.
...
Have the winebuild -spec.o include an undefined .globl referencing
symbols we know the winecrt0 entry point will eventually reference,
so ld knows about that need while scanning library archives.
Signed-off-by: Kevin Puetz <PuetzKevinA@JohnDeere.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 22:18:21 +01:00
Kevin Puetz
a1078d4770
winebuild: Select all __wine_spec_exe* entry inside winebuild.
...
Override --entry in winegcc only when it applies to any compiler
(e.g. kernel drivers or msvcrt) but leave spec details to winebuild.
Forward -municode so winebuild will know which to use.
Signed-off-by: Kevin Puetz <PuetzKevinA@JohnDeere.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 22:18:20 +01:00
Alexandre Julliard
875f506b33
libport: Move the char type table back to libwine and stop updating it.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 19:01:55 +01:00
Alexandre Julliard
c7196dc945
libport: Move the case mapping table back to libwine and stop updating it.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 19:01:55 +01:00
Kevin Puetz
9faa5eeddd
winegcc: Implement -Wl,--out-implib.
...
This allows a CMake toolchain (or other caller) to treat winegcc like MinGW,
specifying that it produce a separate file for imports, e.g.
set(CMAKE_IMPORT_LIBRARY_PREFIX lib)
set(CMAKE_IMPORT_LIBRARY_SUFFIX .a)
string(APPEND CMAKE_C_CREATE_SHARED_LIBRARY " -Wl,--out-implib,<TARGET_IMPLIB>")
Signed-off-by: Kevin Puetz <PuetzKevinA@JohnDeere.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 23:25:38 +01:00
Alexandre Julliard
b3a38fef26
winebuild: Initialize entry point to avoid a compiler warning.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 23:25:38 +01:00
Alexandre Julliard
b636f9816f
krnl386: Move the 16-bit stack out of the WOW32Reserved field.
...
Based on a patch by Sebastian Lackner.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 21:31:53 +01:00
Alexandre Julliard
043489456c
ntdll: Make x86_64 syscall thunks position independent.
...
Based on a patch by Paul Gofman.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-25 21:39:19 +01:00
Jacek Caban
e84394764a
makedep: Use short debug file names.
...
Fixes gitignore entries for symbol files.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-19 21:23:55 +01:00
Alexandre Julliard
be8a81b54c
makefiles: Allow modules to link to their own import library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-19 21:23:22 +01:00
Alexandre Julliard
27b20c1db5
makefiles: Don't add a default crt lib for msvcrt dlls.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-19 21:23:21 +01:00
Kevin Puetz
997439967f
widl: Allow adding the same custdata GUID multiple times in a typelib.
...
e.g. using the same kind of custdata in multiple interfaces
Signed-off-by: Kevin Puetz <PuetzKevinA@JohnDeere.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-18 22:27:51 +01:00
Kevin Puetz
02b6df007a
widl: Write ATTR_CUSTOM into typelib.
...
Signed-off-by: Kevin Puetz <PuetzKevinA@JohnDeere.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-18 22:27:51 +01:00
Kevin Puetz
7afd550f34
widl: Parse attribute custom(guid,expr).
...
Signed-off-by: Kevin Puetz <PuetzKevinA@JohnDeere.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-18 22:27:51 +01:00
Rémi Bernon
a35ca92362
widl: Prefer mangled name over typedef in WinRT mode.
...
For types under a non-global namespace.
MIDL generates prefixed mangled name for every use of enum, struct and
union types. When the types are in the global namespace, the typedef
name is used instead.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-16 21:06:18 +01:00
Rémi Bernon
a154a42c0d
widl: Restrict some keywords to WinRT mode only.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-16 21:06:18 +01:00
Rémi Bernon
92eb5ef5a1
widl: Support repetition for some attributes.
...
Some attributes can be specified multiple times, this is the case for
instance for "custom" attribute, as well as WinRT "static".
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: PuetzKevinA@JohnDeere.com
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-16 21:06:18 +01:00
Zebediah Figura
52dc0ccf6d
makefiles: Disable implicit rules.
...
This improves the time of a full-tree build with no out-of-date objects from
~3.7s to ~0.7s on one of my development machines.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-16 17:51:30 +01:00
Alexandre Julliard
4650dff5c4
winebus.sys: Move winebus.inf into the module resources.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-11 11:04:06 +01:00
Nikolay Sivov
b9178da586
gdi32: Merge in Uniscribe functionality.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-09 20:15:11 +01:00
Alistair Leslie-Hughes
8f81123f4f
srvcli: Add stub dll.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-03 14:53:35 +01:00
Alexandre Julliard
d5c089f5fa
winebuild: Set PE timestamps to a hash of the file name.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=44061
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-29 22:23:08 +01:00
Eric Kohl
ba72ef6c22
widl: Add the [allocate] acf attribute.
...
Signed-off-by: Eric Kohl <eric.kohl@reactos.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-27 21:04:46 +01:00
Alexandre Julliard
ec99ba1b29
makefiles: Explicitly create destination dirs when installing symlinks.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50039
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-23 20:16:53 +02:00
Alexandre Julliard
3eaf036b10
winebuild: Add __imp_ label on the import data for delayed imports.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-14 21:33:17 +02:00
Alexandre Julliard
aabd2b54b2
makefiles: List all possible targets in the stub makefiles.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-11 21:36:04 +02:00
Nikolay Sivov
1ca4536f7e
nls: Build codepage data for CP708.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-09 17:22:56 +02:00
Martin Storsjo
559d502699
winebuild: Add unwind info to arm64 syscall stubs.
...
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-29 12:02:46 +02:00
Alexandre Julliard
f691bdb6bf
makefiles: Don't build Unix object files on Windows.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-25 13:44:43 +02:00
Nikolay Sivov
d7b166976d
widl: Allow [restricted] for coclass-es.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-24 15:03:32 +02:00
Nikolay Sivov
fe5bfa5b71
widl: Add null source pointer check for typelib writer.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=38964
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-24 15:03:28 +02:00
Nikolay Sivov
0a49202109
widl: Allow [hidden] attribute on enum members.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-23 18:42:51 +02:00
Nikolay Sivov
8eb756c699
widl: Enable [hidden] attribute for enums.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-23 18:42:31 +02:00
Paul Gofman
b936df428d
wmc: Add Dxgi facility.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-21 21:42:13 +02:00
Kevin Puetz
7955b2e526
widl: Remove duplicate '\n\n' in midl_info_guid.
...
Per standard, ctime already ends with '\n\0', so this doubled it.
Signed-off-by: Kevin Puetz <PuetzKevinA@JohnDeere.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-21 12:54:17 +02:00
Kevin Puetz
44ccc4f638
widl: All VARDESC fields of TKIND_UNION should have oInst=0.
...
Also fix uninitialized value in this field for TKIND_DISPATCH.
Signed-off-by: Kevin Puetz <PuetzKevinA@JohnDeere.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-18 15:35:03 +02:00
Alexandre Julliard
0b9c7eb295
makefiles: Define WINE_UNIX_LIB when building Unix libraries.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-18 15:05:56 +02:00
Alexandre Julliard
c670df976c
makefiles: Don't use default imports for Unix libraries.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-18 15:03:08 +02:00
Alexandre Julliard
c73ae99ff4
makefiles: Only add default libraries for Unix builds.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-18 15:02:00 +02:00
Nikolay Sivov
0dd6f1ef35
widl: Emit a guard around library contents.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-14 19:42:40 +02:00
Alexandre Julliard
468af5bbb4
makefiles: Remove directory variables that are redundant with non-recursive make.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-14 19:42:40 +02:00
Alexandre Julliard
feb5229091
makefiles: Remove .. components from generated paths.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-14 19:42:40 +02:00
Alexandre Julliard
1dd3051cca
makefiles: Generate a single non-recursive makefile at the top level.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-14 19:42:39 +02:00
Alexandre Julliard
f2d60c16ea
makefiles: Add separate variable to keep track of source dir font files.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-11 15:49:45 +02:00
Alexandre Julliard
9a542f9dda
makefiles: Remove support for generating a single makefile.
...
We need to handle all makefiles at once for proper import lib
dependencies.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-11 15:49:45 +02:00
Alexandre Julliard
3f330361d2
makefiles: Fix a few more object directory references.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-11 15:49:45 +02:00
Alexandre Julliard
9da7d620ef
makefiles: Also store the basename without object dir for generated files.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-11 12:46:22 +02:00
Alexandre Julliard
5d2596ad8a
makefiles: Explicitly import the CRT library also for test dlls.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-10 22:05:00 +02:00
Alexandre Julliard
96e5ac876f
makefiles: Build extra targets explicitly if they are not a dependency.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-09 20:30:31 +02:00
Alexandre Julliard
5adb93c654
makefiles: Add some missing object dir references.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-09 20:30:31 +02:00
Alexandre Julliard
82acb284bd
makefiles: Store .pot files in a separate variable.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-09 20:30:31 +02:00
Alexandre Julliard
a204ad557d
makefiles: Expand makedep path at compile time.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-09 20:30:31 +02:00
Alexandre Julliard
b211bd7b64
makefiles: Add dependencies for the import lib symlinks.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-09 20:30:31 +02:00
Alexandre Julliard
b07cc3fe0c
makefiles: Get rid of rpath support.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-09 20:30:31 +02:00
Alexandre Julliard
a9a08dbc3d
libwine: Remove wine/library.h.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-08 16:26:17 +02:00
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