diff options
| -rw-r--r-- | meta/recipes-devtools/binutils/binutils.inc | 67 |
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. | ||
| 26 | FILES_${PN}-symlinks = "" | ||
| 27 | |||
| 28 | ALLOW_EMPTY_${PN}-symlinks = "1" | ||
| 29 | |||
| 25 | FILES_${PN}-dev = " \ | 30 | FILES_${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 | ||
| 31 | FILES_${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 \ | 39 | USE_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 \ | |
| 49 | FILES_${PN}-dbg += "${prefix}/${TARGET_SYS}/bin/.debug" | 54 | strings \ |
| 55 | strip \ | ||
| 56 | " | ||
| 57 | |||
| 58 | python 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 | ||
| 51 | B = "${S}/build.${HOST_SYS}.${TARGET_SYS}" | 69 | B = "${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 | ||
| 130 | ALTERNATIVE_PRIORITY = "100" | 150 | ALTERNATIVE_PRIORITY = "100" |
| 131 | 151 | ||
| 132 | ALTERNATIVE_${PN}-symlinks = "ar strings" | 152 | ALTERNATIVE_${PN}-symlinks_class-target = "${USE_ALTERNATIVES_FOR}" |
| 133 | |||
| 134 | ALTERNATIVE_LINK_NAME[ar] = "${bindir}/ar" | ||
| 135 | ALTERNATIVE_TARGET[ar] = "${bindir}/${TARGET_PREFIX}ar" | ||
| 136 | 153 | ||
| 137 | ALTERNATIVE_LINK_NAME[strings] = "${bindir}/strings" | ||
| 138 | ALTERNATIVE_TARGET[strings] = "${bindir}/${TARGET_PREFIX}strings" | ||
