From 49e202a620e5fcdde5b421aafaff5203895ffdc9 Mon Sep 17 00:00:00 2001 From: Tatiana Borisova Date: Mon, 28 Mar 2022 15:01:27 +0300 Subject: Reorganize work with graphical libraries on INTEGRITY - add new paths for GUI pack - delete manual lib packing from instructions Task-number: QTBUG-102268 Change-Id: I87a4e7cb9f1f41f0a805f572c4678cd4fcba121c Reviewed-by: Kimmo Ollila Reviewed-by: Alexey Edelev Reviewed-by: Nicholas Bennett (cherry picked from commit 9ba7a6dbaa7ad60d2d4be0bddc07da90f90a168a) Reviewed-by: Qt Cherry-pick Bot --- .../cmake/linux/toolchain_integrity.cmake | 50 ++++++++++++++---- .../platforms/cmake/win/toolchain_integrity.cmake | 35 ++++++++++--- .../integrity-build-monolith-app-tutorial.qdoc | 6 +-- doc/src/platforms/qt6CreatingEglPack.qdocinc | 61 ---------------------- 4 files changed, 70 insertions(+), 82 deletions(-) delete mode 100644 doc/src/platforms/qt6CreatingEglPack.qdocinc diff --git a/doc/snippets/platforms/cmake/linux/toolchain_integrity.cmake b/doc/snippets/platforms/cmake/linux/toolchain_integrity.cmake index 2a2fddf0..815c5801 100644 --- a/doc/snippets/platforms/cmake/linux/toolchain_integrity.cmake +++ b/doc/snippets/platforms/cmake/linux/toolchain_integrity.cmake @@ -44,26 +44,56 @@ cxx_unrestricted_unions cxx_variadic_macros cxx_variadic_templates) +#graphical lib paths +set(EGL_LIBRARY_GRAPHIC_PATH ${TARGET_ROOT_PATH}/apps/ghs_apps_proc/qc_bsp/out/chk/libs/multimedia/graphics) +set(EGL_LIBRARY_PLATFORM_PATH ${TARGET_ROOT_PATH}/apps/ghs_apps_proc/qc_bsp/out/chk/libs/platform) +set(EGL_LIBRARY_BASE_PATH ${TARGET_ROOT_PATH}/apps/ghs_apps_proc/qc_bsp/out/chk/libs/base) +set(EGL_LIBRARY_CHK_PATH ${TARGET_ROOT_PATH}/apps/ghs_apps_proc/integrity/libs/arm64/chk) +set(EGL_LIBRARY_PREBUILD_PATH ${TARGET_ROOT_PATH}/apps/ghs_apps_proc/qc_bsp/AMSS/multimedia/graphics/opengl/esx/build/integrity/prebuilt) +set(EGL_LIBRARY_OPENWFD_PATH ${TARGET_ROOT_PATH}/apps/ghs_apps_proc/qc_bsp/out/chk/libs/multimedia/display) + #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 "-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 -llibposix.a") set(CMAKE_C_FLAGS_DEBUG "-g -Omaxdebug") set(CMAKE_C_FLAGS_RELEASE "-Ospeed -Olink -Omax -no_uvfd") 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 "${CMAKE_C_FLAGS} -frigor=accurate --signed_fields --no_implicit_include --link_once_templates -non_shared --new_outside_of_constructor --commons -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${TARGET_ROOT_PATH} -L${TARGET_ROOT_PATH}/apps/ghs_apps_proc/qc_bsp/out/rel/libs/multimedia/graphics -L${TARGET_ROOT_PATH}/apps/ghs_apps_proc/qc_bsp/out/rel/libs/base -L${TARGET_ROOT_PATH}/apps/ghs_apps_proc/qc_bsp/AMSS/multimedia/graphics/opengl/esx/build/integrity/prebuilt -L${TARGET_ROOT_PATH}/apps/ghs_apps_proc/qc_bsp/out/rel/libs/platform -L${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(CMAKE_EXE_LINKER_FLAGS "") set(QT_CFLAGS_OPTIMIZE_FULL "-Ospeed -Olink -Omax -no_uvfd") set(GLSLANG_OSDEP_PATH ../3rdparty/glslang/glslang/OSDependent/Unix) set(GL_INC_DIR ${TARGET_ROOT_PATH}/apps/ghs_apps_proc/qc_bsp/AMSS/multimedia/graphics/include/public) -set(EGL_INCLUDE_DIR ${TARGET_ROOT_PATH}/apps/ghs_apps_proc/qc_bsp/AMSS/multimedia/graphics/include/public) set(PKG_EGL_LIBRARY_DIRS ${TARGET_ROOT_PATH}) -set(EGL_LIBRARY ${TARGET_ROOT_PATH}/libeglmegapack.a) -set(GLESv2_LIBRARY ${TARGET_ROOT_PATH}/libeglmegapack.a) -set(GLESv2_INCLUDE_DIR ${TARGET_ROOT_PATH}/apps/ghs_apps_proc/qc_bsp/AMSS/multimedia/graphics/include/public) -set(OPENGL_INCLUDE_DIR ${TARGET_ROOT_PATH}/apps/ghs_apps_proc/qc_bsp/AMSS/multimedia/graphics/include/public) -set(OPENGL_opengl_LIBRARY ${TARGET_ROOT_PATH}/libeglmegapack.a) + +set(EGL_INCLUDE_DIR ${GL_INC_DIR}) +set(EGL_LIBRARY "${EGL_LIBRARY_GRAPHIC_PATH}/libESXEGL_Adreno.a") + +set(GLESv2_INCLUDE_DIR ${GL_INC_DIR}) +set(GLESv2_LIBRARY "${EGL_LIBRARY_GRAPHIC_PATH}/libESXGLESv2_Adreno.a") + +set(IntegrityPlatformGraphics_INCLUDE_DIR ${GL_INC_DIR}) +set(IntegrityPlatformGraphics_LIBRARY "${EGL_LIBRARY_GRAPHIC_PATH}/libadreno_utils.a") +set(IntegrityPlatformGraphics_LIBRARIES_PACK + "${EGL_LIBRARY_BASE_PATH}/libplanedef.a" + "${EGL_LIBRARY_BASE_PATH}/libmmosalfile.a" + "${EGL_LIBRARY_BASE_PATH}/libOSAbstraction.a" + "${EGL_LIBRARY_OPENWFD_PATH}/libopenwfd.a" + "${EGL_LIBRARY_GRAPHIC_PATH}/libOSUser.a" + "${EGL_LIBRARY_GRAPHIC_PATH}/libpanel.a" + "${EGL_LIBRARY_GRAPHIC_PATH}/libGSLUser.a" + "${EGL_LIBRARY_PREBUILD_PATH}/libglnext-llvm.a" + "${EGL_LIBRARY_PLATFORM_PATH}/libpmem.a" + "${EGL_LIBRARY_CHK_PATH}/libposix.a" + "${EGL_LIBRARY_CHK_PATH}/libivfs.a" +) + +list(APPEND _qt_igy_gui_libs + "${GLESv2_LIBRARY}" + "${IntegrityPlatformGraphics_LIBRARY}" + "${IntegrityPlatformGraphics_LIBRARIES_PACK}") + +set(OPENGL_INCLUDE_DIR ${GL_INC_DIR}) +set(OPENGL_opengl_LIBRARY ${EGL_LIBRARY}) diff --git a/doc/snippets/platforms/cmake/win/toolchain_integrity.cmake b/doc/snippets/platforms/cmake/win/toolchain_integrity.cmake index 072388e6..a344e7c7 100644 --- a/doc/snippets/platforms/cmake/win/toolchain_integrity.cmake +++ b/doc/snippets/platforms/cmake/win/toolchain_integrity.cmake @@ -62,16 +62,15 @@ 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 "-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 -llibposix.a") set(CMAKE_C_FLAGS_DEBUG "-g -Omaxdebug") set(CMAKE_C_FLAGS_RELEASE "-Ospeed -Olink -Omax -no_uvfd") 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 "${CMAKE_C_FLAGS} -frigor=accurate --signed_fields --no_implicit_include --link_once_templates -non_shared --new_outside_of_constructor --commons -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") @@ -84,9 +83,33 @@ 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) +set(EGL_LIBRARY "${EGL_LIBRARY_GRAPHIC_PATH}/libESXEGL_Adreno.a") + +set(GLESv2_INCLUDE_DIR $ENV{GL_INC_DIR}) +set(GLESv2_LIBRARY "${EGL_LIBRARY_GRAPHIC_PATH}/libESXGLESv2_Adreno.a") + +set(IntegrityPlatformGraphics_INCLUDE_DIR ${GL_INC_DIR}) +set(IntegrityPlatformGraphics_LIBRARY "${EGL_LIBRARY_GRAPHIC_PATH}/libadreno_utils.a") +set(IntegrityPlatformGraphics_LIBRARIES_PACK + "${EGL_LIBRARY_BASE_PATH}/libplanedef.a" + "${EGL_LIBRARY_BASE_PATH}/libmmosalfile.a" + "${EGL_LIBRARY_BASE_PATH}/libOSAbstraction.a" + "${EGL_LIBRARY_OPENWFD_PATH}/libopenwfd.a" + "${EGL_LIBRARY_GRAPHIC_PATH}/libOSUser.a" + "${EGL_LIBRARY_GRAPHIC_PATH}/libpanel.a" + "${EGL_LIBRARY_GRAPHIC_PATH}/libGSLUser.a" + "${EGL_LIBRARY_PREBUILD_PATH}/libglnext-llvm.a" + "${EGL_LIBRARY_PLATFORM_PATH}/libpmem.a" + "${EGL_LIBRARY_CHK_PATH}/libposix.a" + "${EGL_LIBRARY_CHK_PATH}/libivfs.a" +) + +list(APPEND _qt_igy_gui_libs + "${GLESv2_LIBRARY}" + "${IntegrityPlatformGraphics_LIBRARY}" + "${IntegrityPlatformGraphics_LIBRARIES_PACK}") + +set(OPENGL_opengl_LIBRARY ${EGL_LIBRARY}) # 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}) diff --git a/doc/src/platforms/integrity-build-monolith-app-tutorial.qdoc b/doc/src/platforms/integrity-build-monolith-app-tutorial.qdoc index 16199d13..072030f5 100644 --- a/doc/src/platforms/integrity-build-monolith-app-tutorial.qdoc +++ b/doc/src/platforms/integrity-build-monolith-app-tutorial.qdoc @@ -184,9 +184,7 @@ \quotefromfile platforms/cmake/linux/toolchain_integrity.cmake - \printuntil set(OPENGL_opengl_LIBRARY ${TARGET_ROOT_PATH}/libeglmegapack.a) - - \include qt6CreatingEglPack.qdocinc Creating EGL pack lib + \printuntil set(OPENGL_opengl_LIBRARY ${EGL_LIBRARY}) \section1 Configuring Qt for INTEGRITY @@ -539,8 +537,6 @@ \printuntil set(CMAKE_C_LINK_EXECUTABLE "${CMAKE_CXX_COMPILER} ${CMAKE_C_FLAGS} -o ") - \include qt6CreatingEglPack.qdocinc Creating EGL pack lib - \section1 Configuring Qt for INTEGRITY Configure Qt for the Qualcomm Snapdragon 8155P board using these following commands: diff --git a/doc/src/platforms/qt6CreatingEglPack.qdocinc b/doc/src/platforms/qt6CreatingEglPack.qdocinc deleted file mode 100644 index ba3df2b3..00000000 --- a/doc/src/platforms/qt6CreatingEglPack.qdocinc +++ /dev/null @@ -1,61 +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$ -** -****************************************************************************/ - -/*! -//! [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] -*/ -- cgit v1.2.1