commit:     3326692aad3350ef104471ba2500207754c4129f
Author:     Michael Haubenwallner <haubi <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 24 11:01:25 2019 +0000
Commit:     Michael Haubenwallner <haubi <AT> gentoo <DOT> org>
CommitDate: Mon Jun 24 11:07:51 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3326692a

prefix/winnt/profile.bashrc: move usr/lib/*.dll to usr/bin/

When dlls or executables are created without the parity loader in place,
dlls may not be found when not in usr/bin.
So better move dlls from usr/lib to usr/bin, much like Cygwin does.

Signed-off-by: Michael Haubenwallner <haubi <AT> gentoo.org>

 profiles/prefix/windows/winnt/profile.bashrc | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/profiles/prefix/windows/winnt/profile.bashrc 
b/profiles/prefix/windows/winnt/profile.bashrc
index 4e60691a494..c0eaec08a6d 100644
--- a/profiles/prefix/windows/winnt/profile.bashrc
+++ b/profiles/prefix/windows/winnt/profile.bashrc
@@ -62,6 +62,17 @@ post_src_install() {
                        ;;
                esac
        done
+       find usr/$(get_libdir) -maxdepth 1 -type f -name '*.dll' |
+       while read f
+       do
+               if test ! -f usr/bin/${f##*/}; then
+                       ebegin "moving ${f} to usr/bin for native loader"
+                       dodir usr/bin || die
+                       mv -f "${f}" usr/bin || die
+                       ln -sf "../bin/${f##*/}" "${f}"
+                       eend $?
+               fi
+       done
 }
 
 windows_setup_dllhelper_cp() {

Reply via email to