Commit graph

6470 commits

Author SHA1 Message Date
Alexandre Julliard
7bffe6d68b makedep: Make the import library files architecture-generic. 2022-10-25 11:07:45 +02:00
Alexandre Julliard
cb5268c729 makedep: Make the object files architecture-generic. 2022-10-25 11:04:30 +02:00
Alexandre Julliard
9795a01918 makedep: Make the installation directories architecture-generic. 2022-10-25 11:03:54 +02:00
Michael Stefaniuc
43eccadceb makedep: Use ARRAY_SIZE instead of open coding it. 2022-10-25 10:59:05 +02:00
Michael Stefaniuc
191bc277a1 wrc: Use ARRAY_SIZE instead of open coding it. 2022-10-25 10:59:05 +02:00
Michael Stefaniuc
534a3082ef wmc: Use ARRAY_SIZE instead of open coding it. 2022-10-25 10:59:05 +02:00
Michael Stefaniuc
b46eef7e2a winegcc: Use ARRAY_SIZE instead of open coding it. 2022-10-25 10:59:05 +02:00
Michael Stefaniuc
7029bba31a widl: Use ARRAY_SIZE instead of open coding it. 2022-10-25 10:59:05 +02:00
Alexandre Julliard
25735da0de makedep: Make the extra C flags architecture-generic. 2022-10-24 16:19:47 +02:00
Alexandre Julliard
815e766d9d makedep: Make the delay load flags architecture-generic. 2022-10-24 16:19:47 +02:00
Alexandre Julliard
55e2335f64 makedep: Make the debug flags architecture-generic. 2022-10-24 16:19:47 +02:00
Alexandre Julliard
afc286fb51 makedep: Make the target flags architecture-generic. 2022-10-24 16:19:47 +02:00
Alexandre Julliard
24d791e2e9 makedep: Pass a generic architecture value instead of the is_cross flag to various helpers. 2022-10-24 16:19:47 +02:00
Piotr Caban
9e74a249df winedump: Handle NULL in get_unicode_str. 2022-10-19 21:16:29 +02:00
Alexandre Julliard
4172c04826 nls: Allow specifying a locale's native digits.
Inspired by a patch from Nikolay Sivov.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53770
2022-10-19 18:48:30 +02:00
Alexandre Julliard
b591b3167c nls: Update locales that have been added in recent Windows versions. 2022-10-17 12:56:47 +02:00
Piotr Caban
0e49547c7a winedump: Add support for EMRI_METAFILE_EXT records. 2022-10-17 11:26:51 +02:00
Piotr Caban
893ac00873 winedump: Add prefix when dumping EMF files. 2022-10-17 11:26:51 +02:00
Piotr Caban
4d649c6232 winedump: Dump metafiles in EMF spool files. 2022-10-17 11:26:51 +02:00
Piotr Caban
d745c8d4a0 winedump: Don't use static offset in dump_emfrecord. 2022-10-17 11:26:51 +02:00
Piotr Caban
cf78df3612 winedump: Fix buffer overflow in debugstr_wn helper. 2022-10-17 11:26:51 +02:00
Piotr Caban
cfbe32d557 winedump: Add initial EMF spool files support. 2022-10-17 11:26:50 +02:00
Rémi Bernon
c90e03e3cb makedep: Link with imported libs before delay imported libs.
In order to favor direct imports over delayed imports, for instance when
the delay imported module forwards symbols from the imported module.
2022-09-30 18:34:14 +02:00
Rémi Bernon
214223edc3 makedep: Link default imports separately from direct imports. 2022-09-30 18:34:14 +02:00
Rémi Bernon
c1a0b74d98 makedep: Add an import type parameter to add_import_libs. 2022-09-30 18:34:14 +02:00
Zebediah Figura
e654b631f2 widl: Generate "static inline" instead of "static FORCEINLINE" for COM inline wrappers.
mingw-w64 defines __forceinline (and therefore FORCEINLINE) as
"extern __inline__ __attribute__((__always_inline__,__gnu_inline__)). This means
that COM inline wrappers specify multiple storage classes and hence cannot be
compiled.

Wine defines FORCEINLINE simply as "inline" (and uses "static" everywhere), so
this is a non-issue for Wine. However, since Wine and mingw-w64 share the source
code of widl and of most IDL headers, this patch changes the definition for both
projects.

There's no reason to force inlining here, especially since the wrappers need to
be manually enabled, and we don't need to match PSDK semantics where these
wrappers don't even exist.

