summaryrefslogtreecommitdiff
path: root/binutils
diff options
context:
space:
mode:
Diffstat (limited to 'binutils')
-rw-r--r--binutils/binutils-2.14.90.0.6/binutils-100_cflags_for_build.patch0
-rw-r--r--binutils/binutils-cross_2.14.90.0.6.oe24
-rw-r--r--binutils/binutils-uclibc-cross_2.14.90.0.6.oe25
-rw-r--r--binutils/binutils_2.14.90.0.6.oe48
4 files changed, 85 insertions, 12 deletions
diff --git a/binutils/binutils-2.14.90.0.6/binutils-100_cflags_for_build.patch b/binutils/binutils-2.14.90.0.6/binutils-100_cflags_for_build.patch
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/binutils/binutils-2.14.90.0.6/binutils-100_cflags_for_build.patch
diff --git a/binutils/binutils-cross_2.14.90.0.6.oe b/binutils/binutils-cross_2.14.90.0.6.oe
index 3ad13e5cbb..7d5e9967e3 100644
--- a/binutils/binutils-cross_2.14.90.0.6.oe
+++ b/binutils/binutils-cross_2.14.90.0.6.oe
@@ -3,8 +3,28 @@ inherit cross
PROVIDES = virtual/${TARGET_PREFIX}binutils
DEPENDS = patcher
FILESDIR = ${@os.path.dirname(oe.data.getVar('FILE',d,1))}/binutils-${PV}
+PACKAGES =
-D=${CROSS_DIR}
-do_install () {
+do_stage () {
oe_runmake install
+
+ # We don't really need these, so we'll remove them...
+ rm -rf ${CROSS_DIR}/lib/ldscripts
+ rm -rf ${CROSS_DIR}/share/info
+ rm -rf ${CROSS_DIR}/share/locale
+ rm -rf ${CROSS_DIR}/share/man
+ rmdir ${CROSS_DIR}/share || :
+ rmdir ${CROSS_DIR}/usr/lib/gcc-lib || :
+ rmdir ${CROSS_DIR}/usr/lib || :
+ rmdir ${CROSS_DIR}/usr || :
+
+ # We want to move this into the target specific location
+ mkdir -p ${CROSS_DIR}/${TARGET_SYS}/lib
+ mv -f ${CROSS_DIR}/lib/libiberty.a ${CROSS_DIR}/${TARGET_SYS}/lib
+ rmdir ${CROSS_DIR}/lib || :
}
+
+do_install () {
+ :
+}
+
diff --git a/binutils/binutils-uclibc-cross_2.14.90.0.6.oe b/binutils/binutils-uclibc-cross_2.14.90.0.6.oe
index feada83a3f..6648d5d267 100644
--- a/binutils/binutils-uclibc-cross_2.14.90.0.6.oe
+++ b/binutils/binutils-uclibc-cross_2.14.90.0.6.oe
@@ -3,3 +3,28 @@ inherit cross
PROVIDES = virtual/${TARGET_PREFIX}binutils
DEPENDS = patcher
FILESDIR = ${@os.path.dirname(oe.data.getVar('FILE',d,1))}/binutils-${PV}
+PACKAGES =
+
+do_stage () {
+ oe_runmake install
+
+ # We don't really need these, so we'll remove them...
+ rm -rf ${CROSS_DIR}/lib/ldscripts
+ rm -rf ${CROSS_DIR}/share/info
+ rm -rf ${CROSS_DIR}/share/locale
+ rm -rf ${CROSS_DIR}/share/man
+ rmdir ${CROSS_DIR}/share || :
+ rmdir ${CROSS_DIR}/usr/lib/gcc-lib || :
+ rmdir ${CROSS_DIR}/usr/lib || :
+ rmdir ${CROSS_DIR}/usr || :
+
+ # We want to move this into the target specific location
+ mkdir -p ${CROSS_DIR}/${TARGET_SYS}/lib
+ mv -f ${CROSS_DIR}/lib/libiberty.a ${CROSS_DIR}/${TARGET_SYS}/lib
+ rmdir ${CROSS_DIR}/lib || :
+}
+
+do_install () {
+ :
+}
+
diff --git a/binutils/binutils_2.14.90.0.6.oe b/binutils/binutils_2.14.90.0.6.oe
index 99b1f8564f..19c628e99c 100644
--- a/binutils/binutils_2.14.90.0.6.oe
+++ b/binutils/binutils_2.14.90.0.6.oe
@@ -5,16 +5,37 @@ LICENSE := GPL
MAINTAINER := Gerald Britton <gbritton@doomcom.org>
DEPENDS := virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}gcc \
- virtual/libc virtual/libc-headers patcher
+ virtual/libc patcher
-PACKAGES = ${PN} ${PN}-doc
-FILES_${PN} = ${includedir} ${libdir} ${bindir}/*
+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 \
file://${FILESDIR}/configure.patch;patch=1
@@ -24,6 +45,7 @@ B := ${S}/build.${HOST_SYS}.${TARGET_SYS}
EXTRA_OECONF := --enable-targets=${TARGET_SYS} \
--with-sysroot=${prefix} \
--with-lib-path=${prefix}/lib:/lib \
+ --disable-shared \
--enable-multilib \
--program-prefix=${TARGET_PREFIX}
@@ -57,12 +79,18 @@ do_configure () {
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 if this is intended to be the only compiler
- (
- for p in ${TARGET_SYS}-* ; do
- ln -sf $p `echo $p | sed -e s,${TARGET_SYS}-,,`
- done
- true
- )
+
+ # 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
}