diff --git a/classes/populate_b2qt_sdk.bbclass b/classes/populate_b2qt_sdk.bbclass index e09743bc87ae43904784c404b4f634b0eaeec150..a61d62564c7da78f5074ba837658726d86c274de 100644 --- a/classes/populate_b2qt_sdk.bbclass +++ b/classes/populate_b2qt_sdk.bbclass @@ -21,23 +21,33 @@ inherit populate_sdk -POPULATE_SDK_POST_HOST_COMMAND_append_sdkmingw32 = " replace_host_symlink;" - -replace_host_symlink() { - for SOURCE in `find ${SDK_OUTPUT}/${SDKPATHNATIVE} -type l` +replace_sysroot_symlink() { + SYMLINK_SYSROOT=$1 + for SOURCE in `find ${SYMLINK_SYSROOT} -type l` do - TARGET=`readlink -f "${SOURCE}"` - if [ -e ${TARGET} ]; then - rm "${SOURCE}" - cp -f "${TARGET}" "${SOURCE}" + TARGET=`readlink -m "${SOURCE}"` + #check whether TARGET is inside the sysroot when not prepend the sysroot + TARGET=`echo ${TARGET} | grep "^${SYMLINK_SYSROOT}" || echo ${SYMLINK_SYSROOT}${TARGET}` + rm "${SOURCE}" + if [ -d "${TARGET}" ]; then + cp -r "${TARGET}" "${SOURCE}" + elif [ -f "${TARGET}" ]; then + cp "${TARGET}" "${SOURCE}" + elif [ -e "${TARGET}" ]; then + touch "${SOURCE}" fi done } fakeroot tar_sdk_sdkmingw32() { + replace_sysroot_symlink ${SDK_OUTPUT}${SDKTARGETSYSROOT} + replace_sysroot_symlink ${SDK_OUTPUT}${SDKPATHNATIVE} # Package it up mkdir -p ${SDK_DEPLOY} cd ${SDK_OUTPUT}/${SDKPATH} + if [ -e ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.7z ]; then + rm ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.7z + fi 7z a ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.7z sysroots }