# $Id$ PNAME="binutils" PVER="2.32" PBUILD="r1" PCAT="sys-dev" DESCRIPTION="Tools necessary to build programs." HOMEPAGE="http://www.kernel.org/pub/linux/devel/binutils/" # enabled 1, or disabled 0 GOLD_ENABLED=1 DEPEND=">= virtual/glibc >= sys-libs/zlib-1.2.8" if [[ ${GOLD_ENABLED} = 1 ]] then # ld.gold needs libstdc++ and libgcc DEPEND="${DEPEND} >= sys-libs/libgcc-8.3.0 >= sys-libs/libstdc++-8.3.0" fi SDEPEND=">= virtual/kernel-headers" SRCFILE="${PNAME}-${PVER}.tar.gz" SRCDIR="${BUILDDIR}/${PNAME}-${PVER}" sminclude mtools SRC_URI=( http://www.kernel.org/pub/linux/devel/${PNAME}/${SRCFILE} gnu://${PNAME}/${SRCFILE} mirror://${PNAME}/${SRCFILE} ) # unstable #UP2DATE="updatecmd ${HOMEPAGE} | sed -n 's/.*release.binutils-\(.*\).*/\1/;$ p'" # stable only UP2DATE="updatecmd_gnu ${PNAME} gz" # binutils don't like strong CFLAGS export CFLAGS="${CFLAGS//-O?} -O2" export CXXFLAGS="${CFLAGS}" if [[ -z ${CCHOST} ]] then # no crosscompile defined export CCHOST=${CHOST} else # use crosscompile host export CCHOST=${CCHOST} fi src_prepare() { munpack ${SRCFILE} || die install -d ${SRCDIR}/build || die } src_compile() { cd ${SRCDIR}/build local myopts if [[ ${GOLD_ENABLED} = 1 ]] then myopts+=" --enable-gold" myopts+=" --enable-ld=default" fi # fortify_source not supported export CPPFLAGS=${CPPFLAGS/-D_FORTIFY_SOURCE=2/} #--enable-64-bit-bfd \ # fixes compilation, use 'ar' instead of '${CHOST}-ar' AR=ar \ ../configure \ --host=${CHOST} \ --target=${CCHOST} \ --prefix=/usr \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --libdir=/usr/$(mlibdir) \ --with-bugurl="http://bugs.magellan-linux.de/" \ --enable-shared \ --enable-plugins \ --enable-threads \ --disable-werror \ --disable-gdb \ --with-pic \ ${myopts} \ || die make configure-host || die mmake tooldir=/usr all || die } src_install() { cd ${SRCDIR}/build mmake DESTDIR=${BINDIR} tooldir=/usr install || die minstallfile ../include/libiberty.h /usr/include || die # fix missing symlinks local i for i in ar nm ranlib do mlink ${i} /usr/bin/${CHOST}-${i} || die done cd ${SRCDIR} minstalldocs ChangeLog* COPYING* MAINTAINERS README* || die }