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,-rpath,@loader_path/" );
+ }
strarray_addall( link_args, flags );
return link_args;