summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/binutils
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/binutils')
-rw-r--r--meta/recipes-devtools/binutils/binutils.inc67
1 files changed, 41 insertions, 26 deletions
diff --git a/meta/recipes-devtools/binutils/binutils.inc b/meta/recipes-devtools/binutils/binutils.inc
index 5e78dc03df..05cbc6f3be 100644
--- a/meta/recipes-devtools/binutils/binutils.inc
+++ b/meta/recipes-devtools/binutils/binutils.inc
@@ -22,31 +22,49 @@ FILES_${PN} = " \
22 ${libdir}/lib*-*.so \ 22 ${libdir}/lib*-*.so \
23 ${prefix}/${TARGET_SYS}/bin/*" 23 ${prefix}/${TARGET_SYS}/bin/*"
24 24
25# Use alternatives rather than actual symlinks.
26FILES_${PN}-symlinks = ""
27
28ALLOW_EMPTY_${PN}-symlinks = "1"
29
25FILES_${PN}-dev = " \ 30FILES_${PN}-dev = " \
26 ${includedir} \ 31 ${includedir} \
27 ${libdir}/*.la \ 32 ${libdir}/*.la \
28 ${libdir}/libbfd.so \ 33 ${libdir}/libbfd.so \
29 ${libdir}/libopcodes.so" 34 ${libdir}/libopcodes.so"
30 35
31FILES_${PN}-symlinks = " \ 36# Rather than duplicating multiple entries for these, make one
32 ${bindir}/addr2line \ 37# list and reuse it.
33 ${bindir}/as \ 38
34 ${bindir}/c++filt \ 39USE_ALTERNATIVES_FOR = " \
35 ${bindir}/embedspu \ 40 addr2line \
36 ${bindir}/gprof \ 41 ar \
37 ${bindir}/ld \ 42 as \
38 ${bindir}/ld.bfd \ 43 c++filt \
39 ${bindir}/ld.gold \ 44 elfedit \
40 ${bindir}/nm \ 45 gprof \
41 ${bindir}/objcopy \ 46 ld \
42 ${bindir}/objdump \ 47 ${@base_contains('DISTRO_FEATURES', 'ld-is-gold', 'ld.gold', 'ld.bfd', d)} \
43 ${bindir}/ranlib \ 48 nm \
44 ${bindir}/readelf \ 49 objcopy \
45 ${bindir}/elfedit \ 50 objdump \
46 ${bindir}/size \ 51 ranlib \
47 ${bindir}/strip" 52 readelf \
48 53 size \
49FILES_${PN}-dbg += "${prefix}/${TARGET_SYS}/bin/.debug" 54 strings \
55 strip \
56"
57
58python do_package_prepend() {
59 make_alts = d.getVar("USE_ALTERNATIVES_FOR", True) or ""
60 prefix = d.getVar("TARGET_PREFIX", True)
61 bindir = d.getVar("bindir", True)
62 for alt in make_alts.split():
63 d.setVarFlag('ALTERNATIVE_TARGET', alt, bindir + "/" + prefix + alt)
64 d.setVarFlag('ALTERNATIVE_LINK_NAME', alt, bindir + "/" + alt)
65}
66
67# FILES_${PN}-dbg = "${prefix}/${TARGET_SYS}/bin/.debug ${prefix}/${libdir}/.debug"
50 68
51B = "${S}/build.${HOST_SYS}.${TARGET_SYS}" 69B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
52 70
@@ -120,7 +138,9 @@ do_install () {
120 ln -sf $p `echo $p | sed -e s,${TARGET_PREFIX},,` 138 ln -sf $p `echo $p | sed -e s,${TARGET_PREFIX},,`
121 done 139 done
122 140
123 rm -f ${D}${bindir}/ar ${D}${bindir}/strings 141 for alt in ${USE_ALTERNATIVES_FOR}; do
142 rm -f ${D}${bindir}/$alt
143 done
124 144
125 oe_multilib_header bfd.h 145 oe_multilib_header bfd.h
126} 146}
@@ -129,10 +149,5 @@ inherit update-alternatives
129 149
130ALTERNATIVE_PRIORITY = "100" 150ALTERNATIVE_PRIORITY = "100"
131 151
132ALTERNATIVE_${PN}-symlinks = "ar strings" 152ALTERNATIVE_${PN}-symlinks_class-target = "${USE_ALTERNATIVES_FOR}"
133
134ALTERNATIVE_LINK_NAME[ar] = "${bindir}/ar"
135ALTERNATIVE_TARGET[ar] = "${bindir}/${TARGET_PREFIX}ar"
136 153
137ALTERNATIVE_LINK_NAME[strings] = "${bindir}/strings"
138ALTERNATIVE_TARGET[strings] = "${bindir}/${TARGET_PREFIX}strings"