cross/staging.bbclass: Make sure .la files get mangled and add extra mangling for...
authorRichard Purdie <rpurdie@linux.intel.com>
Sat, 1 May 2010 23:24:12 +0000 (00:24 +0100)
committerRichard Purdie <rpurdie@linux.intel.com>
Wed, 5 May 2010 14:05:55 +0000 (15:05 +0100)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
classes/cross.bbclass
classes/staging.bbclass

index f95144c..70178b2 100644 (file)
@@ -67,6 +67,11 @@ sysroot_stage_all() {
        sysroot_stage_dir ${D} ${SYSROOT_DESTDIR}
        install -d ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_base_libdir}/
        install -d ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_libdir}/  
-       mv ${SYSROOT_DESTDIR}${target_base_libdir}/* ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_base_libdir}/ || true
-       mv ${SYSROOT_DESTDIR}${target_libdir}/* ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_libdir}/ || true
+       sysroot_stage_libdir ${SYSROOT_DESTDIR}${target_base_libdir} ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_base_libdir}
+       sysroot_stage_libdir ${SYSROOT_DESTDIR}${target_libdir} ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_libdir}
 }
+
+#
+# Cross .la files have more path issues we have to correct
+SYSROOTEXTRALIBDIRSED = '-e "/^libdir=/s,.*,libdir=${STAGING_DIR_TARGET}${target_libdir},g"'
+
index a81ea86..e806449 100644 (file)
@@ -38,6 +38,7 @@ sysroot_stage_dir() {
        fi
 }
 
+SYSROOTEXTRALIBDIRSED ?= ""
 sysroot_stage_libdir() {
        src="$1"
        dest="$2"
@@ -52,6 +53,7 @@ sysroot_stage_libdir() {
                sed -e 's/^installed=yes$/installed=no/' \
                    -e '/^dependency_libs=/s,${WORKDIR}[[:alnum:]/\._+-]*/\([[:alnum:]\._+-]*\),${STAGING_LIBDIR}/\1,g' \
                    -e "/^dependency_libs=/s,\([[:space:]']\)${libdir},\1${STAGING_LIBDIR},g" \
+                   ${SYSROOTEXTRALIBDIRSED} \
                    -i $src/$i
        done
        sysroot_stage_dir $src $dest