In practice, use "__inline__" instead of "inline" for GNU C targets, to preserve
compatibility with C89 in mingw-w64 headers.
2022-09-28 15:27:51 +02:00
Eric Pouech
a014f19bdd winedump: Dump PDB public symbols' stream.
Add relevant structures to include/mscvpdb.h.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-09-27 18:29:34 +02:00
Eric Pouech
805ffc8adb winedump: Dump global hash table out of PDB symbols' stream.
Introduce relevant structures in include/wine/msvcpdb.h.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-09-27 18:29:27 +02:00
Alexandre Julliard
9c5b2bd62c gitlab: Run the full test suite on merge requests. 2022-09-27 18:14:33 +02:00
Julian Klemann
c8c7ff640a widl: Use "cinterface(IInspectable)" for IInspectable signature.
Fixes the UUID of ITypedEventHandler<DeviceWatcher*, IInspectable*> to
match MIDL.
2022-09-14 22:38:34 +02:00
Alexandre Julliard
7ab46c4f21 unicode: Update to Unicode 15.0.0. 2022-09-14 22:38:34 +02:00
Eric Pouech
76d97b6e8e winedump: Print signed integers with %d.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-09-13 22:07:22 +02:00
Alexandre Julliard
12bf088ac0 winetest: Don't require an email if we have a URL. 2022-09-13 16:22:21 +02:00
Rémi Bernon
de95ee6c66 widl: Allow parameterized types in runtimeclass interfaces. 2022-09-13 16:22:21 +02:00
Eric Pouech
26f2b48a47 winedump: Harden reading PDB string table stream.
Introduce struct PDB_STRING_TABLE to describe string table's header.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-09-12 17:28:23 +02:00
Alexandre Julliard
30ec834cfe gitlab: Fetch the full git tree with all tags. 2022-09-09 12:37:32 +02:00
Alexandre Julliard
97302f7c9e gitlab: Always reset the git tree after a build. 2022-09-09 12:37:25 +02:00
Alexandre Julliard
1d0f66a3c6 gitlab: Run tests on Debian after the daily commit round. 2022-09-08 21:48:33 +02:00
Alexandre Julliard
dbb55ed91a makefiles: Add install-test target to install winetest.exe. 2022-09-07 20:07:18 +02:00
Alexandre Julliard
f9cad1bd19 makedep: Make the handling of install rules more generic. 2022-09-07 10:19:00 +02:00
Alexandre Julliard
aeff5099fb unicode: Add data for high Unicode planes to the Arabic shaping table. 2022-09-05 18:41:47 +02:00
Alexandre Julliard
24da06789e unicode: Add data for high Unicode planes to the bidi direction table. 2022-09-05 18:41:47 +02:00
Alexandre Julliard
ba58338b21 unicode: Add data for high Unicode planes to the linebreak table. 2022-09-05 18:41:47 +02:00
Alexandre Julliard
c848f42aa0 unicode: Add data for high Unicode planes to the scripts table. 2022-09-05 18:41:47 +02:00
Alexandre Julliard
4f75dd8c44 gitlab: Run CI scripts as non-root user. 2022-08-31 18:19:04 +02:00
Alexandre Julliard
1a982894dd gitlab: Rename build-all job to build-linux.
For symmetry with build-mac.
2022-08-31 17:44:53 +02:00
Alexandre Julliard
5e0d56e7e7 gitlab: Add macOS build. 2022-08-25 11:51:42 -05:00
Alexandre Julliard
a1af412482 Release 7.15.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-08-13 21:23:11 +02:00
Alexandre Julliard
bfc73b0b80 gitlab: Disable building image in forks. 2022-08-05 20:14:41 +02:00
Rémi Bernon
660aead73f gitlab: Build every commit in a merge request. 2022-08-05 20:14:41 +02:00
Rémi Bernon
f1a7a16b83 gitlab: Move build steps to the build-all script. 2022-08-05 20:14:41 +02:00
Alexandre Julliard
e31276e9a2 makefiles: Look for source files in the makefile before trying to open them.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-07-28 17:46:51 +02:00
Alexandre Julliard
56fea67c53 makefiles: Work directly with Makefile.in names in make_makefiles. 2022-07-28 17:46:51 +02:00
Alexandre Julliard
6f4d1766a7 makefiles: Avoid adding the same source multiple times. 2022-07-28 17:46:50 +02:00
Alexandre Julliard
872dc83e81 makefiles: List all headers in the makefile.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-07-28 17:46:50 +02:00
Alexandre Julliard
aa222ccd32 gitlab: Add CI script to create a release. 2022-07-26 22:37:48 +02:00
Hugh McMaster
3d0358fa54 gitlab: Build-Depend on libfreetype-dev.
libfreetype6-dev is a transitional package on Debian Bullseye.
2022-07-26 22:37:48 +02:00
Alexandre Julliard
889fe64d9f gitlab: Initial version of the Gitlab CI scripts.
Derived in part from the freedesktop.org config.
2022-07-25 23:06:57 +02:00
Alexandre Julliard
31d2a87ba0 winebuild: Add GNU stack note also to the undefined symbols file.
Recent ld complains about this.
2022-07-20 22:33:44 +02:00
Jinoh Kang
fa005a6c90 include: Add definition for NtSetInformationVirtualMemory.
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
2022-07-13 16:10:05 +02:00
Eric Pouech
437e73883b mscvpdb.h: Use bitfield for defrange's variable flag.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-07-12 22:51:29 +02:00
Rémi Bernon
837297c21f widl: Support namespaces for union declarations.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
2022-07-07 19:10:02 +02:00
Rémi Bernon
25e1fb45db widl: Fix missing support for struct / union parameterized type replacement.
And we can just pass them through, as with other class types. This
fixes widl not accepting EventRegistrationToken method argument type
in a parameterized type.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
2022-07-07 19:10:02 +02:00
Alexandre Julliard
194e09baec makefiles: Add separate variables for Unix flags and libraries.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-06-29 23:23:41 +02:00
Alexandre Julliard
e2d96342df makefiles: Use the defined external lib variables also when building the libs themselves.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-06-29 23:23:41 +02:00
Eric Pouech
eb14fad72a mscvpdb.h: Redefine property with bitfields.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-06-28 20:30:05 +02:00
Eric Pouech
ba12b5ae88 winedump: Explore a bit more TPI hash elements.
Rename a couple of fields in PDB structures for clarity.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-06-28 20:24:18 +02:00
Alexandre Julliard
b819b99562 makefiles: Never install external libraries.
Spotted by Kevin Puetz.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-06-24 22:38:40 +02:00
Alexandre Julliard
3ccb5f238e make_unicode: Verify checksums of downloaded files.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-06-24 21:05:26 +02:00
Alexandre Julliard
cfaa28933b make_unicode: Add a table of downloaded files and their URLs.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-06-24 21:05:26 +02:00
Alexandre Julliard
3ec7c467cd make_unicode: Generate the time zone registry keys.
Based on a script written by Giovanni Mascellani.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-06-24 21:05:26 +02:00
Alexandre Julliard
630f605c26 make_unicode: Make support of registry values more generic.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-06-24 21:05:25 +02:00
Connor McAdams
ad8c61d897 include: Import IAccessible2 headers.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2022-06-15 21:48:08 +02:00
Alexandre Julliard
1e52895ef7 kernelbase: Implement IsNLSDefinedString().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-06-07 16:57:26 +02:00
Alexandre Julliard
b956620d81 make_unicode: Add data for high Unicode planes in case mapping tables.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-06-06 13:38:55 +02:00
Jacek Caban
f1549e7f6c winemac: Move driver implementation to unixlib.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2022-06-03 09:40:32 +02:00
Alexandre Julliard
66fb3bf631 make_unicode: Get rid of the old collation table.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-31 11:43:28 +02:00
Rémi Bernon
d81589371d widl: Remove set but unused variable.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-25 11:58:57 +02:00
Nikolay Sivov
f2ee6b7c31 winedump: Add support for dumping UnloadedModuleListStream.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-19 18:28:25 +02:00
Nikolay Sivov
d50f7b02a9 winedump: Add support for ThreadInfoListStream stream.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-18 08:53:57 +02:00
Nikolay Sivov
0d89f67ea2 winedump: Add support for dumping handle data stream from minidumps.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-18 08:53:53 +02:00
Nikolay Sivov
a9f9c1a696 winedump: Cleanup minidump output helpers.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-18 08:53:49 +02:00
Nikolay Sivov
38d7ea5c6f winedump: Output minidump streams in order they appear in the file.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-18 08:53:46 +02:00
Jacek Caban
10f38c0600 winex11: Move user driver to unixlib.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-06 19:18:22 +02:00
Brendan Shanks
f214d0c44e wrc: Support function macros where varargs are the only argument.
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-04 22:10:50 +02:00
Nikolay Sivov
1ad2cb51c5 nls: Hardcode minus sign for all locales.
CLDR data for RTL locales includes LRM marker for minus sign text,
in addition to that some locales are using different dash character.
Windows seems to consistently use same character for all locales.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52866
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-27 13:24:22 +02:00
Alexandre Julliard
f3b77b8027 kernelbase: Use the digit table from locale.nls in FoldStringW().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-25 11:53:53 +02:00
Alexandre Julliard
9e6d0e459f make_unicode: Generate the character mapping tables in locale.nls.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-25 11:52:14 +02:00
Alexandre Julliard
4b865129a5 winedump: Build with nameless unions/structs.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-22 21:42:20 +02:00
Alexandre Julliard
fdd0ad5939 winedump: Enable compilation with long types.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-22 21:42:20 +02:00
Alexandre Julliard
88c06077f8 winedump: Remove unused variables.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-22 21:42:20 +02:00
Alexandre Julliard
af54377eb6 winedump: Avoid using DWORD in private definitions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-22 21:42:20 +02:00
Alexandre Julliard
e1e6d18a61 winedump: Fix some incorrect uses of Unix 'long' type.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-22 16:49:46 +02:00
Alexandre Julliard
53ab4c5385 include: Avoid Windows types in CodeView structure definitions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-22 16:01:54 +02:00
Alexandre Julliard
6f04c33c04 winedump: Add support for dumping locale.nls.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-22 15:33:56 +02:00
Alexandre Julliard
6644b6b667 make_unicode: Update to CLDR version 41.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-07 22:44:39 +02:00
Alexandre Julliard
65fc470dfe make_unicode: Generate the calendar table in locale.nls.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-05 16:54:44 +02:00
Alexandre Julliard
ad44edebde makedep: Add dependency on locale.nls for rc files.
wrc will load locale.nls if the rc file uses a non-English language.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-04 10:43:48 +02:00
Alexandre Julliard
701ed2591b wrc: Avoid loading locale.nls when not necessary.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-04 10:43:09 +02:00
Alexandre Julliard
f445f21a38 wrc: Use the locale.nls data to determine a language's codepage.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-01 20:30:57 +02:00
Alexandre Julliard
d0b7fa9da7 wrc: Store version and characteristics as simple integers.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-01 20:30:57 +02:00
Alexandre Julliard
49bea92bdc wrc: Store language as a simple integer.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-01 20:30:57 +02:00
Alexandre Julliard
234710e8f7 wrc: Remove resource dumping support.
winedump can be used to debug resource contents.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-01 20:30:57 +02:00
Alexandre Julliard
51d3369334 wrc: Remove the verify translation mode.
It's no longer useful now that we support po files.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-01 20:30:57 +02:00
Alexandre Julliard
88dcdbdcc6 widl: Silence error message for unknown languages.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-01 20:30:57 +02:00
Alexandre Julliard
ad02ef7bec make_unicode: Generate the GeoID table in locale.nls.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-31 07:39:56 +02:00
Alexandre Julliard
989f7d6481 make_unicode: Generate the language groups registry keys.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-24 23:22:06 +01:00
Tatsuyuki Ishi
510cfd2762 winegcc: Identify ar files through signature.
Rust uses the ".rlib" extension for intermediate libraries which it
passes to the linker. Detect them through signature so that winegcc will
not try to compile it.

Signed-off-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-24 09:53:59 +01:00
Alexandre Julliard
8cdb593f5a make_unicode: Generate locale.nls using the Unicode CLDR data.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-21 14:28:09 +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
Zebediah Figura
9951f2f433 makedep: Do not forbid importing system headers in msvcrt modules.
The apparent intention of catching mistakes early is laudable. However, the
number of exceptions both in the code and not in the code (in particular,
valgrind.h) shows that this is clearly getting in the way more often than not.

In practice an attempt to compile with a system API we don't support will be met
with a clear error at link time, e.g.:

/usr/bin/x86_64-w64-mingw32-ld: dlls/xmllite/reader.cross.o: in function `debugstr_nodetype':
/home/whatsit/git/wine64/../wine/dlls/xmllite/reader.c:116: undefined reference to `pthread_once'

And when there is no external function involved (as with stdarg.h, x86intrin.h,
valgrind.h), there's no reason to prevent use of the headers.

The motivation for this patch is the ability to import system vkd3d.h in e.g.
d3d12 and dxgi, which do not link to libvkd3d directly (but rather indirectly
through wined3d) and so do not fall under the has_external_import() exception. I
could see no simple way to adapt has_external_import() to account for this case.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-04 10:02:24 +01:00
Alistair Leslie-Hughes
3f942a32c3 widl: Support basic BYTE type.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-04 10:01:32 +01:00
Bernhard Kölbl
6555201716 widl: Allow multiple uses of the activatable attribute.
Signed-off-by: Bernhard Kölbl <besentv@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-02 20:17:25 +01:00
Alexandre Julliard
603130cc38 winebuild: Align raw data size instead of virtual size in PE sections.
Use the aligned size to set code/data sizes.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-02 10:54:10 +01:00
Alexandre Julliard
bf8c5afef1 api-ms-*: Get rid of the apiset placeholder files.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-23 10:23:53 +01:00
Rémi Bernon
3e16b37475 widl: Support declaring multiple namespaces at once.
Using the namespace A.B.C {} syntax, used in a few some places in WinRT
IDLs.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-22 18:20:22 +01:00
Alexandre Julliard
8a3064899a winebuild: Add support for building apiset data.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-18 22:10:20 +01:00
Alexandre Julliard
6f1fd16f92 winedump: Add dumping of the .apiset PE section.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-18 11:03:22 +01:00
Alexandre Julliard
4a5a3ba702 kernel32: Move some more console functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-18 11:03:22 +01:00
Alexandre Julliard
1c2e3fc68a makedep: Add support for winebuild --data-only option.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-16 22:05:33 +01:00
Alexandre Julliard
1662af11a4 winegcc: Add support for winebuild --data-only option.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-16 22:05:33 +01:00
Alexandre Julliard
39f6ab55a9 winebuild: Add support for generating data-only DLLs.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-16 22:05:33 +01:00
Alexandre Julliard
3eca3516ad secur32: Add stubs for DeleteSecurityPackageA/W.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-16 21:43:46 +01:00
Alexandre Julliard
b331ffcded api-ms-*: Forward to cryptsp instead of advapi32.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-15 22:59:49 +01:00
Alexandre Julliard
23791eb11d api-ms-*: Forward to sechost instead of advapi32.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-15 22:59:45 +01:00
Alexandre Julliard
c239f38db4 api-ms-*: Forward to cfgmgr32 instead of setupapi.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-15 22:59:41 +01:00
Alexandre Julliard
e2187d4fe1 api-ms-*: Forward to shcore instead of shell32.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-15 22:59:37 +01:00
Alexandre Julliard
6e90c16e17 api-ms-*: Forward to shcore instead of shlwapi.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-15 22:59:33 +01:00
Alexandre Julliard
21536c066a api-ms-*: Forward to combase instead of ole32.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-15 22:59:29 +01:00
Alexandre Julliard
7df8967358 api-ms-*: Forward to kernelbase instead of version.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-15 22:59:25 +01:00
Alexandre Julliard
eb84ed07d9 api-ms-*: Forward to kernelbase instead of user32.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-15 22:59:21 +01:00
Alexandre Julliard
485f7003e6 api-ms-*: Forward to kernelbase instead of shlwapi.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-15 22:59:17 +01:00
Alexandre Julliard
84ac2e6abf api-ms-*: Forward to kernelbase instead of advapi32.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-15 22:59:12 +01:00
Alexandre Julliard
ae5ebeaff9 api-ms-*: Forward to kernelbase instead of kernel32.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-15 22:59:08 +01:00
Alexandre Julliard
0c095ccc2d make_specfiles: Move some ApiSet dlls to the ntdll section.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-15 17:17:42 +01:00
Alexandre Julliard
ef83ca1678 make_specfiles: Sort the ApiSet dlls by name.
To make it easier to find a specific one.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-15 16:34:17 +01:00
Stefan Dösinger
e5041acfa2 makedep: Fix some signed vs unsigned msvc warnings.
Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-09 18:37:33 +01:00
Alexandre Julliard
62f9bd39a2 tools: Consistently use xmalloc/xrealloc/xstrdup everywhere.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-08 20:24:14 +01:00
Alexandre Julliard
78ef8cf443 wrc: Use compare_name_id() for resource translations.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-08 20:24:14 +01:00
Alexandre Julliard
2c42d8b9a5 winebuild: Store length of Unicode strings explicitly.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-08 20:24:14 +01:00
Alexandre Julliard
7d3938e811 make_xftmpl: Use the standard output buffer routines.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-08 20:24:14 +01:00
Andrey Gusev
0894a4ad48 api-ms-win-security-lsalookup-ansi-l2-1-0: Add dll.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-07 13:53:31 +01:00
Kevin Puetz
ccf7b4459b winegcc: --out-implib needs to propagate -m32/-m64 to winebuild.
This was already passed through for linking, and for spec.o files,
but was overlooked when implementing -Wl,--out-implib

