From 601ca9cdfa53ba42e01f8987b83a55284afa3980 Mon Sep 17 00:00:00 2001 From: Junil Kim Date: Tue, 22 Oct 2019 11:16:34 +0900 Subject: [PATCH] webos-qt-sdk=r0 nativesdk-packagegroup-sdk-host.bbappend=webos1 meta-environment.bbappend=webos1 :Release Notes: webos-qt-sdk=r0 nativesdk-packagegroup-sdk-host.bbappend=webos1 meta-environment.bbappend=webos1 :Detailed Notes: - webos-qt-sdk=r0 -- Add packagegroup-qt5-toolchain-host into webos-qt-sdk - nativesdk-packagegroup-sdk-host.bbappend=webos1 -- The followings would be included in host toolchains nativesdk-qtwayland-tools for qtwaylanscanner nativesdk-wayland-dev for wayland-scanner - meta-environment.bbappend=webos1 -- The following variables should be exported in environment file to use mkspecs/features/webos-variables.prf in qmake projects with the toolchain generated by populate_sdk. WEBOS_INSTALL_BINS, WEBOS_INSTALL_LIBS, WEBOS_INSTALL_HEADERS, WEBOS_INSTALL_QML, WEBOS_INSTALL_QTPLUGINSDIR, webos_applicationsdir, webos_preferencesdir :Testing Performed: Test cases - QSDK-3148 1. Generate a toolchain by populate_sdk. $ bitbake webos-qt-sdk 2. Install the generated toolchain script. 3. Load environment file under the toolchain installation path. $ source [installed path]/environment-setup-[TargetArch]-webos-linux 4. Check whether the followings commands are avaiable. $ which wayland-scanner $ which qtwayland-scanner $ which qmake 5. If the above 3 commands exist under the toolchain path, it's ok. Otherwise, it is fault. :QA Notes: N/A :Issues Addressed: [PLAT-94864] CCC: webos-qt-sdk=r0 nativesdk-packagegroup-sdk-host.bbappend=webos1 meta-environment.bbappend=webos1 libcxx=auto1 [PLAT-77789] Make 'populate_sdk' option for containing qt tools Change-Id: I76f3b02f75bba892b0c3cbaa410df46a44b24b8e --- .../meta/meta-environment.bbappend | 14 ++++++++ .../nativesdk-packagegroup-sdk-host.bbappend | 12 +++++++ .../recipes-core/webos-qt-sdk/webos-qt-sdk.bb | 35 +++++++++++++++++++ 3 files changed, 61 insertions(+) create mode 100644 meta-webos/recipes-core/meta/meta-environment.bbappend create mode 100644 meta-webos/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend create mode 100644 meta-webos/recipes-core/webos-qt-sdk/webos-qt-sdk.bb diff --git a/meta-webos/recipes-core/meta/meta-environment.bbappend b/meta-webos/recipes-core/meta/meta-environment.bbappend new file mode 100644 index 000000000..46eb99c86 --- /dev/null +++ b/meta-webos/recipes-core/meta/meta-environment.bbappend @@ -0,0 +1,14 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +EXTENDPRAUTO_append = "webos1" + +# Used by mkspecs/features/webos-variables.prf +toolchain_create_sdk_env_script_append() { + echo "export WEBOS_INSTALL_BINS=${target_exec_prefix}/bin" >> $script + echo "export WEBOS_INSTALL_LIBS=${target_libdir}" >> $script + echo "export WEBOS_INSTALL_HEADERS=${target_includedir}" >> $script + echo "export WEBOS_INSTALL_QML=${target_libdir}/qml" >> $script + echo "export WEBOS_INSTALL_QTPLUGINSDIR=${target_libdir}/plugins" >> $script + echo "export webos_applicationsdir=${target_prefix}/palm/applications" >> $script + echo "export webos_preferencesdir=${target_prefix}/preferences" >> $script +} diff --git a/meta-webos/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend b/meta-webos/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend new file mode 100644 index 000000000..e63081570 --- /dev/null +++ b/meta-webos/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend @@ -0,0 +1,12 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +EXTENDPRAUTO_append = "webos1" + +NATIVESDK_PKGGRP_HOST_FOR_WAYLAND = "\ + nativesdk-qtwayland-tools \ + nativesdk-wayland-dev \ +" + +RDEPENDS_${PN} += " \ + ${NATIVESDK_PKGGRP_HOST_FOR_WAYLAND} \ +" diff --git a/meta-webos/recipes-core/webos-qt-sdk/webos-qt-sdk.bb b/meta-webos/recipes-core/webos-qt-sdk/webos-qt-sdk.bb new file mode 100644 index 000000000..199270f3a --- /dev/null +++ b/meta-webos/recipes-core/webos-qt-sdk/webos-qt-sdk.bb @@ -0,0 +1,35 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +SUMMARY = "webOS SDK Toolchain including qt host tools" + +PR = "r0" + +TOOLCHAIN_HOST_TASK = "nativesdk-packagegroup-sdk-host" +TOOLCHAIN_HOST_TASK += "nativesdk-packagegroup-qt5-toolchain-host" +# Only add packagegroup-cross-canadian-${MACHINE} to TOOLCHAIN_HOST_TASK when +# not using an external toolchain. Once we can figure out how to package up the +# native portion of external-lg-toolchain, the recipe that implements it will +# appear instead. For now, we are manually copying the external toolchain tree +# into the SDK's native sysroot. +EXTERNAL_TOOLCHAIN ??= "" +TOOLCHAIN_HOST_TASK += "${@oe.utils.conditional('EXTERNAL_TOOLCHAIN', '', 'packagegroup-cross-canadian-${MACHINE}', '${MLPREFIX}meta-environment-${MACHINE}', d)}" + +# XXX When using external-lg-toolchain, need to explicitly include +# linux-libc-headers because external-lg-toolchain puts the headers in that +# package instead of in linux-libc-headers-dev (which is where the +# linux-libc-headers recipe puts them). +TOOLCHAIN_TARGET_TASK += "${@oe.utils.conditional('EXTERNAL_TOOLCHAIN', '', '', '${MLPREFIX}linux-libc-headers', d)}" + +TOOLCHAIN_OUTPUTNAME = "${SDK_NAME}-${WEBOS_DISTRO_BUILD_ID}" + +# By default, populate_sdk puts the toolchain in TOOLCHAIN_TARGET_TASK (which +# controls what the bbclass packages). +inherit populate_sdk +inherit populate_sdk_qt5_base + +inherit webos_image + +inherit webos_machine_impl_dep +inherit webos_machine_dep + +SDK_NAME = "${BPN}-${DISTRO}-${SDK_ARCH}-${WEBOS_DISTRO_BUILD_CODENAME}-${MACHINE_ARCH}"