diff options
-rw-r--r-- | meta/classes/multilib_script.bbclass | 32 | ||||
-rw-r--r-- | meta/recipes-devtools/libtool/libtool_2.4.6.bb | 4 |
2 files changed, 36 insertions, 0 deletions
diff --git a/meta/classes/multilib_script.bbclass b/meta/classes/multilib_script.bbclass new file mode 100644 index 0000000000..a5a552b716 --- /dev/null +++ b/meta/classes/multilib_script.bbclass | |||
@@ -0,0 +1,32 @@ | |||
1 | # | ||
2 | # Recipe needs to set MULTILIB_SCRIPTS in the form <pkgname>:<scriptname>, e.g. | ||
3 | # MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/file1 ${PN}:${base_bindir}/file2" | ||
4 | # to indicate which script files to process from which packages. | ||
5 | # | ||
6 | |||
7 | inherit update-alternatives | ||
8 | |||
9 | MULTILIB_SUFFIX = "${@d.getVar('base_libdir',1).split('/')[-1]}" | ||
10 | |||
11 | PACKAGE_PREPROCESS_FUNCS += "multilibscript_rename" | ||
12 | |||
13 | multilibscript_rename() { | ||
14 | : | ||
15 | } | ||
16 | |||
17 | python () { | ||
18 | # Do nothing if multilib isn't being used | ||
19 | if not d.getVar("MULTILIB_VARIANTS"): | ||
20 | return | ||
21 | # Do nothing for native/cross | ||
22 | if bb.data.inherits_class('native', d) or bb.data.inherits_class('cross', d): | ||
23 | return | ||
24 | |||
25 | for entry in (d.getVar("MULTILIB_SCRIPTS", False) or "").split(): | ||
26 | pkg, script = entry.split(":") | ||
27 | scriptname = os.path.basename(script) | ||
28 | d.setVar("ALTERNATIVE_" + pkg, scriptname) | ||
29 | d.setVarFlag("ALTERNATIVE_LINK_NAME", scriptname, script) | ||
30 | d.setVarFlag("ALTERNATIVE_TARGET", scriptname, script + "-${MULTILIB_SUFFIX}") | ||
31 | d.appendVar("multilibscript_rename", "\n mv ${PKGD}" + script + " ${PKGD}" + script + "-${MULTILIB_SUFFIX}") | ||
32 | } | ||
diff --git a/meta/recipes-devtools/libtool/libtool_2.4.6.bb b/meta/recipes-devtools/libtool/libtool_2.4.6.bb index b02620b4b4..b8a5240885 100644 --- a/meta/recipes-devtools/libtool/libtool_2.4.6.bb +++ b/meta/recipes-devtools/libtool/libtool_2.4.6.bb | |||
@@ -26,3 +26,7 @@ do_install_append () { | |||
26 | -e "s@${HOSTTOOLS_DIR}/@@g" \ | 26 | -e "s@${HOSTTOOLS_DIR}/@@g" \ |
27 | -i ${D}${bindir}/libtool | 27 | -i ${D}${bindir}/libtool |
28 | } | 28 | } |
29 | |||
30 | inherit multilib_script | ||
31 | |||
32 | MULTILIB_SCRIPTS = "${PN}:${bindir}/libtool" | ||