These require libntdll.def to exist, otherwise -lntdll is not correctly detected as a DLL with an associated Unix library by winegcc, and is instead treated as a system dependency.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51749 Signed-off-by: Zebediah Figura zfigura@codeweavers.com --- tools/makedep.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/tools/makedep.c b/tools/makedep.c index 59857762edd..b0091f0c461 100644 --- a/tools/makedep.c +++ b/tools/makedep.c @@ -3369,6 +3369,7 @@ static void output_module( struct makefile *make ) { strarray_add( &unix_libs, "-lntdll" ); strarray_add( &unix_deps, obj_dir_path( top_makefile, "dlls/ntdll/ntdll.so" )); + strarray_add( &unix_deps, obj_dir_path( top_makefile, "dlls/ntdll/libntdll.def" )); } } else
Hi Zebediah,
On 9/18/21 12:44 AM, Zebediah Figura wrote:
These require libntdll.def to exist, otherwise -lntdll is not correctly detected as a DLL with an associated Unix library by winegcc, and is instead treated as a system dependency.
We could change winegcc to not depend on .def file existence instead. How about something like the attached (barely tested) patch?
Thanks,
Jacek
On 9/18/21 6:10 AM, Jacek Caban wrote:
Hi Zebediah,
On 9/18/21 12:44 AM, Zebediah Figura wrote:
These require libntdll.def to exist, otherwise -lntdll is not correctly detected as a DLL with an associated Unix library by winegcc, and is instead treated as a system dependency.
We could change winegcc to not depend on .def file existence instead. How about something like the attached (barely tested) patch?
That seems to work, at least for the cases I tested.
I notice the patch removes the case that results in -l%s, but I don't see how that case can be reached in such a way that -l%s is the right option. What am I missing?