xf86-video-omapfb: pandora: handle cycle/forcer events better
[openembedded.git] / recipes / binutils / binutils_2.14.90.0.6.bb
1 SECTION = "devel"
2 LICENSE = "GPL"
3 inherit autotools gettext
4
5 INC_PR = "r5"
6 PR = "${INC_PR}.1"
7
8 DESCRIPTION = "A GNU collection of binary utilities"
9 HOMEPAGE = "http://www.gnu.org/software/binutils/"
10 LICENSE = "GPL"
11
12 PACKAGES = "${PN} ${PN}-dev ${PN}-doc ${PN}-symlinks"
13
14 FILES_${PN} = " \
15         ${bindir}/${TARGET_PREFIX}* \
16         ${libdir}/lib*-*.so \
17         ${prefix}/${TARGET_SYS}/bin/*"
18
19 FILES_${PN}-dev = " \
20         ${includedir} \
21         ${libdir}/*.a \
22         ${libdir}/*.la \
23         ${libdir}/libbfd.so \
24         ${libdir}/libopcodes.so"
25
26 FILES_${PN}-symlinks = " \
27         ${bindir}/addr2line \
28         ${bindir}/ar \
29         ${bindir}/as \
30         ${bindir}/c++filt \
31         ${bindir}/gprof \
32         ${bindir}/ld \
33         ${bindir}/nm \
34         ${bindir}/objcopy \
35         ${bindir}/objdump \
36         ${bindir}/ranlib \
37         ${bindir}/readelf \
38         ${bindir}/size \
39         ${bindir}/strings \
40         ${bindir}/strip"
41
42 SRC_URI = \
43     "${KERNELORG_MIRROR}/pub/linux/devel/binutils/binutils-${PV}.tar.bz2 \
44      file://ld_makefile.patch;patch=1 \
45      file://better_file_error.patch;patch=1 \
46      file://signed_char_fix.patch;patch=1 \
47      file://binutils-uclibc-001-debian.patch;patch=1 \
48      file://binutils-uclibc-100-conf.patch;patch=1 \
49      file://binutils-uclibc-200-build_modules.patch;patch=1 \
50      file://binutils-uclibc-210-cflags.patch;patch=1 \
51      file://binutils-100_cflags_for_build.patch;patch=1 \
52      file://plt32trunc.patch;patch=1"
53
54 S = "${WORKDIR}/binutils-${PV}"
55 B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
56
57 EXTRA_OECONF = "--with-sysroot=/ \
58                 --program-prefix=${TARGET_PREFIX} \
59                 --enable-shared"
60
61 # This is necessary due to a bug in the binutils Makefiles
62 EXTRA_OEMAKE = "configure-build-libiberty all"
63
64 export AR = "${HOST_PREFIX}ar"
65 export AS = "${HOST_PREFIX}as"
66 export LD = "${HOST_PREFIX}ld"
67 export NM = "${HOST_PREFIX}nm"
68 export RANLIB = "${HOST_PREFIX}ranlib"
69 export OBJCOPY = "${HOST_PREFIX}objcopy"
70 export OBJDUMP = "${HOST_PREFIX}objdump"
71
72 export AR_FOR_TARGET = "${TARGET_PREFIX}ar"
73 export AS_FOR_TARGET = "${TARGET_PREFIX}as"
74 export LD_FOR_TARGET = "${TARGET_PREFIX}ld"
75 export NM_FOR_TARGET = "${TARGET_PREFIX}nm"
76 export RANLIB_FOR_TARGET = "${TARGET_PREFIX}ranlib"
77
78 export CC_FOR_HOST = "${CCACHE} ${HOST_PREFIX}gcc"
79 export CXX_FOR_HOST = "${CCACHE} ${HOST_PREFIX}gcc"
80
81 export CC_FOR_BUILD = "${BUILD_CC}"
82
83 export CC = "${CCACHE} ${HOST_PREFIX}gcc"
84
85 do_configure () {
86         (cd ${S}; gnu-configize) || die "Failed to run gnu-configize"
87         oe_runconf
88 }
89
90 do_stage () {
91         oe_libinstall -so -a -C opcodes libopcodes ${STAGING_LIBDIR}/
92         oe_libinstall -a -C libiberty libiberty ${STAGING_LIBDIR}/
93         oe_libinstall -so -a -C bfd libbfd ${STAGING_LIBDIR}/
94         install -m 0644 ${S}/include/dis-asm.h ${STAGING_INCDIR}/
95         install -m 0644 ${S}/include/symcat.h ${STAGING_INCDIR}/
96         install -m 0644 ${S}/include/libiberty.h ${STAGING_INCDIR}/
97         install -m 0644 ${S}/include/ansidecl.h ${STAGING_INCDIR}/
98         install -m 0644 ${S}/include/bfdlink.h ${STAGING_INCDIR}/
99         install -m 0644 bfd/bfd.h ${STAGING_INCDIR}/
100 }
101
102 do_install () {
103         autotools_do_install
104
105         # We don't really need these, so we'll remove them...
106         rm -rf ${D}${libdir}/ldscripts
107
108         # Fix the /usr/${TARGET_SYS}/bin/* links
109         for l in ${D}${prefix}/${TARGET_SYS}/bin/*; do
110                 rm -f $l
111                 ln -sf `echo ${prefix}/${TARGET_SYS}/bin \
112                         | tr -s / \
113                         | sed -e 's,^/,,' -e 's,[^/]*,..,g'`${bindir}/${TARGET_PREFIX}`basename $l` $l
114         done
115
116         # Install the libiberty header
117         install -d ${D}${includedir}
118         install -m 644 ${S}/include/ansidecl.h ${D}${includedir}
119         install -m 644 ${S}/include/libiberty.h ${D}${includedir}
120
121         cd ${D}${bindir}
122
123         # Symlinks for ease of running these on the native target
124         for p in ${TARGET_SYS}-* ; do
125                 ln -sf $p `echo $p | sed -e s,${TARGET_SYS}-,,`
126         done
127 }