[PATCH 0/1] MR1175: winegcc: clang build fixes.
Don't translate imported static libraries paths to -Ldir -lfoo form. It's no longer needed, we use -nodefaultlibs anyway. Fixes clang MSVC build that expects foo.lib file name when using -lfoo. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/1175
From: Jacek Caban <jacek(a)codeweavers.com> It's no longer needed, we use -nodefaultlibs anyway. Fixes clang MSVC build that expects foo.lib file name when using -lfoo. --- tools/winegcc/winegcc.c | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/tools/winegcc/winegcc.c b/tools/winegcc/winegcc.c index e40aa9270ec..7b4f0ea6b7b 100644 --- a/tools/winegcc/winegcc.c +++ b/tools/winegcc/winegcc.c @@ -1342,29 +1342,14 @@ static void build(struct options* opts) strarray_add(&link_args, name); break; case 'a': - if (!opts->use_msvcrt && !opts->lib_suffix && strchr(name, '/')) + /* don't link to ntdll or ntoskrnl in non-msvcrt mode + * since they export CRT functions */ + if (!opts->use_msvcrt && !is_pe && strchr(name, '/')) { - /* turn the path back into -Ldir -lfoo options - * this makes sure that we use the specified libs even - * when mingw adds its own import libs to the link */ const char *p = get_basename( name ); - if (is_pe) - { - if (!strncmp( p, "lib", 3 ) && strcmp( p, "libmsvcrt.a" )) - { - strarray_add(&link_args, strmake("-L%s", get_dirname(name) )); - strarray_add(&link_args, strmake("-l%s", get_basename_noext( p + 3 ))); - break; - } - } - else - { - /* don't link to ntdll or ntoskrnl in non-msvcrt mode - * since they export CRT functions */ - if (!strcmp( p, "libntdll.a" )) break; - if (!strcmp( p, "libntoskrnl.a" )) break; - } + if (!strcmp( p, "libntdll.a" )) break; + if (!strcmp( p, "libntoskrnl.a" )) break; } strarray_add(&link_args, name); break; -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/1175
Hi, It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated. The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=125481 Your paranoid android. === debian11 (build log) === Task: WineTest did not produce the win32 report
It looks like this should be fixed in makedep instead, we're missing -mno-cygwin for extra test modules. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/1175#note_12553
This merge request was closed by Jacek Caban. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/1175
participants (3)
-
Jacek Caban -
Jacek Caban (@jacek) -
Marvin