diff options
author | David Schulz <david.schulz@theqtcompany.com> | 2015-12-10 08:59:23 +0100 |
---|---|---|
committer | David Schulz <david.schulz@theqtcompany.com> | 2016-02-19 12:59:23 +0000 |
commit | 03553bb020b4f826ee94ff20fb5166822798235d (patch) | |
tree | f2ddfbd0c3157132cde9f6e72f22d72947eb035c /classes | |
parent | 5b257a92ea549f4762a1d69c1084a61e64b20138 (diff) |
Replace all symlinks in the target sysroot for mingw hosts.
Change-Id: I0a7b95ac2940e4a29112e70c7b29870eb6a6be39
Reviewed-by: Samuli Piippo <samuli.piippo@theqtcompany.com>
Diffstat (limited to 'classes')
-rw-r--r-- | classes/populate_b2qt_sdk.bbclass | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/classes/populate_b2qt_sdk.bbclass b/classes/populate_b2qt_sdk.bbclass index e09743bc..a61d6256 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 } |