summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTatiana Borisova <tatiana.borisova@qt.io>2021-11-23 14:05:59 +0200
committerTatiana Borisova <tatiana.borisova@qt.io>2021-12-10 16:07:42 +0000
commit360e3824fc16674c773c2cf01fbffd593addf26a (patch)
tree7f3be0ba47f7ff9b013f5c53c39f60cd01c47016
parentf004572306cdc464c47e0f37a6a5d1a8b835f96f (diff)
downloadqtdoc-360e3824fc16674c773c2cf01fbffd593addf26a.tar.gz
Add instructions to build Qt6 for INTEGRITY on Windows 10 host
Task-number: QTBUG-96833 Change-Id: I44e1c94795a0b0204ad7baac4c53375693fcf26b Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io> (cherry picked from commit 88436b8129540930ed3889f5c38431bbc102954b)
-rw-r--r--doc/snippets/platforms/cmake/linux/toolchain_integrity.cmake (renamed from doc/snippets/platforms/cmake/toolchain_integrity.cmake)0
-rw-r--r--doc/snippets/platforms/cmake/win/toolchain_integrity.cmake101
-rw-r--r--doc/src/images/dynamic-loaded-pro.pngbin0 -> 33667 bytes
-rw-r--r--doc/src/images/dynamic-pro.pngbin0 -> 29553 bytes
-rw-r--r--doc/src/images/integrity-os.pngbin0 -> 21856 bytes
-rw-r--r--doc/src/images/sa8155-target.pngbin0 -> 14043 bytes
-rw-r--r--doc/src/platforms/installing-platform-dependencies.qdocinc75
-rw-r--r--doc/src/platforms/integrity-build-monolith-app-tutorial.qdoc617
-rw-r--r--doc/src/platforms/integrity-building-monolith.qdocinc112
-rw-r--r--doc/src/platforms/integrity-building-qt-8155P.qdocinc187
-rw-r--r--doc/src/platforms/integrity-flash-and-run.qdocinc140
-rw-r--r--doc/src/platforms/integrity.qdoc1
-rw-r--r--doc/src/platforms/qt6CMakeCrossCompile.qdocinc37
-rw-r--r--doc/src/platforms/qt6CreatingEglPack.qdocinc61
-rw-r--r--doc/src/platforms/qt6GettingSources.qdocinc46
15 files changed, 849 insertions, 528 deletions
diff --git a/doc/snippets/platforms/cmake/toolchain_integrity.cmake b/doc/snippets/platforms/cmake/linux/toolchain_integrity.cmake
index 4f4ed6a5..4f4ed6a5 100644
--- a/doc/snippets/platforms/cmake/toolchain_integrity.cmake
+++ b/doc/snippets/platforms/cmake/linux/toolchain_integrity.cmake
diff --git a/doc/snippets/platforms/cmake/win/toolchain_integrity.cmake b/doc/snippets/platforms/cmake/win/toolchain_integrity.cmake
new file mode 100644
index 00000000..85fc17e3
--- /dev/null
+++ b/doc/snippets/platforms/cmake/win/toolchain_integrity.cmake
@@ -0,0 +1,101 @@
+#generic
+set(CMAKE_SYSTEM_NAME Integrity)
+set(CMAKE_SYSTEM_PROCESSOR arm)
+set(CMAKE_CROSSCOMPILING True)
+
+#path to installed GHS compiler for WIN10
+set(TARGET_ROOT_PATH "C:/Users/user/ghs_pack/es7_dev_env/hlos_dev_boot")
+set(CMAKE_BUILD_TYPE "Release")
+
+set(GHS_COMPILER C:/ghs/comp_202014/cxintarm64.exe)
+set(CMAKE_C_COMPILER ${GHS_COMPILER})
+set(CMAKE_CXX_COMPILER ${GHS_COMPILER})
+set(CMAKE_ASM_COMPILER ${GHS_COMPILER})
+
+set(EGL_FOUND True)
+set(UNIX True)
+
+set (CMAKE_C_COMPILE_FEATURES c_std_99)
+set (CMAKE_CXX_COMPILE_FEATURES
+cxx_alias_templates
+cxx_alignas
+cxx_alignof
+cxx_attributes
+cxx_auto_type
+cxx_constexp
+cxx_decltype
+cxx_delegating_constructors
+cxx_explicit_conversions
+cxx_extern_templates
+cxx_inheriting_constructors
+cxx_lambdas
+cxx_noexcept
+cxx_nonstatic_member_init
+cxx_nullptr
+cxx_override
+cxx_range_for
+cxx_raw_string_literals
+cxx_reference_qualified_functions
+cxx_rvalue_references
+cxx_static_assert
+cxx_std_17
+cxx_thread_local
+cxx_unicode_literals
+cxx_uniform_initialization
+cxx_unrestricted_unions
+cxx_variadic_macros
+cxx_variadic_templates)
+
+if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_PROGRAM)
+ set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+endif()
+if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_LIBRARY)
+ set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+endif()
+if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_PACKAGE)
+ set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
+endif()
+if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_INCLUDE)
+ set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+endif()
+
+set(CMAKE_FIND_ROOT_PATH ${TARGET_ROOT_PATH})
+
+#base
+set(CMAKE_C_FLAGS "-bsp $ENV{INTEGRITY_BSP} -os_dir $ENV{INTEGRITY_DIR} -non_shared -startfile_dir=$ENV{INTEGRITY_DIR}/libs/$ENV{INTEGRITY_BSP}/$ENV{INTEGRITY_BUILD_TARGET} --rtos_library_directory=libs/$ENV{INTEGRITY_BSP}/$ENV{INTEGRITY_BUILD_TARGET} --rtos_library_directory=libs/arm64/$ENV{INTEGRITY_BUILD_TARGET} -bigswitch -DINTEGRITY -llibivfs.a -llibposix.a -llibpaged_alloc.a -llibnet.a -llibsocket.a")
+set(CMAKE_C_FLAGS_DEBUG "-g -Omaxdebug")
+set(CMAKE_C_FLAGS_RELEASE "-Ospeed -Olink -Omax")
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --signed_fields --diag_suppress=1,82,228,236,381,611,961,997,1795,1931,1974,3148 --c++17 --thread_local_storage --exceptions --defer_parse_function_templates")
+
+set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} --signed_fields --no_implicit_include --link_once_templates -non_shared --new_outside_of_constructor -I $ENV{QC_MULTIMEDIA_INC_DIR}")
+set(CMAKE_CXX_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG})
+set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
+
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -L$ENV{TARGET_ROOT_PATH} -L$ENV{TARGET_ROOT_PATH}/apps/ghs_apps_proc/qc_bsp/out/rel/libs/multimedia/graphics -L$ENV{TARGET_ROOT_PATH}/apps/ghs_apps_proc/qc_bsp/out/rel/libs/base -L$ENV{TARGET_ROOT_PATH}/apps/ghs_apps_proc/qc_bsp/AMSS/multimedia/graphics/opengl/esx/build/integrity/prebuilt -L$ENV{TARGET_ROOT_PATH}/apps/ghs_apps_proc/qc_bsp/out/rel/libs/platform -L$ENV{TARGET_ROOT_PATH}/apps/ghs_apps_proc/qc_bsp/out/rel/libs/multimedia/display/ --commons")
+set(CMAKE_FIND_LIBRARY_PREFIXES "lib")
+set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
+
+set(BUILD_SHARED_LIBS OFF)
+set(QT_CFLAGS_OPTIMIZE_FULL "-Ospeed -Olink -Omax")
+
+set(EGL_INCLUDE_DIR $ENV{GL_INC_DIR})
+set(PKG_EGL_LIBRARY_DIRS ${TARGET_ROOT_PATH})
+
+set(GLESv2_INCLUDE_DIR $ENV{GL_INC_DIR})
+set(OPENGL_INCLUDE_DIR $ENV{GL_INC_DIR})
+
+set(EGL_LIBRARY ${TARGET_ROOT_PATH}/libeglmegapack.a)
+set(GLESv2_LIBRARY ${TARGET_ROOT_PATH}/libeglmegapack.a)
+set(OPENGL_opengl_LIBRARY ${TARGET_ROOT_PATH}/libeglmegapack.a)
+
+# Command is required to fix CMake WIN bug https://gitlab.kitware.com/cmake/cmake/-/issues/22933
+set(CMAKE_CXX_COMPILER_PREDEFINES_COMMAND ${CMAKE_CXX_COMPILER})
+list(APPEND CMAKE_CXX_COMPILER_PREDEFINES_COMMAND -bsp $ENV{INTEGRITY_BSP} -os_dir $ENV{INTEGRITY_DIR} -E -dM "${CMAKE_ROOT}/Modules/CMakeCXXCompilerABI.cpp")
+
+# Set format for creating static library
+set(CMAKE_CXX_CREATE_STATIC_LIBRARY "${CMAKE_CXX_COMPILER} ${CMAKE_CXX_FLAGS} <LINK_FLAGS> -archive -o <TARGET> <OBJECTS> -keep_objs")
+set(CMAKE_C_CREATE_STATIC_LIBRARY "${CMAKE_CXX_COMPILER} ${CMAKE_C_FLAGS} <LINK_FLAGS> -archive -o <TARGET> <OBJECTS> -keep_objs")
+
+# Set format to create executables
+set(CMAKE_CXX_LINK_EXECUTABLE "${CMAKE_CXX_COMPILER} ${CMAKE_CXX_FLAGS} <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
+set(CMAKE_C_LINK_EXECUTABLE "${CMAKE_CXX_COMPILER} ${CMAKE_C_FLAGS} <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
diff --git a/doc/src/images/dynamic-loaded-pro.png b/doc/src/images/dynamic-loaded-pro.png
new file mode 100644
index 00000000..48041385
--- /dev/null
+++ b/doc/src/images/dynamic-loaded-pro.png
Binary files differ
diff --git a/doc/src/images/dynamic-pro.png b/doc/src/images/dynamic-pro.png
new file mode 100644
index 00000000..d35430e0
--- /dev/null
+++ b/doc/src/images/dynamic-pro.png
Binary files differ
diff --git a/doc/src/images/integrity-os.png b/doc/src/images/integrity-os.png
new file mode 100644
index 00000000..45cab57c
--- /dev/null
+++ b/doc/src/images/integrity-os.png
Binary files differ
diff --git a/doc/src/images/sa8155-target.png b/doc/src/images/sa8155-target.png
new file mode 100644
index 00000000..efcd6c37
--- /dev/null
+++ b/doc/src/images/sa8155-target.png
Binary files differ
diff --git a/doc/src/platforms/installing-platform-dependencies.qdocinc b/doc/src/platforms/installing-platform-dependencies.qdocinc
deleted file mode 100644
index 929f428e..00000000
--- a/doc/src/platforms/installing-platform-dependencies.qdocinc
+++ /dev/null
@@ -1,75 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** 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 Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
-//! [installing platform dependencies]
-
-Before building applications with Qt for INTEGRITY,
-install the correct build tools and other dependencies required
-in the 64-bit Linux development host:
-
-\table 80%
-\header \li Requirement \li Description
-\row \li INTEGRITY 19.0.13 installation
- \li The installation must contain the patches for C++17 support.
- Contact \l {https://support.ghs.com/contact/request-support/}
- {Green Hills Software}.
- \note GHS patches \e 14695, \e 16456, \e 16761, \e 16762 and \e 16917.
-
-\row \li MULTI IDE and Green Hills Software Compiler (version 2020.1.4 or newer)
- \li The Green Hills Software development tools. See
- \l {http://www.ghs.com/products/MULTI_IDE.html} {MULTI IDE}.
- For licenses, contact \l {https://support.ghs.com/licensing/request-license/}
- {Green Hills Software}.
- \note GHS patches \e 16398 and \e 17423.
-
-\row \li QC BSP [ES7] for GHS Integrity 19.0.13-QC
- \li The development Qualcomm Board Support Package for Integrity and Snapdragon 8155P Board.
- Contact \l {https://support.ghs.com/contact/request-support/}
- {Green Hills Software}.
-
-\row \li QC [ES7] Customer package
- \li Additional patches and instructions from Qualcomm.
- Contact \l {https://www.qualcomm.com/support} {Qualcomm Support}.
-\row
- \li CMake 3.18.4 or higher
- \li CMake build system is now the default one for Qt 6 building.
- See \l {https://cmake.org/documentation/} {CMake Documentation}.
-\row
- \li Ninja
- \li Ninja is a build system with a focus on speed. It is used to build Google
- Chrome, parts of Android, LLVM, and can be used in many other projects due to CMake's Ninja backend.
- See \l {https://cmake.org/cmake/help/latest/generator/Ninja.html} {Ninja}.
-\row
- \li Other extra packages (perl, python, etc) required to be installed Host OS
- \li See \l {https://wiki.qt.io/Building_Qt_5_from_Git} {Building Requirements}.
- \note Perl is not required if you download the Qt sources via
- your Qt Account.
-\endtable
-
-//! [installing platform dependencies]
-*/
diff --git a/doc/src/platforms/integrity-build-monolith-app-tutorial.qdoc b/doc/src/platforms/integrity-build-monolith-app-tutorial.qdoc
index b3b9d712..fa691f11 100644
--- a/doc/src/platforms/integrity-build-monolith-app-tutorial.qdoc
+++ b/doc/src/platforms/integrity-build-monolith-app-tutorial.qdoc
@@ -45,47 +45,636 @@
{Qualcomm Snapdragon 8155P}.
Tutorial content:
- \list 1
+ \list
\li \l {Installing Platform Dependencies}
- \li \l {Building Qt for Qualcomm Snapdragon 8155P Board}
- \li \l {Building a monolith project}
- \li \l {Flashing a monolith image and running Qt application on the board}
+ \li \l {Build Qt with Ubuntu host}
+ \li \l {Build Qt with Windows 10 host}
\endlist
-
*/
/*!
\page integrity-installing-dependencies.html
\title Installing Platform Dependencies
\previouspage integrity-monolith-project-tutorial.html
- \nextpage integrity-building-qt-for-8155P-board.html
+ \nextpage integrity-linux-monolith.html
+
+ Before building applications with Qt for INTEGRITY,
+ install the correct build tools and other dependencies required
+ in the 64-bit Linux development host:
+
+ \table 80%
+ \header \li Requirement \li Description
+ \row \li INTEGRITY 19.0.13 installation
+ \li The installation must contain the patches for C++17 support.
+ Contact \l {https://support.ghs.com/contact/request-support/}
+ {Green Hills Software}.
+ \note GHS patches \e 14695, \e 16456, \e 16761, \e 16762 and \e 16917.
+
+ \row \li MULTI IDE and Green Hills Software Compiler (version 2020.1.4 or newer)
+ \li The Green Hills Software development tools. See
+ \l {http://www.ghs.com/products/MULTI_IDE.html} {MULTI IDE}.
+ For licenses, contact \l {https://support.ghs.com/licensing/request-license/}
+ {Green Hills Software}.
+ \note GHS patches \e 16398 and \e 17423.
- \include installing-platform-dependencies.qdocinc installing platform dependencies
+ \row \li QC BSP [ES7] for GHS Integrity 19.0.13-QC
+ \li The development Qualcomm Board Support Package for Integrity and Snapdragon 8155P Board.
+ Contact \l {https://support.ghs.com/contact/request-support/}
+ {Green Hills Software}.
+
+ \row \li QC [ES7] Customer package
+ \li Additional patches and instructions from Qualcomm.
+ Contact \l {https://www.qualcomm.com/support} {Qualcomm Support}.
+ \row
+ \li CMake 3.18.4 or higher
+ \li CMake build system is now the default one for Qt 6 building.
+ See \l {https://cmake.org/documentation/} {CMake Documentation}.
+ \row
+ \li Ninja
+ \li Ninja is a build system with a focus on speed. It is used to build Google
+ Chrome, parts of Android, LLVM, and can be used in many other projects due to CMake's Ninja backend.
+ See \l {https://cmake.org/cmake/help/latest/generator/Ninja.html} {Ninja}.
+ \row
+ \li Other extra packages (perl, python, etc) required to be installed Host OS
+ \li See \l {https://wiki.qt.io/Building_Qt_5_from_Git} {Building Requirements}.
+ \note Perl is not required if you download the Qt sources via
+ your Qt Account.
+ \endtable
*/
/*!
- \page integrity-building-qt-for-8155P-board.html
- \title Building Qt for Qualcomm Snapdragon 8155P Board
+ \page integrity-linux-monolith.html
+ \title Build Qt with Ubuntu host
\previouspage integrity-installing-dependencies.html
+ \nextpage integrity-win-monolith.html
+
+ \include qt6CMakeCrossCompile.qdocinc Qt cross-compile introduction
+
+ The following tutorial content is for building a Qt for \e {INTEGRITY 19.0.13} target on an \e {Ubuntu 20.04 64 host}:
+ \list
+ \li \l {Building Qt for Qualcomm Snapdragon 8155P Board on Ubuntu}
+ \li \l {Building a monolith project}
+ \li \l {Flashing and Running an Image on the 8155P}
+ \endlist
+*/
+
+/*!
+ \page integrity-building-qt-8155P-on-ubuntu.html
+ \title Building Qt for Qualcomm Snapdragon 8155P Board on Ubuntu
+ \previouspage integrity-linux-monolith.html
\nextpage integrity-building-monolith.html
- \include integrity-building-qt-8155P.qdocinc building qt for Qualcomm Snapdragon 8155P
+ Having Green Hills INTEGRITY and Qualcomm development environments setup is a required before proceeding. See \l {Installing Platform Dependencies}.
+
+ \section1 Creating a set environment shell script
+
+ To set up the development environment for Qt for INTEGRITY, build Qt from the sources for the Qualcomm Snapdragon 8155P board.
+ Before building Qt for INTEGRITY, set up build environment. Here a batch script to automate that, as it needs to be done before each build.
+
+ Create a new shell script \e{setEnvironment.sh}, and save it under
+ your home folder. Add the following export commands to the script:
+
+ \badcode
+ export PATH=$PATH:/work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/comp
+ export INTEGRITY_DIR=/work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/integrity
+ export INTEGRITY_BSP=platform-sa8155
+ export INTEGRITY_BUILD_TARGET=chk
+ export QC_MULTIMEDIA_INC_DIR=/work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/include/amss/multimedia
+ export GL_INC_DIR=/work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/AMSS/multimedia/graphics/include/public
+ export GL_LIB_DIR=/work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/rel/libs/base:/work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/rel/libs/multimedia/display:/work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/rel/libs/multimedia/graphics:/work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/rel/libs/platform/:/work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/AMSS/multimedia/graphics/opengl/esx/build/integrity/prebuilt/
+ \endcode
+
+ These export paths assume you have used the \c /work/ghs/* installation directories
+ while installing the MULTI IDE and INTEGRITY (see \l {Installing Platform Dependencies}). If you have not used the default
+ directories, adjust the export paths accordingly.
+
+ To initialize your build environment, run the following command in a terminal:
+ \badcode
+ source ~/setEnvironment.sh
+ \endcode
+
+ \note Run this command in your terminal every time you build Qt,
+ or use the \c qmake or \c CMake build systems.
+
+ \include qt6GettingSources.qdocinc Getting Qt6 sources
+
+ \section1 Building Qt Desktop for cross-compiling tools usage
+
+ The cross-compiling Qt requires a host build of Qt being available.
+ During the build, tools such as moc, rcc, qmlcachegen, qsb,
+ and others, are invoked from there.
+ For more detailed information please read
+ \l {https://www.qt.io/blog/qt-6-build-system} {Cross-compiling Qt}.
+
+ Run the following commands:
+ \badcode
+ mkdir hostbuild
+ cd hostbuild/
+ ../qt5/configure -nomake tests -nomake examples -release -prefix /work/ghs/hostbuild
+ cmake --build . --parallel 6
+ cmake --install .
+ \endcode
+
+ \section1 Creating a toolchain file for INTEGRITY
+
+ To cross-compile a project with CMake, one must specify a toolchain file.
+ This CMake-language file sets the right values for the platform name,
+ the compiler/linker used, and a whole bunch of other toolchain-specific things.
+ For Integrity build on Ubuntu create a toolchain.cmake file with content:
+
+ \quotefromfile platforms/cmake/linux/toolchain_integrity.cmake
+
+ \printuntil set(OPENGL_opengl_LIBRARY ${TARGET_ROOT_PATH}/libeglmegapack.a)
+
+ \include qt6CreatingEglPack.qdocinc Creating EGL pack lib
+
+ \section1 Configuring Qt for INTEGRITY
+
+ Configure Qt for the Qualcomm Snapdragon 8155P board using these following commands:
+
+ \badcode
+ cd /work/ghs/targetbuild // Path to Qt installation directory
+ cmake ../qt5/ -DQT_HOST_PATH=/work/ghs/hostbuild/qtbase
+ -DCMAKE_TOOLCHAIN_FILE=/work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/toolchain_integrity.cmake
+ -DQT_QMAKE_TARGET_MKSPEC=devices/integrity-armv8-SA8155P -DBUILD_qtdoc=OFF
+ -DBUILD_qttranslations=OFF -DFEATURE_printdialog=OFF --debug-trycompile -DFEATURE_dbus=OFF
+ -GNinja -DUNIX=ON
+ -DEGL_LIBRARY=/work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/libeglmegapack.a
+ -DEGL_INCLUDE_DIR=/work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/AMSS/multimedia/graphics/include/public
+ -DFEATURE_dnslookup=OFF -DFEATURE_glib=OFF -DFEATURE_libudev=OFF -DFEATURE_system_pcre2=OFF -DFEATURE_sql_mysql=OFF
+ -DCMAKE_INSTALL_PREFIX=/work/ghs/targetbuild
+ \endcode
+
+ \note INTEGRITY supports only static Qt builds.
+ \note \c QT_HOST_PATH variable introduced in Qt 6.
+ When cross-compiling, this must be set to the install location of Qt for the host platform.
+ It is used to locate tools to be run on the host (moc, rcc, androiddeployqt, and so on).
+
+ \section1 Building Qt for INTEGRITY
+
+ Build Qt by calling \c cmake in the terminal. You can run \c cmake with as
+ many cores on your host machine as you desire. In our example we use six cores:
+
+ \badcode
+ cmake --build . --parallel 6
+ \endcode
+
+ \target installing-qt-for-sa8155
+ \section1 Installing Qt
+
+ If you have not used the configure option \c {-prefix $PWD/qtbase} in \l {Configuring Qt},
+ run the following commands in a terminal:
+
+ \badcode
+ cd <Qt installation directory>
+ cmake --install .
+ \endcode
+
+ If you have used the configure option \c {-prefix $PWD/qtbase},
+ you can use Qt from the build directory, without running the
+ \c {cmake install} command.
+
+ Qt is now configured and built for the sa8155 board.
*/
/*!
\page integrity-building-monolith.html
\title Building a monolith project
- \previouspage integrity-building-qt-for-8155P-board.html
+ \previouspage integrity-building-qt-8155P-on-ubuntu.html
\nextpage integrity-flash-image-and-run.html
- \include integrity-building-monolith.qdocinc building monolith
+ This tutorial will guide you through building a monolith INTEGRITY project for a Qt example
+ application. You can select any Qt example application that uses the
+ \l {Supported Qt Modules} {Supported Qt modules}.
+
+ Before building the monolith INTEGRITY project, prepare your build environment
+ by running the \c setEnvironment.sh script. For more information about the script, see
+ \l {Creating a set environment shell script}.
+
+ \badcode
+ source ~/setEnvironment.sh
+ \endcode
+
+ \section1 Building the Qt application
+ \list
+ \li \c CMake tool
+
+ To build the application against Qt6 using CMake, run the following commands in a terminal:
+
+ \badcode
+ <Qt installation path>/bin/qt-cmake <Qt example application path>/CMakeLists.txt
+ cmake --build .
+ \endcode
+
+ Where, \c qt-cmake is the wrapper script that calls CMake to configure your project with appropriate include paths.
+ \li \c qmake tool
+
+ To build the application against Qt6 using qmake, run the following commands in a terminal:
+
+ \badcode
+ <Qt installation path>/bin/qmake <Qt example application path>/application.pro
+ make
+ \endcode
+ \endlist
+
+ \section1 Building a monolith project
+
+ The board support package (BSP) for the Qualcomm Snapdragon 8155P board provides
+ a build script to create a set of images for board partitions:
+ \badcode
+ /work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/build_ghs.sh
+ \endcode
+
+ Add a Qt application to a build by adding it into the \e {monolith-service.int} file:
+
+ \list
+ \li Start MULTI Launcher.
+ \li Select \uicontrol {Components} > \uicontrol {Open Project Manager}.
+ \li Select the project file \e {default.gpj}
+ under the \e {/work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp} directory:
+ \image open-project.png "Select a project."
+ MULTI application shows a window with a list of project files from the chosen folder.
+ \li Select \uicontrol {Open}.
+ \endlist
+
+ In the MULTI Project Manager view, you should see a tree structure of the opened
+ project.
+
+ Go through the \c default.gpj sub projects:
+ \list
+ \li Select \e {target.auto} \e {vmm-adp-no-gvm-sa8155.gpj} > \e {vvm-adp-gvm-ref.gpj} > \e {monolith-service.gpj}.
+ You can observe the project structure and edit a project's files.
+
+ \li Select \e {monolith-service.int}
+ \image project-structure.png "Project tree."
+ Selected \e {monolith-service.int} file is highlited in the project tree.
+
+ \li Right-click on the file, then select \uicontrol {Edit} from the context menu.
+ \li Add the following lines at the end of the file.
+ \badcode
+ AddressSpace
+ Name myappname
+ Filename /path/to/your/app/executable
+ MemoryPoolSize 0x2700000
+ Language C++
+ HeapSize 0x90000
+
+ Task Initial
+ StackSize 0x80000
+ StartIt false
+ EndTask
+ Extendedmemorypoolsize 0x300000
+ EndAddressSpace
+ \endcode
+ \note Replace </path/to/your/app/executable> with a path to your application executable.
+
+ \li Run the build script.
+ \badcode
+ bash /work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/build_ghs.sh
+ \endcode
+ \endlist
+
+ Your monolith project is now ready to be flashed on to the board.
*/
/*!
\page integrity-flash-image-and-run.html
- \title Flashing a monolith image and running Qt application on the board
+ \title Flashing and Running an Image on the 8155P
\previouspage integrity-building-monolith.html
\nextpage integrity-monolith-project-tutorial.html
- \include integrity-flash-and-run.qdocinc flash and run application
+ \section1 Qualcomm Snapdragon 8155P Board
+ This is a top view of the Qualcomm Snapdragon 8155P board.
+ \image sa8155p.png "Top view of the Qualcomm Snapdragon 8155P board."
+
+ \section1 Set up the wiring
+ Several cables between the PC and the board are needed for flashing and debugging applications on the board:
+
+ \list
+ \li Power connector
+ \li Micro USB is the FT serial console output
+ \li Normal USB is the QFIL/Fastboot port (USB-A - USB A/USB C cable)
+ \li DisplayPort cable is for Graphical output
+ \li Ethernet port, for loading an application dynamically.
+ \endlist
+ \image wiring1.png "Front view of the Qualcomm Snapdragon 8155P board."
+ \caption This is a wiring configuration example: power is ON,
+ male USB-A is connected for flashing images,
+ DisplayPort cable is conected for Graphical output.
+ \image wiring2.png "Side view of the Qualcomm Snapdragon 8155P board."
+ \caption Micro USB is connected for using the FT serial console.
+
+ \section1 Switch to Fastboot Mode
+ To flash images on Qualcomm Snapdragon 8155P board install
+ Fastboot Tool on Host OS.
+ See, \l {https://developer.android.com/studio/releases/platform-tools} {Fastboot Tool}
+
+ Before flashing switch the board to the Fastboot Mode:
+ \list
+ \li Open serial connection with the board:
+ \badcode
+ putty /dev/ttyUSB0 -serial -sercfg 115200,8,1
+ \endcode
+ \li There are 2 options:
+
+ - On the device, hold the volume key and power cycle the device.
+
+ - Or press down arrow on the UART shell and power cycle the device.
+
+ \li If the board switches to Fastboot Mode successfully,
+ it prints following console output:
+ \image fastboot-mode.png "Fastboot terminal."
+
+ Another way to check the board is in Fastboot Mode is to run the command:
+ \badcode
+ fastboot devices
+ \endcode
+
+ \endlist
+
+ \section1 Flash images
+ The build script produces set of images for board partitions.
+ \badcode
+ boot.img, perf_dyn.img, misc_dyn.img, abl.elf, etc
+ \endcode
+
+ After switching to Fastboot Mode images can be flashed to the board.
+
+ \list
+ \li When setting up for the first time, follow the images flashing procedure from GHS
+ \e ES7_FinalCopy/ES7_customer_package_readme.docx:
+
+ \badcode
+ cd /work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/bin/target
+ fastboot flash abl abl.elf
+ fastboot flash boot vmm-adp-gvm-sa8155/boot.img
+ fastboot flash perf_dyn_a vmm-adp-gvm-sa8155/perf_dyn.img
+ fastboot flash misc_dyn_a vmm-adp-gvm-sa8155/misc_dyn.img
+
+ cd /work/ghs/sa8155/es7/es7_dev_env/ES7_FinalCopy/Images/sa8155_hyp
+ fastboot flash hyp_a hyp.mbn
+ fastboot flash tz tz.mbn
+ fastboot flash apdp apdp.mbn
+
+ cd /work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/bin/target/fs
+ fastboot flash gh_sys sys.img
+ fastboot flash gh_persist ghs_persist.img
+ fastboot flash gh_test ghs_test.img.sparse
+
+ cd /work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/prebuilt_NHLOS/adsp/asic_8150
+ fastboot flash adsp adsp.img
+
+ cd /work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/lagvm/LINUX/android/out/target/product/msmnile_gvmgh
+ fastboot flash vendor vendor.img
+ \endcode
+ \note \e ES7_FinalCopy/ES7_customer_package_readme.docx is a part of QC [ES7] Customer package.
+ Contact \l {https://www.qualcomm.com/support} {Qualcomm Support} for more information.
+
+ \li If this is not the first time flashing, then the monolith part should be flashed:
+ \badcode
+ cd /work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/bin/target
+ fastboot flash boot vmm-adp-gvm-sa8155/boot.img
+ \endcode
+ \li Restart the board.
+ \endlist
+
+ \section1 Run Qt application on the board
+ \list
+ \li Open serial console:
+ \badcode
+ putty /dev/ttyUSB0 -serial -sercfg 115200,8,1
+ \endcode
+ \li Execute the command:
+ \badcode
+ rt <application name> Initial
+ \endcode
+ \li Run Qt application example:
+ \image qml-application.png "QML application"
+ Qt application is running on Qualcomm Snapdragon 8155P Board and displayed on the connected screen.
+ \endlist
+*/
+
+/*!
+ \page integrity-win-monolith.html
+ \title Build Qt with Windows 10 host
+ \previouspage integrity-linux-monolith.html
+ \nextpage integrity-monolith-project-tutorial.html
+
+ \include qt6CMakeCrossCompile.qdocinc Qt cross-compile introduction
+
+ The following tutorial content is for building a Qt for \e {INTEGRITY 19.0.13} target on a \e {Windows 10 64 host}:
+ \list
+ \li \l {Building Qt for Qualcomm Snapdragon 8155P Board on Windows 10}
+ \li \l {Building and flashing a Dynamic Download Project}
+ \endlist
+*/
+
+/*!
+ \page integrity-building-qt-8155P-on-windows.html
+ \title Building Qt for Qualcomm Snapdragon 8155P Board on Windows 10
+ \previouspage integrity-win-monolith.html
+ \nextpage integrity-building-and-flashing-dd-project.html
+
+ Having Green Hills INTEGRITY and Qualcomm development environments setup is a required before proceeding. See \l {Installing Platform Dependencies}.
+
+ \section1 Creating a batch script for Windows 10
+
+ To set up the development environment for Qt for INTEGRITY, build Qt from the sources for the Qualcomm Snapdragon 8155P board.
+ Before building Qt for INTEGRITY, set up build environment. Here a batch script to automate that, as it needs to be done before each build.
+
+ For Windows 10 create a new batch script \e{setEnvironment.bat}, and save it under
+ your home folder. Add the following export variables to the script:
+ \badcode
+ @echo off
+ set PATH=%PATH%;C:\ghs\comp_202014
+ set INTEGRITY_DIR=C:\Users\user\ghs_pack\es7_dev_env\hlos_dev_boot\apps\ghs_apps_proc\integrity
+ set INTEGRITY_BSP=platform-sa8155
+ set INTEGRITY_BUILD_TARGET=chk
+ set QC_MULTIMEDIA_INC_DIR=C:\Users\user\ghs_pack\es7_dev_env\hlos_dev_boot\apps\ghs_apps_proc\qc_bsp\include\amss\multimedia
+ set GL_INC_DIR=C:\Users\user\ghs_pack\es7_dev_env\hlos_dev_boot\apps\ghs_apps_proc\qc_bsp\AMSS\multimedia\graphics\include\public
+ set GL_LIB_DIR=C:\Users\user\ghs_pack\es7_dev_env\hlos_dev_boot\apps\ghs_apps_proc\qc_bsp\out\rel\libs\base;C:\Users\user\ghs_pack\es7_dev_env\hlos_dev_boot\apps\ghs_apps_proc\qc_bsp\out\rel\libs\multimedia\display;C:\Users\user\ghs_pack\es7_dev_env\hlos_dev_boot\apps\ghs_apps_proc\qc_bsp\out\rel\libs\multimedia\graphics;C:\Users\user\ghs_pack\es7_dev_env\hlos_dev_boot\apps\ghs_apps_proc\qc_bsp\out\rel\libs\platform\;C:\Users\user\ghs_pack\es7_dev_env\hlos_dev_boot\apps\ghs_apps_proc\qc_bsp\AMSS\multimedia\graphics\opengl\esx\build\integrity\prebuilt\
+ set TARGET_ROOT_PATH="C:\Users\user\ghs_pack\es7_dev_env\hlos_dev_boot"
+ \endcode
+
+ These export paths assume you have used the \c {C:\ghs\comp_202014 and C:\Users\user\ghs_pack\*} installation directories
+ while installing the MULTI IDE and INTEGRITY (see \l {Installing Platform Dependencies}). If you have not used the default
+ directories, adjust the export paths accordingly.
+
+ To initialize your build environment, run the following command in a Windows CMD terminal:
+
+ \badcode
+ setEnvironment.bat
+ \endcode
+
+ \note Run this command in the Windows CMD terminal every time you build Qt,
+ or use the \c qmake or \c CMake build systems.
+
+ \include qt6GettingSources.qdocinc Getting Qt6 sources
+
+ \section1 Building Qt Desktop for cross-compiling tools usage
+
+ The cross-compiling Qt requires a host build of Qt being available.
+ During the build, tools such as moc, rcc, qmlcachegen, qsb,
+ and others, are invoked from there.
+ For more detailed information please read
+ \l {https://www.qt.io/blog/qt-6-build-system} {Cross-compiling Qt}.
+
+ Run the following commands for Windows 10 Host build:
+ \badcode
+ mkdir hostbuild
+ cd hostbuild/
+ C:/Users/user/qt5/configure -nomake tests -nomake examples -release -prefix C:/Users/user/hostbuild
+ cmake --build . --parallel 6
+ cmake --install .
+ \endcode
+
+ \section1 Creating a toolchain file for INTEGRITY
+
+ To cross-compile a project with CMake, one must specify a toolchain file.
+ This CMake-language file sets the right values for the platform name,
+ the compiler/linker used, and a whole bunch of other toolchain-specific things.
+ For Integrity build on Windows 10 create a toolchain.cmake file with following content:
+
+ \quotefromfile platforms/cmake/win/toolchain_integrity.cmake
+
+ \printuntil set(CMAKE_C_LINK_EXECUTABLE "${CMAKE_CXX_COMPILER} ${CMAKE_C_FLAGS} <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
+
+ \include qt6CreatingEglPack.qdocinc Creating EGL pack lib
+
+ \section1 Configuring Qt for INTEGRITY
+
+ Configure Qt for the Qualcomm Snapdragon 8155P board using these following commands:
+ \c {Windows 10 HOST} requires follow configure line:
+ \badcode
+ mkdir targetbuild
+ cd targetbuild/
+ cmake C:/Users/user/qt5/ -DQT_HOST_PATH=/c/Users/user/hostbuild/qtbase
+ -DCMAKE_TOOLCHAIN_FILE=/c/Users/user/ghs_pack/es7_dev_env/hlos_dev_boot/toolchain_integrity.cmake
+ -DQT_QMAKE_TARGET_MKSPEC=devices/integrity-armv8-SA8155P
+ -DBUILD_qtdoc=OFF -DBUILD_qttranslations=OFF -DFEATURE_printdialog=OFF --debug-trycompile -DFEATURE_dbus=OFF
+ -DFEATURE_dnslookup=OFF -DFEATURE_glib=OFF -DFEATURE_system_pcre2=OFF -DFEATURE_sql_mysql=OFF
+ -DQT_FEATURE_harfbuzz=OFF -DFEATURE_pkg_config=OFF -DUNIX=ON -DCMAKE_HOST_WIN32=ON -GNinja -DCMAKE_INSTALL_PREFIX=/c/Users/user/targetbuild/
+ \endcode
+
+ \note INTEGRITY supports only static Qt builds.
+ \note \c QT_HOST_PATH variable introduced in Qt 6.
+ When cross-compiling, this must be set to the install location of Qt for the host platform.
+ It is used to locate tools to be run on the host (moc, rcc, androiddeployqt, and so on).
+
+ \section1 Building Qt for INTEGRITY
+
+ Build Qt by calling \c cmake in the terminal. You can run \c cmake with as
+ many cores on your host machine as you desire. In our example we use six cores:
+
+ \badcode
+ cmake --build . --parallel 6
+ \endcode
+
+ \target installing-qt-for-sa8155
+ \section1 Installing Qt
+
+ If you have not used the configure option \c {-prefix $PWD/qtbase} in \l {Configuring Qt},
+ run the following commands in a terminal:
+
+ \badcode
+ cd <Qt installation directory>
+ cmake --install .
+ \endcode
+
+ If you have used the configure option \c {-prefix $PWD/qtbase},
+ you can use Qt from the build directory, without running the
+ \c {cmake install} command.
+
+ Qt is now configured and built for the sa8155 board.
+*/
+
+/*!
+ \page integrity-building-and-flashing-dd-project.html
+ \title Building and flashing a Dynamic Download Project
+ \previouspage integrity-building-qt-8155P-on-windows.html
+ \nextpage integrity-win-monolith.html
+
+ This tutorial will guide you through building an INTEGRITY project for a Qt example
+ application on a Windows 10 host. You can select any Qt example application that uses the
+ \l {Supported Qt Modules} {Supported Qt modules}.
+
+ \section1 Preparing the Qt application build environment
+
+ Before building the INTEGRITY project, you need to prepare your build environment.
+ Run the \c setEnvironment.bat script from the Windows CMD terminal. For more information about the script, see
+ \l {Creating a batch script for Windows 10}.
+
+ \badcode
+ setEnvironment.bat
+ \endcode
+
+ \section1 Building the Qt application example
+ To build Qt 6 application using CMake, run the following commands in the Windows CMD terminal:
+
+ \badcode
+ "Qt installation path>\bin\qt-cmake.bat" CMakeLists.txt -GNinja
+ -DCMAKE_PREFIX_PATH="C:\Users\user\targetbuild"
+ -DQt6_DIR="C:\Users\user\targetbuild\lib\cmake\Qt6"
+ -DQt6Core_DIR="C:\Users\user\targetbuild\lib\cmake\Qt6Core"
+ -DQt6Gui_DIR="C:\Users\user\targetbuild\lib\cmake\Qt6Gui"
+
+ cmake --build .
+ \endcode
+
+ Where, \c qt-cmake is the wrapper script that calls CMake to configure your project with appropriate include paths.
+
+ \section1 Creating a Dynamic Download Project in MULTI
+ \list
+ \li Start MULTI Launcher and select \uicontrol {File} > \uicontrol {Create workspace}.
+ \li In the creation window mode select \uicontrol {New Project} and click \uicontrol {OK}.
+ \li In the dialog \uicontrol {Project Wizard}, select a path where the new project is to be created e.g. \e C:\\Users\\user\\Documents\\My \e Projects\\Project1\\default.gpj and click \uicontrol {Next}.
+ \li Select \e INTEGRITY in \uicontrol {Operating System} dialog and click \uicontrol {Next}.
+ \image integrity-os.png "Project creation window dialog."
+ \li Select \uicontrol {Finish}.
+ \image sa8155-target.png "Qualcom board creation window dialog."
+ \li Select \uicontrol {Create New} > \uicontrol {Dynamic Download} > \uicontrol {Next}.
+ \li Select \uicontrol {Settings For Dynamic Download} > \uicontrol {Finish}.
+ \image dynamic-pro.png "Project tree view."
+ \endlist
+
+ \section1 Building a Dynamic Download Project
+ \list
+ \li Edit and save \e myproject.int file in the project tree:
+ \badcode
+ AddressSpace
+ Name qtapp
+ Filename C:\path\to\your\qt\app\binary
+ MemoryPoolSize 0x2700000
+ Language C++
+ HeapSize 0x90000
+ Task Initial
+ StackSize 0x90000
+ StartIt false
+ EndTask
+ Extendedmemorypoolsize 0x300000
+ EndAddressSpace
+ \endcode
+ \li Create a new file called \e 'multi_commands' and add the following commands to it:
+ \badcode
+ switch -component "debugger.task.qtapp.Initial"
+ route "debugger.task.qtapp.Initial" { __ntwcommand prepare_target }
+ wait -load
+ switch -component "debugger.task.qtapp.Initial"
+ route "debugger.task.qtapp.Initial" { __ntwcommand resume }
+ wait -time 240000 -stop
+ switch -component "debugger.task.qtapp.Initial"
+ unload myproject
+ wait -time 8000 -stop
+ savedebugpane cmd "autotestresult.txt"
+ quitall
+ \endcode
+ \li Run building and loading commands from the Windows CMD terminal:
+ \badcode
+ multi.exe "C:\Users\user\Documents\My Projects\Project1\default.gpj" -build myproject &
+ multi.exe "C:\Users\user\Documents\My Projects\Project1\dbg\bin\myproject" -connect="rtserv2 192.168.1.1" -p C:\Users\user\multi_commands &
+ \endcode
+ \image dynamic-loaded-pro.png "MULTI IDE binary load window."
+ \note \e {"rtserv2 192.168.1.1"} is a board IP address. Check \l {Set up the wiring} to set up the board network.
+ \note It takes several minutes to deploy by Dynamic Download.
+ \endlist
*/
diff --git a/doc/src/platforms/integrity-building-monolith.qdocinc b/doc/src/platforms/integrity-building-monolith.qdocinc
deleted file mode 100644
index 71272e69..00000000
--- a/doc/src/platforms/integrity-building-monolith.qdocinc
+++ /dev/null
@@ -1,112 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** 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 Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
-//! [building monolith]
-
-This tutorial will guide you through building a monolith INTEGRITY project for a Qt example
-application. You can select any Qt example application that uses the
-\l {Supported Qt Modules} {Supported Qt modules}.
-
-Before building the monolith INTEGRITY project, prepare your build environment
-by running the \c setEnvironment.sh script. For more information about the script, see
-\l {Creating a shell script}.
-
-\badcode
- source ~/setEnvironment.sh
-\endcode
-
-\section1 Building the Qt application
-For building a Qt6 based application using the CMake tool, run the following commands in a terminal:
-
-\badcode
- <Qt installation path>/qtbase/bin/qt-cmake <Qt example application path>/CMakeLists.txt
- cmake --build .
-\endcode
-
-Where, \c qt-cmake is the wrapper script that calls CMake to configure your project with appropriate include paths.
-
-\section1 Building a monolith project
-
-The board support package (BSP) for the Qualcomm Snapdragon 8155P board provides
-a build script to create a set of images for board partitions:
-\badcode
- /work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/build_ghs.sh
-\endcode
-
-Add a Qt application to a build by adding it into the \e {monolith-service.int} file:
-
-\list 1
- \li Start MULTI Launcher.
- \li Select \uicontrol {Components} > \uicontrol {Open Project Manager}.
- \li Select the project file \e {default.gpj}
- under the \e {/work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp} directory:
- \image open-project "Select a project"
- MULTI application shows a window with a list of project files from the chosen folder.
- \li Select \uicontrol {Open}.
-\endlist
-
-In the MULTI Project Manager view, you should see a tree structure of the opened
-project.
-
-Go through the \c default.gpj sub projects:
-\list 1
- \li Select \e {target.auto} \e {vmm-adp-no-gvm-sa8155.gpj} > \e {vvm-adp-gvm-ref.gpj} > \e {monolith-service.gpj}.
- You can observe the project structure and edit a project's files.
-
- \li Select \e {monolith-service.int}
- \image project-structure "Project tree"
- Selected \e {monolith-service.int} file is highlited in the project tree.
-
- \li Right-click on the file, then select \uicontrol {Edit} from the context menu.
- \li Add the following lines at the end of the file.
- \badcode
- AddressSpace
- Name myappname
- Filename /path/to/your/app/executable
- MemoryPoolSize 0x2700000
- Language C++
- HeapSize 0x90000
-
- Task Initial
- StackSize 0x80000
- StartIt false
- EndTask
- Extendedmemorypoolsize 0x300000
- EndAddressSpace
- \endcode
- \note Replace </path/to/your/app/executable> with a path to your application executable.
-
- \li Run the build script.
- \badcode
- bash /work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/build_ghs.sh
- \endcode
-\endlist
-
-Your monolith project is now ready to be flashed on to the board.
-//! [building monolith]
-*/
diff --git a/doc/src/platforms/integrity-building-qt-8155P.qdocinc b/doc/src/platforms/integrity-building-qt-8155P.qdocinc
deleted file mode 100644
index 2a257f50..00000000
--- a/doc/src/platforms/integrity-building-qt-8155P.qdocinc
+++ /dev/null
@@ -1,187 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** 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 Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
-//! [building qt for Qualcomm Snapdragon 8155P]
- Install INTEGRITY and Qualcomm environment according to the provided
- instructions from Green Hills and Qualcomm.
-
- To set up the development environment for Qt for INTEGRITY,
- build Qt from the sources for the Qualcomm Snapdragon 8155P board. Before building Qt,
- create a shell script that will set up the build environment.
-
- \section1 Creating a shell script
-
- Create a new shell script \e{setEnvironment.sh}, and save it under
- your home folder. Add the following export commands to the script:
-
- \badcode
- export PATH=$PATH:/work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/comp
- export INTEGRITY_DIR=/work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/integrity
- export INTEGRITY_BSP=platform-sa8155
- export INTEGRITY_BUILD_TARGET=chk
- export QC_MULTIMEDIA_INC_DIR=/work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/include/amss/multimedia
- export GL_INC_DIR=/work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/AMSS/multimedia/graphics/include/public
- export GL_LIB_DIR=/work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/rel/libs/base:/work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/rel/libs/multimedia/display:/work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/rel/libs/multimedia/graphics:/work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/rel/libs/platform/:/work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/AMSS/multimedia/graphics/opengl/esx/build/integrity/prebuilt/
- \endcode
-
- These exports assume you have used the \c /work/ghs/* installation directories
- while installing MULTI IDE and INTEGRITY (see
- \l {Installing Platform Dependencies}). If you have not used the default
- directories, adjust the exported paths accordingly.
-
- To initialize your build environment, run the following command in a terminal:
-
- \badcode
- source ~/setEnvironment.sh
- \endcode
-
- \note Run this command in your terminal every time you build Qt,
- or use the \c qmake or CMake build systems.
-
- \section1 Getting Qt sources
-
- You can download the Qt source code from your
- \l {https://login.qt.io/login} {Qt Account}.
-
- You can also get the Qt sources from the Git repo. Qt Wiki has
- instructions for getting Qt sources from Git, see
- \l {https://wiki.qt.io/Building_Qt_5_from_Git#Getting_the_source_code} {Getting source code}.
-
- \note Qt sources version must be 6.2 or laler.
- \note The init-repository script initializes the Qt 6 repository
- and clones various Qt 6 sub-modules (see
- \l {https://wiki.qt.io/Building_Qt_5_from_Git#Getting_the_submodule_source_code}
- {Getting the submodule source code}).
- Qt modules supported by Qt for INTEGRITY are listed in \l {Supported Qt Modules}.
-
- \section1 Building Qt Desktop for cross-compiling tools usage
-
- The cross-compiling Qt requires a host build of Qt being available.
- During the build, tools such as moc, rcc, qmlcachegen, qsb,
- and others, are invoked from there.
- For more detailed information please read
- \l {https://www.qt.io/blog/qt-6-build-system} {Cross-compiling Qt}.
-
- Run the following commands for Linux Host build:
- \badcode
- mkdir hostbuild
- cd hostbuild/
- ../qt5/configure -nomake tests -nomake examples -release -developer-build
- cmake --build . --parallel 6
- \endcode
-
- \section1 Creating a toolchain file for INTEGRITY
-
- To cross-compile a project with CMake, one must specify a toolchain file.
- This CMake-language file sets the right values for the platform name,
- used compiler/linker, and a whole bunch of other toolchain-specific things.
- For Integrity build create toolchain.cmake with follow content:
-
- \quotefromfile platforms/cmake/toolchain_integrity.cmake
-
- \printuntil set(OPENGL_opengl_LIBRARY ${TARGET_ROOT_PATH}/libeglmegapack.a)
-
- \section1 Creating EGL pack
-
- For CMake find EGL module to properly detect EGL, repack the needed egl libraries into one archive called libeglmegapack:
-
- \badcode
- ar -x ../hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/libs/multimedia/graphics/libESXEGL_Adreno.a
- ar -x ../hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/libs/multimedia/graphics/libadreno_utils.a
- ar -x ../hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/libs/multimedia/graphics/libESXGLESv2_Adreno.a
- ar -x ../hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/libs/multimedia/graphics/libadreno_utils.a
- ar -x ../hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/libs/multimedia/graphics/libGSLUser.a
- ar -x ../hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/libs/multimedia/graphics/libOSUser.a
- ar -x ../hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/libs/multimedia/graphics/libpanel.a
- ar -x ../hlos_dev_boot/apps/ghs_apps_proc/integrity/libs/arm64/chk/libivfs.a
- ar -x ../hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/libs/platform/libpmem.a
- ar -x ../hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/libs/platform/libtzbsp.a
- ar -x ../hlos_dev_boot/apps/ghs_apps_proc/integrity/libs/arm64/chk/libpaged_alloc.a
- ar -x ../hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/AMSS/multimedia/graphics/opengl/esx/build/integrity/prebuilt/libglnext-llvm.a
- ar -x ../hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/libs/multimedia/display/libopenwfd.a
- ar -x ../hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/libs/base/libplanedef.a
- ar -x ../hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/libs/platform/liblogger.a
- ar -x ../hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/libs/base/librfs_client.a
- ar -x ../hlos_dev_boot/apps/ghs_apps_proc/integrity/libs/arm64/chk/libshm_client.a
- ar -x ../hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/libs/base/libmmosalrfs.a
- ar -x ../hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/libs/base/libmmosalfile.a
- ar -x ../hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/libs/base/libOSAbstraction.a
- ar r libeglmegapack.a *.o
- rm *.o
- \endcode
-
- Copy the resulting \c libeglmegapack.a to your installation directory \c hlos_dev_boot.
-
- \section1 Configuring Qt for INTEGRITY
-
- Configure Qt for the Qualcomm Snapdragon 8155P board using these following commands:
-
- \badcode
- cd <Qt installation directory>
- cmake ../qt5/ -DQT_HOST_PATH=/work/ghs/hostbuild/qtbase
- -DCMAKE_TOOLCHAIN_FILE=/work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/toolchain_integrity.cmake
- -DQT_QMAKE_TARGET_MKSPEC=devices/integrity-armv8-SA8155P -DBUILD_qtdoc=OFF
- -DBUILD_qttranslations=OFF -DFEATURE_printdialog=OFF --debug-trycompile -DFEATURE_dbus=OFF
- -GNinja -DUNIX=ON
- -DEGL_LIBRARY=/work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/libeglmegapack.a
- -DEGL_INCLUDE_DIR=/work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/AMSS/multimedia/graphics/include/public
- -DFEATURE_dnslookup=OFF -DFEATURE_glib=OFF -DFEATURE_libudev=OFF -DFEATURE_system_pcre2=OFF -DFEATURE_sql_mysql=OFF
- \endcode
-
- \note INTEGRITY supports only static Qt builds.
- \note \c QT_HOST_PATH variable introduced in Qt 6.
- When cross-compiling, this must be set to the install location of Qt for the host platform.
- It is used to locate tools to be run on the host (moc, rcc, androiddeployqt, and so on).
-
- \section1 Building Qt for INTEGRITY
-
- Build Qt by calling \c cmake in the terminal. You can run \c cmake with as
- many cores on your host machine as you desire. In our example we use six cores:
-
- \badcode
- cmake --build . --parallel 6
- \endcode
-
- \target installing-qt-for-sa8155
- \section1 Installing Qt
-
- If you have not used the configure option \c {-prefix $PWD/qtbase} in \l {Configuring Qt},
- run the following commands in a terminal:
-
- \badcode
- cd <Qt installation directory>
- cmake --install .
- \endcode
-
- If you have used the configure option \c {-prefix $PWD/qtbase},
- you can use Qt from the build directory, without running the
- \c {cmake install} command.
-
- Qt is now configured and built for the sa8155 board.
-//! [building qt for Qualcomm Snapdragon 8155P]
-*/
diff --git a/doc/src/platforms/integrity-flash-and-run.qdocinc b/doc/src/platforms/integrity-flash-and-run.qdocinc
deleted file mode 100644
index 77531235..00000000
--- a/doc/src/platforms/integrity-flash-and-run.qdocinc
+++ /dev/null
@@ -1,140 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** 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 Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
-//! [flash and run application]
-\section1 Qualcomm Snapdragon 8155P Board
- There is Qualcomm Snapdragon 8155P Board top view.
-\image sa8155p
-
-\section1 Setup the wiring
- There are several connectors are needed to be connected to the PC
- for flashing and running applications on the board:
-
- \list 1
- \li Power connector
- \li Micro USB is the FT serial console output
- \li Normal (male male USB-A - USB A/USB C cable) USB is the QFIL/Fastboot port
- \li DisplayPort cable is for Graphical output
- \endlist
- \image wiring1
- \caption There is a wiring configuration example: power is ON,
- normal male USB-A is connected for flashing images,
- DisplayPort cable is conected for Graphical output.
- \image wiring2
- \caption Micro USB is connected for using the FT serial console.
-
-\section1 Switch to Fastboot Mode
- To flash images on Qualcomm Snapdragon 8155P board install
- Fastboot Tool on Host OS.
- See, \l {https://developer.android.com/studio/releases/platform-tools} {Fastboot Tool}
-
- Before flashing switch the board to the Fastboot Mode:
- \list 1
- \li Open serial connection with the board:
- \badcode
- putty /dev/ttyUSB0 -serial -sercfg 115200,8,1
- \endcode
- \li There are 2 options:
-
- - On the device, hold the volume key and power cycle the device.
-
- - Or press down arrow on the UART shell and power cycle the device.
-
- \li If the board switches to Fastboot Mode successfully,
- it prints following console output:
- \image fastboot-mode
-
- Another way to check the board is in Fastboot Mode is to run the command:
- \badcode
- fastboot devices
- \endcode
-
- \endlist
-
-\section1 Flash images
- The build script produces set of images for board partitions.
- \badcode
- boot.img, perf_dyn.img, misc_dyn.img, abl.elf, etc
- \endcode
-
- After switching to Fastboot Mode images can be flashed to the board.
-
- \list 1
- \li When setting up for the first time, follow the images flashing procedure from GHS
- \e ES7_FinalCopy/ES7_customer_package_readme.docx:
-
- \badcode
- cd /work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/bin/target
- fastboot flash abl abl.elf
- fastboot flash boot vmm-adp-gvm-sa8155/boot.img
- fastboot flash perf_dyn_a vmm-adp-gvm-sa8155/perf_dyn.img
- fastboot flash misc_dyn_a vmm-adp-gvm-sa8155/misc_dyn.img
-
- cd /work/ghs/sa8155/es7/es7_dev_env/ES7_FinalCopy/Images/sa8155_hyp
- fastboot flash hyp_a hyp.mbn
- fastboot flash tz tz.mbn
- fastboot flash apdp apdp.mbn
-
- cd /work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/bin/target/fs
- fastboot flash gh_sys sys.img
- fastboot flash gh_persist ghs_persist.img
- fastboot flash gh_test ghs_test.img.sparse
-
- cd /work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/prebuilt_NHLOS/adsp/asic_8150
- fastboot flash adsp adsp.img
-
- cd /work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/lagvm/LINUX/android/out/target/product/msmnile_gvmgh
- fastboot flash vendor vendor.img
- \endcode
- \note \e ES7_FinalCopy/ES7_customer_package_readme.docx is a part of QC [ES7] Customer package.
- Contact \l {https://www.qualcomm.com/support} {Qualcomm Support} for more information.
-
- \li If this is not the first time flashing, then the monolith part should be flashed:
- \badcode
- cd /work/ghs/sa8155/es7/es7_dev_env/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/bin/target
- fastboot flash boot vmm-adp-gvm-sa8155/boot.img
- \endcode
- \li Restart the board.
- \endlist
-
-\section1 Run Qt application on the board
- \list 1
- \li Open serial console:
- \badcode
- putty /dev/ttyUSB0 -serial -sercfg 115200,8,1
- \endcode
- \li Execute the command:
- \badcode
- rt <application name> Initial
- \endcode
- \li Run Qt application example:
- \image qml-application "QML application"
- Qt application is running on Qualcomm Snapdragon 8155P Board and displayed on the connected screen.
- \endlist
-//! [flash and run application]
-*/
diff --git a/doc/src/platforms/integrity.qdoc b/doc/src/platforms/integrity.qdoc
index 50e38f54..bb3b8dc6 100644
--- a/doc/src/platforms/integrity.qdoc
+++ b/doc/src/platforms/integrity.qdoc
@@ -66,6 +66,7 @@
Qt for INTEGRITY should be able to be built on the following hosts:
\list
\li 64-bit Linux distributions
+ \li 64-bit Windows 10
\endlist
\note Only Ubuntu 20.04 64 bit is supported by Qt at this time.
diff --git a/doc/src/platforms/qt6CMakeCrossCompile.qdocinc b/doc/src/platforms/qt6CMakeCrossCompile.qdocinc
new file mode 100644
index 00000000..c7730b6b
--- /dev/null
+++ b/doc/src/platforms/qt6CMakeCrossCompile.qdocinc
@@ -0,0 +1,37 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** 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 Free Documentation License Usage
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file. Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+//! [Qt cross-compile introduction]
+
+In Qt 6, CMake is the build tool, which supports cross-compiling,
+that means the software is built on one system, but is intended to run on a different system.
+
+The system used to build is called the \c host. The device which will run the software product is called the \c target.
+
+//! [Qt cross-compile introduction]
+*/
diff --git a/doc/src/platforms/qt6CreatingEglPack.qdocinc b/doc/src/platforms/qt6CreatingEglPack.qdocinc
new file mode 100644
index 00000000..ba3df2b3
--- /dev/null
+++ b/doc/src/platforms/qt6CreatingEglPack.qdocinc
@@ -0,0 +1,61 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** 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 Free Documentation License Usage
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file. Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+//! [Creating EGL pack lib]
+\section1 Creating EGL pack
+
+ For CMake find and properly detect the EGL module, repack the needed egl libraries into one archive called libeglmegapack:
+
+ \badcode
+ ar -x ../hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/libs/multimedia/graphics/libESXEGL_Adreno.a
+ ar -x ../hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/libs/multimedia/graphics/libadreno_utils.a
+ ar -x ../hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/libs/multimedia/graphics/libESXGLESv2_Adreno.a
+ ar -x ../hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/libs/multimedia/graphics/libadreno_utils.a
+ ar -x ../hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/libs/multimedia/graphics/libGSLUser.a
+ ar -x ../hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/libs/multimedia/graphics/libOSUser.a
+ ar -x ../hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/libs/multimedia/graphics/libpanel.a
+ ar -x ../hlos_dev_boot/apps/ghs_apps_proc/integrity/libs/arm64/chk/libivfs.a
+ ar -x ../hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/libs/platform/libpmem.a
+ ar -x ../hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/libs/platform/libtzbsp.a
+ ar -x ../hlos_dev_boot/apps/ghs_apps_proc/integrity/libs/arm64/chk/libpaged_alloc.a
+ ar -x ../hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/AMSS/multimedia/graphics/opengl/esx/build/integrity/prebuilt/libglnext-llvm.a
+ ar -x ../hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/libs/multimedia/display/libopenwfd.a
+ ar -x ../hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/libs/base/libplanedef.a
+ ar -x ../hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/libs/platform/liblogger.a
+ ar -x ../hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/libs/base/librfs_client.a
+ ar -x ../hlos_dev_boot/apps/ghs_apps_proc/integrity/libs/arm64/chk/libshm_client.a
+ ar -x ../hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/libs/base/libmmosalrfs.a
+ ar -x ../hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/libs/base/libmmosalfile.a
+ ar -x ../hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/chk/libs/base/libOSAbstraction.a
+ ar r libeglmegapack.a *.o
+ rm *.o
+ \endcode
+
+ Copy the resulting \c libeglmegapack.a to your installation directory \c hlos_dev_boot.
+//! [Creating EGL pack lib]
+*/
diff --git a/doc/src/platforms/qt6GettingSources.qdocinc b/doc/src/platforms/qt6GettingSources.qdocinc
new file mode 100644
index 00000000..21425c48
--- /dev/null
+++ b/doc/src/platforms/qt6GettingSources.qdocinc
@@ -0,0 +1,46 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** 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 Free Documentation License Usage
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file. Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+//! [Getting Qt6 sources]
+\section1 Getting Qt sources
+
+ You can download the Qt source code from your
+ \l {https://login.qt.io/login} {Qt Account}.
+
+ You can also get the Qt sources from the Git repo. Qt Wiki has
+ instructions for getting Qt sources from Git, see
+ \l {https://wiki.qt.io/Building_Qt_5_from_Git#Getting_the_source_code} {Getting source code}.
+
+ \note Qt sources version must be 6.2 or later.
+ \note The init-repository script initializes the Qt 6 repository
+ and clones various Qt 6 sub-modules (see
+ \l {https://wiki.qt.io/Building_Qt_5_from_Git#Getting_the_submodule_source_code}
+ {Getting the submodule source code}).
+ Qt modules supported by Qt for INTEGRITY are listed in \l {Supported Qt Modules}.
+//! [Getting Qt6 sources]
+*/