From 3b79bc69b2aeb767a73e4c438fe3ed75d870f5fd Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Tue, 29 Jan 2008 17:59:33 +0000 Subject: autotools.bbclass: Fix so libraries in directories are handled correctly with oe_libinstall, fixing staging QA issues. Thanks go to Ross for the basic patch. git-svn-id: https://svn.o-hand.com/repos/poky/trunk@3618 311d38ba-8fff-0310-9ca6-ca027cbcb966 --- meta/classes/autotools.bbclass | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) (limited to 'meta/classes/autotools.bbclass') diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass index 07b8735c2..d65a151e6 100644 --- a/meta/classes/autotools.bbclass +++ b/meta/classes/autotools.bbclass @@ -175,14 +175,24 @@ autotools_stage_all() { fi if [ -d ${STAGE_TEMP}/${libdir} ] then - for i in ${STAGE_TEMP}/${libdir}/*.la - do - if [ ! -f "$i" ]; then - cp -fpPR ${STAGE_TEMP}/${libdir}/* ${STAGING_LIBDIR} - break - fi - oe_libinstall -so $(basename $i .la) ${STAGING_LIBDIR} - done + cd ${STAGE_TEMP}/${libdir} + las=$(find . -name \*.la -type f) + echo "Found la files: $las" + if [ -n "$las" ]; then + # If there are .la files then libtool was used in the + # build, so install them with magic mangling. + for i in $las + do + dir=$(dirname $i) + echo "oe_libinstall -C ${S} -so $(basename $i .la) ${STAGING_LIBDIR}/${dir}" + oe_libinstall -C ${S} -so $(basename $i .la) ${STAGING_LIBDIR}/${dir} + done + else + # Otherwise libtool wasn't used, and lib/ can be copied + # directly. + echo "cp -fpPR ${STAGE_TEMP}/${libdir}/* ${STAGING_LIBDIR}" + cp -fpPR ${STAGE_TEMP}/${libdir}/* ${STAGING_LIBDIR} + fi fi if [ -d ${STAGE_TEMP}/${datadir}/aclocal ]; then install -d ${STAGING_DATADIR}/aclocal -- cgit v1.2.3