commit:     46b41f8f6121022d3e1d70f687580a1bcb32f6c7
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 25 06:00:46 2022 +0000
Commit:     Matthew Smith <matthew <AT> gentoo <DOT> org>
CommitDate: Thu Jul 28 19:51:07 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=46b41f8f

tree-sitter-grammar.eclass: use -Wl,-install_name on Darwin

Closes: https://bugs.gentoo.org/860828
Signed-off-by: Sam James <sam <AT> gentoo.org>
Signed-off-by: Matthew Smith <matthew <AT> gentoo.org>

 eclass/tree-sitter-grammar.eclass | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/eclass/tree-sitter-grammar.eclass 
b/eclass/tree-sitter-grammar.eclass
index 69ad467f8be7..acdb8a7ad73b 100644
--- a/eclass/tree-sitter-grammar.eclass
+++ b/eclass/tree-sitter-grammar.eclass
@@ -76,11 +76,17 @@ tree-sitter-grammar_src_compile() {
        fi
 
        local soname=lib${PN}$(get_libname $(_get_tsg_abi_ver))
+
+       local soname_args="-Wl,--soname=${soname}"
+       if [[ ${CHOST} == *darwin* ]] ; then
+               
soname_args="-Wl,-install_name,${EPREFIX}/usr/$(get_libdir)/${soname}"
+       fi
+
        edo ${link} ${LDFLAGS} \
                        -shared \
                        *.o \
-                       -Wl,--soname=${soname} \
-                       -o "${WORKDIR}"/${soname} || die
+                       ${soname_args} \
+                       -o "${WORKDIR}"/${soname}
 }
 
 # @FUNCTION: tree-sitter-grammar_src_install

Reply via email to