diff options
author | Richard Purdie <rpurdie@linux.intel.com> | 2010-07-24 01:07:54 +0100 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-07-24 01:07:54 +0100 |
commit | 33ee4079a242275ef53be12de6b1e9115096b878 (patch) | |
tree | 4eb4e067298dd25b6f0fb860e0ae2c56c3937463 /meta/packages/binutils | |
parent | 8b3f94e27d5747f99e13c4fbe9e30375c185092f (diff) | |
download | openembedded-core-33ee4079a242275ef53be12de6b1e9115096b878.tar.gz openembedded-core-33ee4079a242275ef53be12de6b1e9115096b878.tar.bz2 openembedded-core-33ee4079a242275ef53be12de6b1e9115096b878.zip |
binutils: Add native version and tweak
Enable use of BBCLASSEXTEND to generate a native verison of binutils for the
libiberty, libbfd and libopcodes libs.
Also stop installing useless libs in the cross-canadian recipe.
Partially based on a patch by Mark Hatle <mhatle@windriver.com>.
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'meta/packages/binutils')
-rw-r--r-- | meta/packages/binutils/binutils-cross-canadian.inc | 10 | ||||
-rw-r--r-- | meta/packages/binutils/binutils.inc | 24 | ||||
-rw-r--r-- | meta/packages/binutils/binutils_2.20.1.bb | 2 |
3 files changed, 32 insertions, 4 deletions
diff --git a/meta/packages/binutils/binutils-cross-canadian.inc b/meta/packages/binutils/binutils-cross-canadian.inc index 23dfa161eb..04fa6e2de0 100644 --- a/meta/packages/binutils/binutils-cross-canadian.inc +++ b/meta/packages/binutils/binutils-cross-canadian.inc @@ -13,8 +13,10 @@ do_install () { ln -sf "${bindir}/`basename $l`" "${D}${prefix}/${TARGET_SYS}/bin/`basename $l | sed -e 's,${TARGET_PREFIX},,'`" done - # Install the libiberty header - install -d ${D}${includedir} - install -m 644 ${S}/include/ansidecl.h ${D}${includedir} - install -m 644 ${S}/include/libiberty.h ${D}${includedir} + # We're not interested in the libs or headers, these would come from the + # nativesdk or target version of the binutils recipe + rm -f ${D}${libdir}/libbfd* + rm -f ${D}${libdir}/libiberty* + rm -f ${D}${libdir}/libopcodes* + rm -f ${D}${includedir}/*.h } diff --git a/meta/packages/binutils/binutils.inc b/meta/packages/binutils/binutils.inc index 98ddbcfdd2..89c952b1c1 100644 --- a/meta/packages/binutils/binutils.inc +++ b/meta/packages/binutils/binutils.inc @@ -39,8 +39,11 @@ FILES_${PN}-symlinks = " \ B = "${S}/build.${HOST_SYS}.${TARGET_SYS}" EXTRA_OECONF = "--program-prefix=${TARGET_PREFIX} \ + --enable-install-libbfd \ --enable-shared" +EXTRA_OECONF_virtclass-native = "--enable-target=all --enable-64-bit-bfd --enable-install-libbfd" + # This is necessary due to a bug in the binutils Makefiles # EXTRA_OEMAKE = "configure-build-libiberty all" @@ -108,6 +111,27 @@ do_install () { rm ${D}${bindir}/ar ${D}${bindir}/strings } +do_install_virtclass-native () { + autotools_do_install + + # Install the libiberty header + install -d ${D}${includedir} + install -m 644 ${S}/include/ansidecl.h ${D}${includedir} + install -m 644 ${S}/include/libiberty.h ${D}${includedir} + + # We only want libiberty, libbfd and libopcodes + rm -rf ${D}${bindir} + rm -rf ${D}${prefix}/${TARGET_SYS} + rm -rf ${D}${prefix}/lib/ldscripts + rm -rf ${D}${prefix}/share/info + rm -rf ${D}${prefix}/share/locale + rm -rf ${D}${prefix}/share/man + rmdir ${D}${prefix}/share || : + rmdir ${D}/${libdir}/gcc-lib || : + rmdir ${D}/${libdir}64/gcc-lib || : + rmdir ${D}/${libdir} || : + rmdir ${D}/${libdir}64 || : +} pkg_postinst_${PN}-symlinks () { update-alternatives --install ${bindir}/ar ar ${TARGET_SYS}-ar 100 diff --git a/meta/packages/binutils/binutils_2.20.1.bb b/meta/packages/binutils/binutils_2.20.1.bb index 3197b5efb3..a533bd8bb0 100644 --- a/meta/packages/binutils/binutils_2.20.1.bb +++ b/meta/packages/binutils/binutils_2.20.1.bb @@ -31,3 +31,5 @@ SRC_URI = "\ SRC_URI += "\ file://binutils-2.16.1-e300c2c3.patch \ " + +BBCLASSEXTEND = "native" |