aboutsummaryrefslogtreecommitdiffstats
path: root/meta-boot2qt/classes/populate_b2qt_sdk.bbclass
blob: 30f75b4156f04d4c86633164c434d9bb613aecc5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
############################################################################
##
## Copyright (C) 2020 The Qt Company Ltd.
## Contact: https://www.qt.io/licensing/
##
## This file is part of the Boot to Qt meta layer.
##
## $QT_BEGIN_LICENSE:GPL$
## Commercial License Usage
## Licensees holding valid commercial Qt licenses may use this file in
## accordance with the commercial license agreement provided with the
## Software or, alternatively, in accordance with the terms contained in
## a written agreement between you and The Qt Company. For licensing terms
## and conditions see https://www.qt.io/terms-conditions. For further
## information use the contact form at https://www.qt.io/contact-us.
##
## GNU General Public License Usage
## Alternatively, this file may be used under the terms of the GNU
## General Public License version 3 or (at your option) any later version
## approved by the KDE Free Qt Foundation. The licenses are as published by
## the Free Software Foundation and appearing in the file LICENSE.GPL3
## included in the packaging of this file. Please review the following
## information to ensure the GNU General Public License requirements will
## be met: https://www.gnu.org/licenses/gpl-3.0.html.
##
## $QT_END_LICENSE$
##
############################################################################

inherit populate_sdk

quiet_sdk_extraction() {
EXTRA_TAR_OPTIONS="$EXTRA_TAR_OPTIONS --checkpoint=9999999"
}
SDK_PRE_INSTALL_COMMAND = "${quiet_sdk_extraction}"

replace_sysroot_symlink() {
        SYSROOT=$1
        find ${SYSROOT} -type l | while read SOURCE
        do
                TARGET=`readlink -m "${SOURCE}"`
                #check whether TARGET is inside the sysroot when not prepend the sysroot
                TARGET=`echo ${TARGET} | grep "^${SYSROOT}" || echo ${SYSROOT}${TARGET}`
                rm "${SOURCE}"
                if [ -f "${TARGET}" ]; then
                        cp "${TARGET}" "${SOURCE}"
                elif [ -e "${TARGET}" ]; then
                        touch "${SOURCE}"
                fi
        done
}

do_populate_sdk[depends] += "p7zip-native:do_populate_sysroot"

fakeroot archive_sdk_sdkmingw32() {
        replace_sysroot_symlink ${SDK_OUTPUT}${SDKTARGETSYSROOT}
        replace_sysroot_symlink ${SDK_OUTPUT}${SDKPATHNATIVE}
        # Package it up
        cd ${SDK_OUTPUT}/${SDKPATH}
        7za a ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.7z *
}