Fixes launching 32-bit EXEs from a WOW64 build dir.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52618 Signed-off-by: Brendan Shanks bshanks@codeweavers.com --- configure.ac | 2 +- tools/winegcc/winegcc.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac index ab3490b21cd..d408b1f344b 100644 --- a/configure.ac +++ b/configure.ac @@ -773,7 +773,7 @@ case $host_os in LIBS="$ac_save_LIBS" fi
- UNIXLDFLAGS="-dynamiclib -install_name @loader_path/$(UNIXLIB)" + UNIXLDFLAGS="-dynamiclib -install_name @rpath/$(UNIXLIB) -Wl,-rpath,@loader_path/" AC_SUBST(LIBWINE_SHAREDLIB,"libwine.$libwine_version.dylib") AC_SUBST(LIBWINE_LDFLAGS,["-dynamiclib -install_name @rpath/libwine.$libwine_soversion.dylib -Wl,-rpath,@loader_path/ -compatibility_version $libwine_soversion -current_version $libwine_version"]) AC_SUBST(WINELOADER_DEPENDS,"wine_info.plist") diff --git a/tools/winegcc/winegcc.c b/tools/winegcc/winegcc.c index bcec3916843..ab26adb07e8 100644 --- a/tools/winegcc/winegcc.c +++ b/tools/winegcc/winegcc.c @@ -416,7 +416,8 @@ static struct strarray get_link_args( struct options *opts, const char *output_n if (opts->unix_lib) { strarray_add( &flags, "-install_name" ); - strarray_add( &flags, strmake( "@loader_path/%s.so", output_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;