From: Phil Blundell <philb@gnu.org>
To: openembedded-core@lists.openembedded.org
Subject: [RFC PATCH] autotools: Don't install .la files if the distro doesn't want them
Date: Wed, 17 Oct 2012 14:42:03 +0100 [thread overview]
Message-ID: <1350481324.3259.185.camel@phil-desktop> (raw)
It's not obvious that libtool's .la files serve any very useful purpose
on a modern system and they can be positively vexatious under some
circumstances. Make installation of this stuff conditional on the new
"libtool-garbage" flag in DISTRO_FEATURES and backfill it for existing
distros.
Also, perform at least a perfunctory cleaning of unified build directories
when reconfiguring since many packages don't have the right dependency
rules to cause a recompile when this happens. Making distclean is not
practical since many packages either don't support it at all, or remove
too much (e.g. polkit blows away its documentation which causes the
subsequent license check to fail).
Signed-off-by: Phil Blundell <pb@pbcl.net>
---
meta/classes/autotools.bbclass | 16 ++++++++++++----
meta/conf/bitbake.conf | 2 +-
2 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass
index e4e034b..adb2bbf 100644
--- a/meta/classes/autotools.bbclass
+++ b/meta/classes/autotools.bbclass
@@ -93,10 +93,15 @@ CONFIGURESTAMPFILE = "${WORKDIR}/configure.sstate"
autotools_preconfigure() {
if [ -n "${CONFIGURESTAMPFILE}" -a -e "${CONFIGURESTAMPFILE}" ]; then
- if [ "`cat ${CONFIGURESTAMPFILE}`" != "${BB_TASKHASH}" -a "${S}" != "${B}" ]; then
- echo "Previously configured separate build directory detected, cleaning ${B}"
- rm -rf ${B}
- mkdir ${B}
+ if [ "`cat ${CONFIGURESTAMPFILE}`" != "${BB_TASKHASH}" ]; then
+ if [ "${S}" != "${B}" ]; then
+ echo "Previously configured separate build directory detected, cleaning ${B}"
+ rm -rf ${B}
+ mkdir ${B}
+ else
+ echo "Previously configured source directory detected, cleaning ${S} (slightly)"
+ oe_runmake clean
+ fi
fi
fi
}
@@ -201,6 +206,9 @@ autotools_do_install() {
if [ -e "${D}${infodir}/dir" ]; then
rm -f ${D}${infodir}/dir
fi
+ if ${@base_contains('DISTRO_FEATURES', 'libtool-garbage', 'false', 'true', d)}; then
+ find ${D} -name "*.la" -exec rm \{} \;
+ fi
}
inherit siteconfig
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 1ad6ee6..4ad3722 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -728,7 +728,7 @@ MACHINE_ESSENTIAL_EXTRA_RDEPENDS ?= ""
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= ""
IMAGE_FEATURES += "${EXTRA_IMAGE_FEATURES}"
-DISTRO_FEATURES_BACKFILL = "pulseaudio update-modules"
+DISTRO_FEATURES_BACKFILL = "pulseaudio update-modules libtool-garbage"
DISTRO_FEATURES_append = "${@oe.utils.features_backfill("DISTRO_FEATURES",d)}"
MACHINE_FEATURES_BACKFILL = "rtc"
--
1.7.10.4
next reply other threads:[~2012-10-17 13:55 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-17 13:42 Phil Blundell [this message]
2012-10-17 13:47 ` [RFC PATCH] autotools: Don't install .la files if the distro doesn't want them Burton, Ross
2012-10-17 16:38 ` Phil Blundell
2012-10-17 13:51 ` Paul Eggleton
2012-11-28 15:09 ` Burton, Ross
2012-11-28 15:15 ` Phil Blundell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1350481324.3259.185.camel@phil-desktop \
--to=philb@gnu.org \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox