Commit graph

427 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
a041075cd2 makefiles: Support per-platform values for EXTRADLLFLAGS.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-02 20:20:39 +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
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
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
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
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
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
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
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
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
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
Alexandre Julliard
30fb17bda0 makefiles: Add support for importing PE system libraries using the -l option.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-25 11:05:07 +02:00
Alexandre Julliard
d1248c8a0c makefiles: Don't try to link a library to itself.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-25 11:04:11 +02:00
Alexandre Julliard
a1be6b475d makefiles: Don't pass warning flags to external libraries.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-18 11:07:23 +02:00
Alexandre Julliard
a4b01382e1 makefiles: Add support for building libraries imported from external sources.
Based on a patch by Rémi Bernon.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-18 11:07:07 +02:00