Signed-off-by: Kevin Puetz <PuetzKevinA@JohnDeere.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-04 09:48:05 +01:00
Alexandre Julliard
26a3472b34 makefiles: Disable printf format warnings for non-PE msvcrt modules.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 21:09:19 +01:00
Alexandre Julliard
0c0e8b576e makefiles: Force -Wformat for PE modules when using 'long' types.
Suggested by Eric Pouech.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 20:40:44 +01:00
Alexandre Julliard
f0cd33c69e include: Add support for defining Win32 types as 'long' where possible.
Add -DWINE_NO_LONG_TYPES to modules that still have compilation
warnings with long types.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 20:38:22 +01:00
Alexandre Julliard
ae2693e2c4 include: Use long type by default in GUID definition.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 17:56:07 +01:00
Rémi Bernon
21fa9fa36a widl: Fix sign handling in parameterized types signatures.
Unspecified sign should be mapped to signed integer / char.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 20:50:49 +01:00
Rémi Bernon
1af44e2670 widl: Use "string" for HSTRING in signatures for generated UUID.
Fixes the UUID of IVectorView<HSTRING*> to match MIDL for instance.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 20:50:49 +01:00
Rémi Bernon
1f2614c60b widl: Fix nested parameterized types C / short name output.
We append type->name from each parameter when constructing the c_name
of parameterized type. When the parameter is itself a parameterized type
this field contains C++-like name, with template brackets.

