# Template file for 'binutils'
pkgname=binutils
version=2.21.1
distfiles="${GNU_SITE}/binutils/$pkgname-$version.tar.bz2"
build_style=custom-install
short_desc="GNU binary utilities"
maintainer="Juan RP <xtraeme@gmail.com>"
homepage="http://www.gnu.org/software/binutils/"
license="GPL-3"
checksum=f769b64350a02fbee009e1582cc12b6ed43b41985de65effb741e258e075dd05
long_desc="
 The GNU binutils package contains essential tools to assemble, link and
 manipulate binary and object files. They are often used with a compiler
 and additional libraries for building software.

 It includes the GNU linker, the portable GNU assembler, ar for modifying
 archives (such as libraries), nm for listing symbols from object files,
 objdump for displaying object file information, ranlib for generating
 archive indexes, size for listing section sizes of object files,
 strings for outputing the printable characters in files, strip for
 stripping out symbols (like debugging information) from object files,
 and other tools."

bootstrap=yes
subpackages="$pkgname-devel"

Add_dependency run glibc
Add_dependency run zlib

if [ -n "$BOOTSTRAP_PKG_REBUILD" ]; then
	Add_dependency build gettext
	Add_dependency build texinfo
fi

do_build()
{
	./configure ${CONFIGURE_SHARED_ARGS} --enable-threads \
		--enable-64-bit-bfd --enable-multilib --enable-plugins \
		--enable-secureplt --with-mmap

	make ${makejobs}
}

do_install()
{
	if [ "$xbps_machine" = "x86_64" ]; then
		mkdir -p ${SRCPKGDESTDIR}/usr/lib
		cd ${SRCPKGDESTDIR}/usr && ln -s lib lib64 && cd ${wrksrc}
	fi

	make DESTDIR=${DESTDIR} tooldir=/usr install

	# Remove info file that conflicts with autoconf.
	rm -f ${DESTDIR}/usr/share/info/standards.info
	rm -f ${DESTDIR}/usr/lib64

	# Remove useless manpages.
	for f in dlltool nlmconv windres windmc; do
		rm -f ${DESTDIR}/usr/share/man/man1/${f}.1
	done

	# Fix for multilib builds.
	if [ -d ${DESTDIR}/usr/lib32 ]; then
		mv ${DESTDIR}/usr/lib32/* ${DESTDIR}/usr/lib
		rmdir ${DESTDIR}/usr/lib32
	fi
}