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 <[email protected]>
---
 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




_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to