commit:     40be2519bcd439fc67a3a8c77656388d05a3c3c4
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 13 15:38:01 2022 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Oct 13 15:41:13 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=40be2519

sys-devel/lld-toolchain-symlinks: Do not multilib by default

Bug: https://bugs.gentoo.org/876901
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 ...nks-14.ebuild => lld-toolchain-symlinks-14-r1.ebuild} | 16 +++++++++++-----
 ...nks-15.ebuild => lld-toolchain-symlinks-15-r1.ebuild} | 16 +++++++++++-----
 ...nks-16.ebuild => lld-toolchain-symlinks-16-r1.ebuild} | 16 +++++++++++-----
 sys-devel/lld-toolchain-symlinks/metadata.xml            |  5 +++++
 4 files changed, 38 insertions(+), 15 deletions(-)

diff --git a/sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-14.ebuild 
b/sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-14-r1.ebuild
similarity index 64%
rename from sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-14.ebuild
rename to sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-14-r1.ebuild
index 75ee3dd007f7..c1a6e31f926c 100644
--- a/sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-14.ebuild
+++ b/sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-14-r1.ebuild
@@ -13,7 +13,7 @@ S=${WORKDIR}
 LICENSE="public-domain"
 SLOT="${PV}"
 KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
-IUSE="+native-symlinks"
+IUSE="multilib-symlinks +native-symlinks"
 
 RDEPEND="
        sys-devel/lld
@@ -22,12 +22,18 @@ RDEPEND="
 src_install() {
        use native-symlinks || return
 
-       local abi
+       local chosts=( "${CHOST}" )
+       if use multilib-symlinks; then
+               local abi
+               for abi in $(get_all_abis); do
+                       chosts+=( "$(get_abi_CHOST "${abi}")" )
+               done
+       fi
+
        local dest=/usr/lib/llvm/${SLOT}/bin
        dodir "${dest}"
        dosym ../../../../bin/ld.lld "${dest}/ld"
-       for abi in $(get_all_abis); do
-               local abi_chost=$(get_abi_CHOST "${abi}")
-               dosym ../../../../bin/ld.lld "${dest}/${abi_chost}-ld"
+       for chost in "${chosts[@]}"; do
+               dosym ../../../../bin/ld.lld "${dest}/${chost}-ld"
        done
 }

diff --git a/sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-15.ebuild 
b/sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-15-r1.ebuild
similarity index 64%
rename from sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-15.ebuild
rename to sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-15-r1.ebuild
index 75ee3dd007f7..c1a6e31f926c 100644
--- a/sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-15.ebuild
+++ b/sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-15-r1.ebuild
@@ -13,7 +13,7 @@ S=${WORKDIR}
 LICENSE="public-domain"
 SLOT="${PV}"
 KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
-IUSE="+native-symlinks"
+IUSE="multilib-symlinks +native-symlinks"
 
 RDEPEND="
        sys-devel/lld
@@ -22,12 +22,18 @@ RDEPEND="
 src_install() {
        use native-symlinks || return
 
-       local abi
+       local chosts=( "${CHOST}" )
+       if use multilib-symlinks; then
+               local abi
+               for abi in $(get_all_abis); do
+                       chosts+=( "$(get_abi_CHOST "${abi}")" )
+               done
+       fi
+
        local dest=/usr/lib/llvm/${SLOT}/bin
        dodir "${dest}"
        dosym ../../../../bin/ld.lld "${dest}/ld"
-       for abi in $(get_all_abis); do
-               local abi_chost=$(get_abi_CHOST "${abi}")
-               dosym ../../../../bin/ld.lld "${dest}/${abi_chost}-ld"
+       for chost in "${chosts[@]}"; do
+               dosym ../../../../bin/ld.lld "${dest}/${chost}-ld"
        done
 }

diff --git a/sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-16.ebuild 
b/sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-16-r1.ebuild
similarity index 63%
rename from sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-16.ebuild
rename to sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-16-r1.ebuild
index aefb59aafa0d..0fc37704b2b3 100644
--- a/sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-16.ebuild
+++ b/sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-16-r1.ebuild
@@ -14,7 +14,7 @@ LICENSE="public-domain"
 SLOT="${PV}"
 KEYWORDS=""
 PROPERTIES="live"
-IUSE="+native-symlinks"
+IUSE="multilib-symlinks +native-symlinks"
 
 RDEPEND="
        sys-devel/lld
@@ -23,12 +23,18 @@ RDEPEND="
 src_install() {
        use native-symlinks || return
 
-       local abi
+       local chosts=( "${CHOST}" )
+       if use multilib-symlinks; then
+               local abi
+               for abi in $(get_all_abis); do
+                       chosts+=( "$(get_abi_CHOST "${abi}")" )
+               done
+       fi
+
        local dest=/usr/lib/llvm/${SLOT}/bin
        dodir "${dest}"
        dosym ../../../../bin/ld.lld "${dest}/ld"
-       for abi in $(get_all_abis); do
-               local abi_chost=$(get_abi_CHOST "${abi}")
-               dosym ../../../../bin/ld.lld "${dest}/${abi_chost}-ld"
+       for chost in "${chosts[@]}"; do
+               dosym ../../../../bin/ld.lld "${dest}/${chost}-ld"
        done
 }

diff --git a/sys-devel/lld-toolchain-symlinks/metadata.xml 
b/sys-devel/lld-toolchain-symlinks/metadata.xml
index 1583779e583b..69ca87c01788 100644
--- a/sys-devel/lld-toolchain-symlinks/metadata.xml
+++ b/sys-devel/lld-toolchain-symlinks/metadata.xml
@@ -5,6 +5,11 @@
                <email>[email protected]</email>
        </maintainer>
        <use>
+               <flag name="multilib-symlinks">
+                       Install symlinks for all ABI CHOSTs. Note that this can
+                       result in gcc being overrode for native builds, as well
+                       as conflict with crossdev if used for the same targets.
+               </flag>
                <flag name="native-symlinks">
                        Install generic 'ld' symlink, as well as ${CTARGET}-ld.
                        These symlinks are installed into slotted LLVM bindir,

Reply via email to