void-packages/srcpkgs/wine/patches/musl-rpath.patch

58 lines
1.7 KiB
Diff

diff --git a/configure b/configure
index 296c3e4..e838871 100755
--- a/configure
+++ b/configure
@@ -10306,6 +10306,38 @@ then :
fi
;;
esac
+
+ # do this at the end because it needs double dollar for makefile
+ as_ac_var=`printf "%s\n" "ac_cv_cflags_-Wl,-rpath,\\\\\\$ORIGIN" | $as_tr_sh`
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,-rpath,\\\$ORIGIN" >&5
+printf %s "checking whether the compiler supports -Wl,-rpath,\\\$ORIGIN... " >&6; }
+if eval test \${$as_ac_var+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ ac_wine_try_cflags_saved=$CFLAGS
+CFLAGS="$CFLAGS -Wl,-rpath,\\\$ORIGIN"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int main(int argc, char **argv) { return 0; }
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+ eval "$as_ac_var=yes"
+else $as_nop
+ eval "$as_ac_var=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+CFLAGS=$ac_wine_try_cflags_saved
+fi
+eval ac_res=\$$as_ac_var
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
+if eval test \"x\$"$as_ac_var"\" = x"yes"
+then :
+ UNIXLDFLAGS="$UNIXLDFLAGS '-Wl,-rpath,\$\$ORIGIN'"
+fi
;;
esac
diff --git a/configure.ac b/configure.ac
index 140f26a..02497c9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -784,6 +784,9 @@ case $host_os in
[WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -Wl,-z,max-page-size=0x1000"])
;;
esac
+
+ # do this at the end because it needs double dollar for makefile
+ WINE_TRY_CFLAGS([-Wl,-rpath,\\\$ORIGIN],[UNIXLDFLAGS="$UNIXLDFLAGS '-Wl,-rpath,\$\$ORIGIN'"])
;;
esac