Instead this precomputes the names of parameterized types whenever they
are used as a parameter. In this case the format is the same as the C
name, except that __C is used as a namespace separator, instead of _C,
and that there's no namespace or abi prefix included.

Shorthands need to be applied too, altough they have to match the __C.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 20:50:49 +01:00
Rémi Bernon
b2a1e381d8 widl: Clarify declaration type names vs (reference) type names.
Declaration type names prefer unqualified names whereas reference type
names prefer fully qualified names.

This makes C++ code use fully qualified names when referencing a type,
fixing cases where types from other namespaces are used. It also allows
to skip the enum / struct / union type prefix in WinRT C++ code.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 20:50:49 +01:00
Rémi Bernon
86c565cf0e widl: Do not generate C++ enum typedefs in WinRT mode.
MIDL generates enum typedefs without a prior type declaration, as well
as using explicit enum underlying type specifier. None of this is
supported in MinGW.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 20:50:49 +01:00
Bernhard Kölbl
64d5feb4ce widl: Add support for the [overload] attribute.
The attribute is used by WinRT and doesn't have any
effect on the generated headers.

Signed-off-by: Bernhard Kölbl <besentv@gmail.com>
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 20:50:49 +01:00
Alexandre Julliard
7d7322671c server: Define a server-side structure for LUID_AND_ATTRIBUTES.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 11:55:40 +01:00
Huw Davies
f8adbf35ca widl: Remove the uuid_t typedef which causes conflicts on macOS.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 09:27:15 +01:00
Alexandre Julliard
a7f0e61e6c widl: Avoid using Windows types where possible.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-24 12:27:47 +01:00
Alexandre Julliard
dbfdcb13ff wrc: Avoid using Windows types where possible.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-24 12:27:42 +01:00
Bernhard Kölbl
22d27236ce widl: Allow optional interface parameter on the [activatable] attribute.
As per MIDL 3.0. Needed for some WinRT runtime classes.

