diff --git a/configure b/configure
index 0cbc031f5603bbbbbd2ab943400ccef43227beec..31ca6dfd3f228266f14b1495e28330a509a8f8fb 100755
--- a/configure
+++ b/configure
@@ -14089,16 +14089,22 @@ If you are using Linux, you will need a newer binutils.
    { (exit 1); exit 1; }; }
 fi
 
+LDPATH=""
+
 case $build_os in
   cygwin*|mingw32*)
     LDPATH="PATH=\"\$(TOOLSDIR)/libs/wine:\$\$PATH\""
- ;;
+    ;;
   darwin*|macosx*)
-    LDPATH="DYLD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/wine:\$\$DYLD_LIBRARY_PATH\""
- ;;
+    ;;
+  linux*|solaris*)      if test -z "$LDRPATH_LOCAL"
+    then
+      LDPATH="LD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/wine:\$\$LD_LIBRARY_PATH\""
+    fi
+    ;;
   *)
     LDPATH="LD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/wine:\$\$LD_LIBRARY_PATH\""
- ;;
+    ;;
 esac
 
 case $host_os in
diff --git a/configure.ac b/configure.ac
index c15b12f798ac938a1625e599b71234e7d6e34caa..c64fe05f8a63633de3195bac38f4c29b29688856 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1064,13 +1064,22 @@ If you are using Linux, you will need a newer binutils.]
 )
 fi
 
+AC_SUBST(LDPATH,"")
 case $build_os in
   cygwin*|mingw32*)
-    AC_SUBST(LDPATH,"PATH=\"\$(TOOLSDIR)/libs/wine:\$\$PATH\"") ;;
+    LDPATH="PATH=\"\$(TOOLSDIR)/libs/wine:\$\$PATH\""
+    ;;
   darwin*|macosx*)
-    AC_SUBST(LDPATH,"DYLD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/wine:\$\$DYLD_LIBRARY_PATH\"") ;;
+    ;;
+  linux*|solaris*)  dnl FIXME: What other platforms support $ORIGIN?
+    if test -z "$LDRPATH_LOCAL"
+    then
+      LDPATH="LD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/wine:\$\$LD_LIBRARY_PATH\""
+    fi
+    ;;
   *)
-    AC_SUBST(LDPATH,"LD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/wine:\$\$LD_LIBRARY_PATH\"") ;;
+    LDPATH="LD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/wine:\$\$LD_LIBRARY_PATH\""
+    ;;
 esac
 
 dnl Mingw needs explicit msvcrt for linking libwine and winsock for wininet