diff options
author | Richard Purdie <richard@openedhand.com> | 2008-01-29 17:59:33 +0000 |
---|---|---|
committer | Richard Purdie <richard@openedhand.com> | 2008-01-29 17:59:33 +0000 |
commit | 3b79bc69b2aeb767a73e4c438fe3ed75d870f5fd (patch) | |
tree | 9d4aadcd93cfdf5e7831bb53d5c07aaee6dcbc52 /meta/classes | |
parent | 4469013749743d00c6e9c79b33641bad833bbfdc (diff) | |
download | openembedded-core-3b79bc69b2aeb767a73e4c438fe3ed75d870f5fd.tar.gz openembedded-core-3b79bc69b2aeb767a73e4c438fe3ed75d870f5fd.tar.bz2 openembedded-core-3b79bc69b2aeb767a73e4c438fe3ed75d870f5fd.zip |
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
Diffstat (limited to 'meta/classes')
-rw-r--r-- | meta/classes/autotools.bbclass | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass index 07b8735c2e..d65a151e60 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 |