Signed-off-by: Bernhard Kölbl <besentv@gmail.com>
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-24 10:10:52 +01:00
Alexandre Julliard
c09a5da157 wrc: Add a workaround for older bison versions.
Bison < 3.6 doesn't apply api.prefix to YYEMPTY.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-21 23:38:08 +01:00
Alexandre Julliard
f4af3134de makefiles: Specify the bison prefix directly in the source files.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-21 13:15:12 +01:00
Alexandre Julliard
363d078f46 makefiles: Add a maintainer-clean target.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-21 13:15:12 +01:00
Alexandre Julliard
3c0a2fa5a6 makefiles: Add dependencies for files generated in maintainer mode.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-21 13:15:12 +01:00
Alexandre Julliard
4c7a2b4cbb makefiles: Compare the full path when looking for generated include files.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-21 13:15:12 +01:00
Alexandre Julliard
5d4ca2225e makefiles: Also look for generated includes in the source file directory.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-21 13:15:12 +01:00
Alexandre Julliard
9da1813651 makefiles: Add helper functions to open generated include files.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-21 13:15:12 +01:00
Alexandre Julliard
9d494730fe makefiles: Get rid of the documentation rules.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-19 16:19:07 +01:00
Alexandre Julliard
c562952f92 tools: Add a helper function to read the contents of a file.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-19 10:57:30 +01:00
Alexandre Julliard
49326cb258 tools: Use flush_output_buffer() in a few more places.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-19 10:55:08 +01:00
Jacek Caban
099ba1b410 winegcc: Use libgcc on Cygwin target.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52328
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-05 17:16:45 +01:00
Martin Storsjö
7f95c69299 widl: Fix including tlb files in mingw-w64-tools configuration.
Prior to c94f44f9b4 (widl: Search for
imported typelibs in the library search path.), widl looked for
tlb files in the path specified by BIN_TO_INCLUDEDIR. After that
commit, widl looks for tlb files in a subdirectory (get_pe_dir)
of BIN_TO_DLLDIR (which mingw-w64 sets to the same as
BIN_TO_INCLUDEDIR).

For compatibility with the mingw-w64 usecase, check for tlb files
in the directory specified by BIN_TO_DLLDIR without a separate
subdirectory suffix too.

Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-29 13:44:03 +01:00
Alex Henrie
b45ac3a0b8 api-ms-win-core-windowserrorreporting-l1-1-1: Add DLL.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51923
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-23 22:57:01 +01:00
Eric Pouech
a9c177464f winedump: Support dumping quad word values in enumerations.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-17 17:22:45 +01:00
Jacek Caban
f4ddcc36e9 winebuild: Allow using clang for as command.
Since a9b5bb326a, Wine needs
get_as_command to work without cc_command available. While as is usually
a GCC dependency, Clang toolchains may not contain it.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-16 20:29:38 +01:00
Andrey Gusev
6f1b78b537 wmc: Fix a typo in a comment.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-14 12:15:46 +01:00
Alexandre Julliard
4670846dfc sfnt2fon: Use the standard output buffer functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-10 22:00:17 +01:00
Alexandre Julliard
b53773cff2 tools: Move the output buffer functions to the common header.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-10 22:00:17 +01:00
Alexandre Julliard
7f0943dde6 wrc: Convert resource output to the standard output buffer functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-10 22:00:17 +01:00
Alexandre Julliard
952d849e48 wrc: Move write_resfile() into genres.c and remove writeres.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-10 22:00:17 +01:00
Alexandre Julliard
1226595b16 wrc: Remove the no longer used resource C name.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-10 22:00:17 +01:00
Alexandre Julliard
49564a92bb wrc: Don't catch SIGSEGV.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-10 22:00:17 +01:00
Alexandre Julliard
aaa5216a3a wmc: Don't catch SIGSEGV.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-10 22:00:17 +01:00
Rémi Bernon
f9d7acbf45 winejoystick.drv: Remove unnecessary driver.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-10 22:00:17 +01:00
Alexandre Julliard
13ec7952e0 configure: Assume that unistd.h is available on Unix.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-09 18:43:51 +01:00
Eric Pouech
4be47ac4a3 examine-relay: DLLs can have underscore in their names (like ws2_32).
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-06 22:55:05 +01:00
Alexandre Julliard
a041075cd2 makefiles: Support per-platform values for EXTRADLLFLAGS.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-02 20:20:39 +01:00
Alexandre Julliard
8d6c33c3bf include: Remove wine/port.h.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-01 18:13:54 +01:00
Zebediah Figura
e454c62f36 makedep: Check for external libraries instead of include paths when determining whether to allow external includes.
The include path may be empty, e.g. if the relevant headers are to be found
directly in the MinGW sysroot.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-30 12:42:46 +01:00
Piotr Caban
64534e9b5b make_specfiles: Merge -arch options if there are multiple exports with the same name.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-29 23:19:10 +01:00
Mohamad Al-Jaf
4862f38db9 api-ms-win-appmodel-runtime-l1-1-0: Add new dll.
Fix error caused by some applications attempting to load
Windows Runtime support libraries. Example: Adobe Photoshop 2021
attempts to load WinRTSupport.dll.

