i'm posting this bug so we can get a grip on what all we feel the binutils-config script should do here is how i envision our binutils to be managed (much like gcc): /usr/[CTARGET]/binutils-bin/[VER]/{ar,as,ld,nm,etc} /usr/lib/binutils/[CTARGET]/[VER]/{ldscripts,libbfd,libopcodes,etc} /usr/lib/binutils/[CTARGET]/[VER]/include /usr/share/binutils-data/[CTARGET]/[VER]/{locale,man,etc...} /etc/env.d/binutils/[CTARGET]-[VER] then here is how i see binutils-config working: /usr/bin/[CTARGET]-{ar,as,ld,nm,etc} -> symlinks to ../[CTARGET]/bin/{ar,as,ld,nm,etc} /usr/bin/{ar,as,ld,nm,etc} -> symlinks to ../[CHOST]/bin/{ar,as,ld,nm,etc} /usr/[CTARGET]/bin/{ar,as,ld,nm,etc} -> symlinks to ../binutils-bin/[VER]/{ar,as,ld,nm,etc} this way you can have multiple [CTARGET]-{ar,as,ld,nm,etc} in your PATH, but with binutils-config, you can swap out versions of binutils on a per-CTARGET basis $ binutils-config -l * armv4l-unknown-linux-gnu: - 2.14.90.0.8 + 2.15.90.0.1.1 - 2.15.92.0.2 * hppa2.0-unknown-linux-gnu - 2.15.90.0.1.1 + 2.15.92.0.2 * i686-pc-linux-gnu - 2.15.90.0.1.1 + 2.15.92.0.2 here we see that arm has 3 versions of binutils installed and 2.15.90.0.1.1 is the active version ... hppa and i686 both have 2 versions of binutils installed and both have 2.15.92.0.2 as the active version so far, this stuff is easy to manage ... i can rip gcc-config into a slimmed down binutils-config since we only need to handle a small subset of gcc-config functionality ... the problem is with SLOTs/portage ... i see two problems: - we would want to SLOT="${CTARGET}-${PV}" ... while this is great for us, for most users, they would want just 1 version of binutils installed (SLOT=0) ... perhaps we could cheat with USE=crossdev but i'm open to other ideas ... - portage cant handle multiple SLOT's with the same version atm ... this is a known issue and one i think we can ignore for now since there's nothing we can do about it and binutils-config can easily be written in the meantime since, in reality, it doesnt care about SLOT's at all
binutils-config is in portage, please break