diff --git a/tools/winegcc/winegcc.c b/tools/winegcc/winegcc.c
index 426336e4536..0a72e6fbe49 100644
--- a/tools/winegcc/winegcc.c
+++ b/tools/winegcc/winegcc.c
@@ -492,6 +492,13 @@ static strarray *get_link_args( struct options *opts, const char *output_name )
������ ������ ������ ������ ������ ������ ������strarray_add( flags, opts->image_base );
������ ������ ������ ������ ������}
������ ������ ������ ������ ������if (opts->strip) strarray_add( flags, "-Wl,-x" );
+������ ������ ������ ������ if (opts->unix_lib)
+������ ������ ������ ������ {
+������ ������ ������ ������ ������ ������ strarray_add( flags, "-install_name" );
+������ ������ ������ ������ ������ ������ strarray_add( flags, strmake( "@rpath/%s.so", output_name ) );
+������ ������ ������ ������ ������ ������ strarray_add( flags, "-Wl,-headerpad_max_inatall_names" );
+������ ������ ������ ������ ������ ������ strarray_add( flags, "-Wl,-rpath,@loader_path/" );
+������ ������ ������ ������ }
������ ������ ������ ������ ������strarray_addall( link_args, flags );
������ ������ ������ ������ ������return link_args;


On Fri, Aug 20, 2021 at 3:57 PM Dean Greer <gcenx83@gmail.com> wrote:
The only tweak I���������d propose is adding ������-Wl,-headerpad_max_install_names


diff --git a/tools/winegcc/winegcc.c b/tools/winegcc/winegcc.c
index 426336e4536..0a72e6fbe49 100644
--- a/tools/winegcc/winegcc.c
+++ b/tools/winegcc/winegcc.c
@@ -492,6 +492,13 @@ static strarray *get_link_args( struct options *opts, const char *output_name )
������ ������ ������ ������ ������ ������ ������strarray_add( flags, opts->image_base );
������ ������ ������ ������ ������}
������ ������ ������ ������ ������if (opts->strip) strarray_add( flags, "-Wl,-x" );
+������ ������ ������ ������ if (opts->unix_lib)
+������ ������ ������ ������ {
+������ ������ ������ ������ ������ ������ strarray_add( flags, "-install_name" );
+������ ������ ������ ������ ������ ������ strarray_add( flags, strmake( "@rpath/%s.so", output_name ) );
+������ ������ ������ ������ ������ ������ strarray_add( flags, "-Wl,-headerpad_max_install_names" );
+������ ������ ������ ������ ������ ������ strarray_add( flags, "-Wl,-rpath,@loader_path/" );
+������ ������ ������ ������ }
������ ������ ������ ������ ������strarray_addall( link_args, flags );
������ ������ ������ ������ ������return link_args;




On Fri, Aug 20, 2021 at 3:36 PM Huw Davies <huw@codeweavers.com> wrote:
On Fri, Aug 20, 2021 at 11:45:24AM -0400, Dean Greer wrote:
> That���������s strange as this should work maybe only dylibs do this correctly.. this
> is Apple.
>
> Could you instead implement adding this in the manner I explain above instead
> so I can be used in a more general way?, aka UNIX_LDFLAGS that by default add
> this needed -rpath,@loader_path/ but also allows adding additional flags as
> needed.

I'm not sure what your issue is with using LDFLAGS - they do only affect
unix libraries.������ There shouldn't be an issue with passing an rpath in
that.

Huw.