diff options
author | Gerald Britton <gbritton@doomcom.org> | 2003-09-28 23:34:12 +0000 |
---|---|---|
committer | Gerald Britton <gbritton@doomcom.org> | 2003-09-28 23:34:12 +0000 |
commit | 99d28f01bfe62d99542159378744bfe08f866dc4 (patch) | |
tree | 5e0f3f998f9411637a5acc132daae4b7d5cb6904 /uclibc-binutils | |
parent | f1326d679eb0e0f2ed52b49c7e36950db9b6694c (diff) |
uclibc toolchain build updates
BKrev: 3f776ff4Ke3EKFXIlHJTaSTFYTBOrQ
Diffstat (limited to 'uclibc-binutils')
-rw-r--r-- | uclibc-binutils/uclibc-binutils-2.14.90.0.6.oe | 70 | ||||
-rw-r--r-- | uclibc-binutils/uclibc-binutils-cross-2.14.90.0.6.oe | 41 |
2 files changed, 111 insertions, 0 deletions
diff --git a/uclibc-binutils/uclibc-binutils-2.14.90.0.6.oe b/uclibc-binutils/uclibc-binutils-2.14.90.0.6.oe index e69de29bb2..995d2cafce 100644 --- a/uclibc-binutils/uclibc-binutils-2.14.90.0.6.oe +++ b/uclibc-binutils/uclibc-binutils-2.14.90.0.6.oe @@ -0,0 +1,70 @@ +inherit autotools + +DESCRIPTION := A GNU collection of binary utilities +LICENSE := GPL +MAINTAINER := Gerald Britton <gbritton@doomcom.org> + +DEPENDS := virtual/${CROSS}binutils virtual/${CROSS}gcc \ + virtual/libc virtual/libc-headers patcher + +PACKAGES = ${PN} ${PN}-doc +FILES_${PN} = ${includedir} ${libdir} ${bindir}/* + +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-906-hjl_libtool_dso.patch;patch=1 + +S := ${WORKDIR}/binutils-${PV} +B := ${S}/build.${HOST_SYS}.${TARGET_SYS} + +EXTRA_OECONF := --enable-targets=${TARGET_SYS} \ + --with-sysroot=${prefix} \ + --with-lib-path=${prefix}/lib:/lib \ + --enable-multilib \ + --program-prefix=${TARGET_SYS}- + +# This is necessary due to a bug in the binutils Makefiles +EXTRA_OEMAKE = configure-build-libiberty all + +export AR = ${CROSS}ar +export AS = ${CROSS}as +export LD = ${CROSS}ld +export NM = ${CROSS}nm +export RANLIB = ${CROSS}ranlib +export OBJCOPY = ${CROSS}objcopy +export OBJDUMP = ${CROSS}objdump + +export AR_FOR_TARGET = ${TARGET_SYS}-ar +export AS_FOR_TARGET = ${TARGET_SYS}-as +export LD_FOR_TARGET = ${TARGET_SYS}-ld +export NM_FOR_TARGET = ${TARGET_SYS}-nm +export RANLIB_FOR_TARGET = ${TARGET_SYS}-ranlib + +export CC_FOR_HOST = ${CCACHE} ${CROSS}gcc +export CXX_FOR_HOST = ${CCACHE} ${CROSS}gcc + +export CC_FOR_BUILD = ${BUILD_CC} + +export CC = ${CCACHE} ${CROSS}gcc + +binutilsbuild_do_patch () { + oenote IN binutils patch + perl -i -p -e 's,#.*define.*ELF_DYNAMIC_INTERPRETER.*".*",#define ELF_DYNAMIC_INTERPRETER "/lib/ld-uClibc.so.0",;' `grep -lr ELF_DYNAMIC_INTERPRETER *` +} + +python do_patch () { + oe.build.exec_func('base_do_patch', d) + oe.build.exec_func('binutilsbuild_do_patch', d) +} + +do_install_append () { + cd ${D}/${bindir} + # Symlinks for if this is intended to be the only compiler + for p in ${TARGET_SYS}-* ; do + ln -s $p `echo $p | sed -e s,${TARGET_SYS}-,,` + done +} + diff --git a/uclibc-binutils/uclibc-binutils-cross-2.14.90.0.6.oe b/uclibc-binutils/uclibc-binutils-cross-2.14.90.0.6.oe index e69de29bb2..7a1642ecad 100644 --- a/uclibc-binutils/uclibc-binutils-cross-2.14.90.0.6.oe +++ b/uclibc-binutils/uclibc-binutils-cross-2.14.90.0.6.oe @@ -0,0 +1,41 @@ +inherit cross +include uclibc-binutils-${PV}.oe +PN := ${PN}-cross + +DEPENDS := patcher +PROVIDES := virtual/${TARGET_SYS}-binutils + +PACKAGES = + +EXTRA_OECONF := --enable-targets=${TARGET_SYS} \ + --with-sysroot=${prefix} \ + --with-lib-path=${prefix}/usr/lib:${prefix}/lib \ + --enable-multilib \ + --program-prefix=${TARGET_SYS}- + +EXTRA_OEMAKE := + +export CPPFLAGS = +export CXXFLAGS = +export CFLAGS = +export LDFLAGS = + +prefix:=${CROSS_DIR} +exec_prefix:=${CROSS_DIR} +sysconfdir=${CROSS_DIR}/etc +localstatedir=${CROSS_DIR}/var/lib + +do_stage () { + cd ${B} + make install + ${CROSS_DIR}/bin/${TARGET_SYS}-ar rv \ + ${CROSS_DIR}/${TARGET_SYS}/lib/libg.a + for d in info man share/doc share/locale; do + rm -rf ${CROSS_DIR}/$d + done +} + +do_install () { + true +} + |