Signed-off-by: Mohamad Al-Jaf <mohamadaljaf@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-26 22:08:55 +01:00
Alexandre Julliard
f153ca0d14 makedep: Unify the various code paths for module generation.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-23 15:05:48 +01:00
Alexandre Julliard
1ef7dd2d7c makefiles: Don't use bundled libraries to build native Unix libraries.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-23 14:40:04 +01:00
Alexandre Julliard
53e207fde0 makefiles: Don't use bundled libraries to build native programs.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-22 18:34:32 +01:00
Alexandre Julliard
859338a4d4 makefiles: Add a separate variable to keep track of source test files.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-20 13:26:51 +01:00
Alexandre Julliard
62d335053f makefiles: Don't append .fake extension to fake dlls.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-20 13:07:47 +01:00
Alexandre Julliard
e694c798b6 makefiles: Stop creating importlib symlinks.
We always pass the full path to winegcc.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-20 13:03:53 +01:00
Piotr Caban
9321d524be msvcp_win: Forward to msvcp140.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51415
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-19 20:23:11 +01:00
Alexandre Julliard
a9e00347b7 makedep: Use a separate variable for cross-compiled importlib objects.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-19 18:31:35 +01:00
Alexandre Julliard
6944dc5189 makefiles: Split the module generation into several helper functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-18 20:15:19 +01:00
Alexandre Julliard
9ac2eecbba winegcc: Support an explicit --fake-module option.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-18 20:15:19 +01:00
Alexandre Julliard
d969d02e21 tools: Move target CPU and platform handling to the common tools.h header.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-18 11:50:30 +01:00
Alexandre Julliard
c70ed78a36 widl: Get rid of PowerPC support.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-18 11:16:21 +01:00
Alexandre Julliard
61e210f196 winebuild: Get rid of PowerPC support.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-18 11:16:19 +01:00
Alexandre Julliard
8cd3679848 winegcc: Get rid of PowerPC support.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-18 11:16:17 +01:00
Alexandre Julliard
8c68894f04 makefiles: Don't add msvcrt import in dlls built as part of the tests.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-17 15:19:33 +01:00
Alexandre Julliard
414e1c8ad5 winebuild: Avoid resolving standard C functions with static importlibs.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-17 15:19:33 +01:00
Alexandre Julliard
a7074ea2a3 winegcc: Don't link directly to ntdll or ntoskrnl import libraries.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-17 15:19:33 +01:00
Alexandre Julliard
a9b5bb326a makefiles: Use static importlibs on all platforms.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-16 17:44:42 +01:00
Alexandre Julliard
32cfdb5496 winebuild: Escape invalid characters in the dll name for static import libraries.
This is necessary for things like vulkan-1.dll.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-16 16:44:19 +01:00
Alexandre Julliard
04d8725080 makefiles: Directly generate resources also for non-registered typelibs.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-16 10:22:51 +01:00
Eric Pouech
25d2c954ad winedump: Define and dump POGO codeview record.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-15 20:01:04 +01:00
Eric Pouech
95c96399d8 winedump: Setup a context in symbol_dumper for S_SEPCODE.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-15 20:00:57 +01:00
Alexandre Julliard
665ebe2a7a makefiles: Do not install external libraries.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-15 12:07:44 +01:00
Alexandre Julliard
9248dbaf0d makefiles: Always use winebuild to build static libraries.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-14 21:19:48 +01:00
Alexandre Julliard
b78ef40ab1 makefiles: Don't copy the source makefile into the sub-directory stub makefiles.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-14 12:29:24 +01:00
Alexandre Julliard
b9f6d1be00 tools: Upgrade the config.guess/config.sub scripts.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-14 12:29:24 +01:00
Alexandre Julliard
ef8b871e12 makefiles: Make importlib dependencies point to their respective dll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-12 22:42:51 +01:00
Alexandre Julliard
c94f44f9b4 widl: Search for imported typelibs in the library search path.
Add a -L option to specify that path.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-12 22:42:51 +01:00
Alexandre Julliard
ae44ba97b0 widl: Support loading typelibs stored inside PE files.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49803
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-12 15:49:50 +01:00
Alexandre Julliard
4f0bb2e45f wrc: Support only single directories with the -I option.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-12 11:40:15 +01:00
Alexandre Julliard
ad53edfab9 widl: Windows file formats are always little-endian.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-11 17:50:24 +01:00
Alexandre Julliard
af046fe636 wmc: Windows file formats are always little-endian.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-11 17:50:24 +01:00
Alexandre Julliard
923461f3d8 wrc: Windows file formats are always little-endian.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-11 17:36:17 +01:00
Alexandre Julliard
7c5761ed40 wrc: Ignore the target option.
Nothing in resource files depends on the pointer size.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-11 17:30:41 +01:00
Alexandre Julliard
6ebcc54a5c makefiles: Explicitly import all the needed libraries.
Don't rely on winegcc adding any default libraries.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-11 13:28:19 +01:00
Eric Pouech
8de547d3e6 winedump: Better handle display of nested symbol entries.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-10 20:16:04 +01:00
Eric Pouech
2447b0131b winedump: Properly indent multi lines symbol records.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-10 20:15:35 +01:00
Eric Pouech
cdcf5b6f08 winedump: No longer print current function.
It's not really relevant when inline sites are present.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-10 20:15:27 +01:00
Eric Pouech
c77db0064a winedump: Pass start offset when dumping symbols.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-10 20:15:17 +01:00
Eric Pouech
f1e0753cdd winedump: Add some more codeview entries.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-10 20:14:51 +01:00
Eric Pouech
97c3c41732 winedump: Better detect whether IPI stream is present.
Old version of PDB files can have a stream #4 which is not an IPI stream
Available documentation isn't 100% clear about when IPI has been
introduced.
So decide that IPI is present when header of stream looks like a type
stream header.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-10 20:14:26 +01:00
Jacek Caban
c41059bcba winebuild: Use find_clang_tool for ld and nm tools.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-10 18:58:32 +01:00
Alexandre Julliard
37c0f5c690 makefiles: Substitute all defined variables in the main makefile.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-10 13:44:44 +01:00
Martin Storsjö
77e9095435 ntdll: Remove stack gap in syscalls on arm.
Store the original stack pointer (on entry to the syscall dispatcher)
in syscall_frame; the stack pointer itself is incremented by
"pop {r0-r3}" right before calling the syscall itself.

