# Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ EAPI="5" PATCHVER="1.1" inherit eutils toolchain-funcs multilib-minimal MY_PN="binutils" MY_P="${MY_PN}-${PV}" DESCRIPTION="Core binutils libraries (libbfd, libopcodes, libiberty) for external packages" HOMEPAGE="https://sourceware.org/binutils/" SRC_URI="mirror://gnu/binutils/${MY_P}.tar.bz2 mirror://gentoo/${MY_P}-patches-${PATCHVER}.tar.xz" LICENSE="|| ( GPL-3 LGPL-3 )" # The shared lib SONAMEs use the ${PV} in them. SLOT="0/${PV}" KEYWORDS="amd64 x86" IUSE="64-bit-bfd multitarget nls static-libs zlib" COMMON_DEPEND="zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )" DEPEND="${COMMON_DEPEND} nls? ( sys-devel/gettext )" # Need a newer binutils-config that'll reset include/lib symlinks for us. RDEPEND="${COMMON_DEPEND} >=sys-devel/binutils-config-5 nls? ( !=2.24) make this an explicit option. #497268 --enable-install-libiberty --disable-werror --with-bugurl="https://bugs.gentoo.org/" --with-pkgversion="$(pkgversion)" $(use_enable static-libs static) # The binutils eclass enables this flag for all bi-arch builds, # but other tools often don't care about that support. Put it # beyond a flag if people really want it, but otherwise leave # it disabled as it can slow things down on 32bit arches. #438522 $(use_enable 64-bit-bfd) # We only care about the libs, so disable programs. #528088 --disable-{binutils,etc,ld,gas,gold,gprof} # Disable modules that are in a combined binutils/gdb tree. #490566 --disable-{gdb,libdecnumber,readline,sim} # Strip out broken static link flags. # https://gcc.gnu.org/PR56750 --without-stage1-ldflags ) use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd ) use nls \ && myconf+=( --without-included-gettext ) \ || myconf+=( --disable-nls ) ECONF_SOURCE=${S} \ econf "${myconf[@]}" } multilib_src_install() { default # Provide libiberty.h directly. dosym libiberty/libiberty.h /usr/include/libiberty.h } multilib_src_install_all() { use static-libs || find "${ED}"/usr -name '*.la' -delete }