inherit autotools DESCRIPTION := A GNU collection of binary utilities LICENSE := GPL MAINTAINER := Gerald Britton # This will ONLY build to this target TARGET_VENDOR := TARGET_SYS := ${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS} TARGET_PREFIX := ${TARGET_SYS}- DEPENDS := virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}gcc \ virtual/libc patcher PACKAGES = "${PN} ${PN}-dev ${PN}-doc ${PN}-symlinks" FILES_${PN} = \ ${bindir}/${TARGET_PREFIX}* FILES_${PN}-dev = \ ${includedir} \ ${libdir}/*.a FILES_${PN}-symlinks = \ ${bindir}/addr2line \ ${bindir}/ar \ ${bindir}/as \ ${bindir}/ld \ ${bindir}/nm \ ${bindir}/objcopy \ ${bindir}/objdump \ ${bindir}/ranlib \ ${bindir}/readelf \ ${bindir}/size \ ${bindir}/strings \ ${bindir}/strip SRC_URI := http://ftp.kernel.org/pub/linux/devel/binutils/binutils-${PV}.tar.bz2 \ file://${FILESDIR}/binutils-001_ld_makefile.patch;patch=1 \ file://${FILESDIR}/binutils-006_better_file_error.patch;patch=1 \ file://${FILESDIR}/binutils-009_signed_char_fix.patch;patch=1 \ file://${FILESDIR}/binutils-012_check_ldrunpath_length.patch;patch=1 \ file://${FILESDIR}/binutils-100_cflags_for_build.patch;patch=1 \ file://${FILESDIR}/binutils-906-hjl_libtool_dso.patch;patch=1 S := ${WORKDIR}/binutils-${PV} B := ${S}/build.${HOST_SYS}.${TARGET_SYS} EXTRA_OECONF = '--with-sysroot=${prefix}' # This is necessary due to a bug in the binutils Makefiles EXTRA_OEMAKE = configure-build-libiberty all export AR = ${HOST_PREFIX}ar export AS = ${HOST_PREFIX}as export LD = ${HOST_PREFIX}ld export NM = ${HOST_PREFIX}nm export RANLIB = ${HOST_PREFIX}ranlib export OBJCOPY = ${HOST_PREFIX}objcopy export OBJDUMP = ${HOST_PREFIX}objdump export AR_FOR_TARGET = ${TARGET_PREFIX}ar export AS_FOR_TARGET = ${TARGET_PREFIX}as export LD_FOR_TARGET = ${TARGET_PREFIX}ld export NM_FOR_TARGET = ${TARGET_PREFIX}nm export RANLIB_FOR_TARGET = ${TARGET_PREFIX}ranlib export CC_FOR_HOST = ${CCACHE} ${HOST_PREFIX}gcc export CXX_FOR_HOST = ${CCACHE} ${HOST_PREFIX}gcc export CC_FOR_BUILD = ${BUILD_CC} export CC = ${CCACHE} ${HOST_PREFIX}gcc do_configure () { oe_runconf } do_install () { autotools_do_install # We don't really need these, so we'll remove them... rm -rf ${D}/${libdir}/ldscripts # Install the libiberty header install -m 644 ${S}/include/ansidecl.h ${D}/${includedir} install -m 644 ${S}/include/libiberty.h ${D}/${includedir} cd ${D}/${bindir} # Symlinks for ease of running these on the native target for p in ${TARGET_SYS}-* ; do ln -sf $p `echo $p | sed -e s,${TARGET_SYS}-,,` done }