This fixes unwinding from functions set up by syscalls, like
KiUserExceptionDispatcher.

Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-09 22:02:56 +01:00
Martin Storsjö
aa256deedd winedump: Rewrite dumping of packed ARM unwind info.
This differs slightly from the official docs (which is clear in some
places, vague in others, and contradictory in some places), based
on actual observed behaviour.

Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-09 22:02:56 +01:00
Martin Storsjö
ae7979a42d winedump: Fix printing of the prologue version of the "ldr lr, [sp], #offset" opcode.
This isn't mentioned in the documentation (which only writes out the
instruction that is executed while unwinding, i.e. the mirror form of
it), but a prologue version of this instruction would look like this.

Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-09 22:02:55 +01:00
Martin Storsjö
22d2b61a64 winedump: Distinguish between 16 and 32 bit nop opcodes in ARM unwind data.
Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-09 22:02:55 +01:00
Martin Storsjö
825e8d8105 winedump: Print the whole multibyte unwind opcode for arm.
Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-09 22:02:55 +01:00
Eric Pouech
27b7a96d9b winedump: Fix computation of signed integers in codeview symbol's annotations.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-08 21:00:57 +01:00
Martin Storsjö
9e9509f307 winebuild: Fix relay entry points in Thumb mode with binutils/ELF and LLVM/PE.
b1fe783ade fixed relay entry points
in Thumb mode when assembled with Clang/LLVM in ELF mode, but broke
them when assembled with binutils as (and PE mode with LLVM didn't
work either before or after).

When/where the thumb bit is applied on symbols varies a lot between
assemblers; this is a notoriously vague and undocumented area.

After a .thumb_func directive, binutils as considers the next
non-local symbol as a thumb symbol, to have the thumb bit set.
LLVM's built-in assembler considers the next symbol, local or not,
to be a thumb symbol. (Just noting for reference for possible
solutions, this particular difference didn't play a role so far.)

Secondly, in a symbol difference expression like this:

    .long symbol1 - symbol2

Binutils as ignores the potential thumb state for both symbols and
just calculates the raw distance. LLVM does include the thumb bit
in symbol1 but ignores it in symbol2.

Finally, for PE targets, the linker sets the thumb bit on all
absolute addresses pointing to the text section, regardless of any
.thumb_func directives at assembly time. (I.e., the
__wine_spec_relay_entry_points entry in .L__wine_spec_relay_descr
gets the bit set even if it wasn't marked as .thumb_func.)

Therefore, mark __wine_spec_relay_entry_points as .thumb_func, as
the absolute address to it will end up with the thumb bit set in
PE builds in any case.

Don't mark the individual relay entry pointers as thumb functions
(the code still is generated as thumb as there hasn't been any
mode switch back to arm mode); this makes the differences calculated
correctly (both LLVM and binutils ignore the thumb state of the
subtracted label).

If desired, one could change __wine_spec_relay_entry_point_%d into
local labels with a .L prefix, just as before
b1fe783ade again, it doesn't make
any difference in this form.

Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-05 11:58:42 +01:00
Eric Pouech
d33ff5d888 mscvpdb.h: Update some line number oriented definitions.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-02 20:32:51 +01:00
Eric Pouech
23fe1ad987 winedump: Also dump library name for a module.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-02 20:32:51 +01:00
Eric Pouech
f64c6e611b winedump: Dump index leaves (TPI).
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-02 20:32:51 +01:00
Eric Pouech
fd959ef060 mscvpdb.h: Add definition for friend function v3.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-02 20:32:51 +01:00
Eric Pouech
1131b32685 winedump: Add some missing next record computation for type leaf.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-02 20:32:51 +01:00
Eric Pouech
f0b8518333 mscvpdb.h: Update symbol header for linetab2's block size.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-02 20:32:51 +01:00
Huw Davies
be59553410 wmc: Remove struct and enum typedefs.
This has the side effect of fixing the build on macOS after
commit 2c1b815363.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-26 10:39:34 +02:00
Alistair Leslie-Hughes
d09d4d97e0 cng.sys: New dll.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48981
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-25 18:53:31 +02:00
Damjan Jovanovic
f01b028d58 wrc: Use sysctl instead of /proc/curproc/file on FreeBSD.
Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-25 18:50:59 +02:00
Damjan Jovanovic
2c1b815363 wmc: Use sysctl instead of /proc/curproc/file on FreeBSD.
Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-25 18:50:59 +02:00
Damjan Jovanovic
c1e83ae9fb winegcc: Use sysctl instead of /proc/curproc/file on FreeBSD.
Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-25 18:50:59 +02:00