Files
poky/meta/recipes-devtools/libtool/libtool-cross_2.4.6.bb
Ross Burton ebf34d5b25 libtool: don't prefix the installed binary
Typically libtool installs the binary to 'libtool' in the source tree,
but we've got patches to rename this to ${host_sys}-libtool. As this
isn't standard any upstream that don't respect the LIBTOOL variable need
to be told explicitly where libtool is, which is a long-term maintenance
burden for us on top of the initial libtool patches.

The reasoning for this renaming appears to stem from the design to be
sure that we're using our new/patched libtool and not the host's binary.
However, now that we have HOSTTOOLS, there's no way to run the host
libtool so this argument is moot.

This patch removes the libtool renaming, follow-up patches remove the
required modifications from the rest of the recipes.

[RP: Remove commented patch lines]
(From OE-Core rev: 4b308773eca7570ce5007e8f953b56252c17fdb1)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-12-12 18:10:22 +00:00

51 lines
2.0 KiB
BlitzBasic

require libtool-${PV}.inc
PACKAGES = ""
SRC_URI += "file://fixinstall.patch"
datadir = "${STAGING_DIR_TARGET}${target_datadir}"
inherit nopackages
do_configure:prepend () {
# Remove any existing libtool m4 since old stale versions would break
# any upgrade
rm -f ${STAGING_DATADIR}/aclocal/libtool.m4
rm -f ${STAGING_DATADIR}/aclocal/lt*.m4
}
#
# ccache may or may not be INHERITED, we remove references to it so the sstate
# artefact works on a machine where its not present. libtool-cross isn't used
# heavily so any performance issue is minor.
# Find references to LTCC="ccache xxx-gcc" and CC="ccache xxx-gcc"
#
do_install () {
ln -s false ${D}
install -d ${D}${bindir_crossscripts}/
install -m 0755 libtool ${D}${bindir_crossscripts}/libtool
sed -e 's@^\(predep_objects="\).*@\1"@' \
-e 's@^\(postdep_objects="\).*@\1"@' \
-e 's@^CC="ccache.@CC="@' \
-e 's@^LTCC="ccache.@LTCC="@' \
-i ${D}${bindir_crossscripts}/libtool
sed -i '/^archive_cmds=/s/\-nostdlib//g' ${D}${bindir_crossscripts}/libtool
sed -i '/^archive_expsym_cmds=/s/\-nostdlib//g' ${D}${bindir_crossscripts}/libtool
GREP='/bin/grep' SED='sed' ${S}/build-aux/inline-source libtoolize > ${D}${bindir_crossscripts}/libtoolize
chmod 0755 ${D}${bindir_crossscripts}/libtoolize
install -d ${D}${target_datadir}/libtool/build-aux/
install -d ${D}${target_datadir}/aclocal/
install -c ${S}/build-aux/compile ${D}${target_datadir}/libtool/build-aux/
install -c ${S}/build-aux/config.guess ${D}${target_datadir}/libtool/build-aux/
install -c ${S}/build-aux/config.sub ${D}${target_datadir}/libtool/build-aux/
install -c ${S}/build-aux/depcomp ${D}${target_datadir}/libtool/build-aux/
install -c ${S}/build-aux/install-sh ${D}${target_datadir}/libtool/build-aux/
install -c ${S}/build-aux/missing ${D}${target_datadir}/libtool/build-aux/
install -c -m 0644 ${S}/build-aux/ltmain.sh ${D}${target_datadir}/libtool/build-aux/
install -c -m 0644 ${S}/m4/*.m4 ${D}${target_datadir}/aclocal/
}
SYSROOT_DIRS += "${bindir_crossscripts} ${target_datadir}"
SSTATE_SCAN_FILES += "libtoolize *-libtool"