diff --git a/meta-oe/recipes-graphics/lvgl/files/0007-fix-cmake-generate-versioned-shared-libraries.patch b/meta-oe/recipes-graphics/lvgl/files/0007-fix-cmake-generate-versioned-shared-libraries.patch new file mode 100644 index 0000000000..6997d84153 --- /dev/null +++ b/meta-oe/recipes-graphics/lvgl/files/0007-fix-cmake-generate-versioned-shared-libraries.patch @@ -0,0 +1,68 @@ +From 40657a770baadfff30abfecf7638e7b1c340db4d Mon Sep 17 00:00:00 2001 +From: Marek Vasut +Date: Thu, 14 Mar 2024 03:23:10 +0100 +Subject: [PATCH] fix(cmake): generate versioned shared libraries + +Add missing version suffix to shared libraries. Currently the filename of +generated shared libraries is only liblvgl.so, which prevents coexistence +of different versions of LVGL on the same system. Set VERSION and SOVERSION +to make cmake add the version suffix to generated shared libraries. That +changes the filename to liblvgl.so.9.0.0 and includes symlink with major +ABI version, i.e. liblvgl.so.9 . + +Upstream-Status: Submitted [https://github.com/lvgl/lvgl/pull/5865] +Signed-off-by: Marek Vasut +--- + env_support/cmake/custom.cmake | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +diff --git a/env_support/cmake/custom.cmake b/env_support/cmake/custom.cmake +index 9800468eb..6f33f1cc8 100644 +--- a/env_support/cmake/custom.cmake ++++ b/env_support/cmake/custom.cmake +@@ -1,3 +1,6 @@ ++set(LVGL_VERSION "9.0.0") ++set(LVGL_SOVERSION "9") ++ + # Option to define LV_LVGL_H_INCLUDE_SIMPLE, default: ON + option(LV_LVGL_H_INCLUDE_SIMPLE + "Use #include \"lvgl.h\" instead of #include \"../../lvgl.h\"" ON) +@@ -119,6 +122,8 @@ install( + set_target_properties( + lvgl + PROPERTIES OUTPUT_NAME lvgl ++ VERSION ${LVGL_VERSION} ++ SOVERSION ${LVGL_SOVERSION} + ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib" + LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib" + RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin" +@@ -137,6 +142,8 @@ if(NOT LV_CONF_BUILD_DISABLE_THORVG_INTERNAL) + set_target_properties( + lvgl_thorvg + PROPERTIES OUTPUT_NAME lvgl_thorvg ++ VERSION ${LVGL_VERSION} ++ SOVERSION ${LVGL_SOVERSION} + ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib" + LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib" + RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin" +@@ -155,6 +162,8 @@ if(NOT LV_CONF_BUILD_DISABLE_DEMOS) + set_target_properties( + lvgl_demos + PROPERTIES OUTPUT_NAME lvgl_demos ++ VERSION ${LVGL_VERSION} ++ SOVERSION ${LVGL_SOVERSION} + ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib" + LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib" + RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin" +@@ -173,6 +182,8 @@ if(NOT LV_CONF_BUILD_DISABLE_EXAMPLES) + set_target_properties( + lvgl_examples + PROPERTIES OUTPUT_NAME lvgl_examples ++ VERSION ${LVGL_VERSION} ++ SOVERSION ${LVGL_SOVERSION} + ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib" + LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib" + RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin" +-- +2.43.0 + diff --git a/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_9.0.0.bb b/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_9.0.0.bb index 70df822ccc..6d3ae1ec37 100644 --- a/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_9.0.0.bb +++ b/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_9.0.0.bb @@ -13,6 +13,7 @@ SRC_URI = "\ file://0004-Factor-out-fbdev-initialization-code.patch \ file://0005-Add-DRM-KMS-example-support.patch \ file://0006-Add-SDL2-example-support.patch \ + file://0007-fix-cmake-generate-versioned-shared-libraries.patch;patchdir=lvgl \ " SRCREV_demo = "dccc6a1ca48372aa993dbea7a8e17dec6f42df6a" SRCREV_lvgl = "e29d35b43c509b6d7189f5dac87139441669ae66" diff --git a/meta-oe/recipes-graphics/lvgl/lvgl_9.0.0.bb b/meta-oe/recipes-graphics/lvgl/lvgl_9.0.0.bb index b84fc5a3d7..8d08485089 100644 --- a/meta-oe/recipes-graphics/lvgl/lvgl_9.0.0.bb +++ b/meta-oe/recipes-graphics/lvgl/lvgl_9.0.0.bb @@ -12,6 +12,7 @@ SRC_URI = "\ git://github.com/lvgl/lvgl;protocol=https;branch=master \ file://0001-fix-drm-Default-to-XRGB8888-framebuffer.patch \ file://0002-fix-sdl-handle-both-LV_IMAGE_SRC_FILE-and-LV_IMAGE_S.patch \ + file://0007-fix-cmake-generate-versioned-shared-libraries.patch \ " SRCREV = "e29d35b43c509b6d7189f5dac87139441669ae66" PV .= "+git${SRCPV}" @@ -30,5 +31,3 @@ FILES:${PN}-dev += "\ ${includedir}/${PN}/ \ ${includedir}/${PN}/lvgl/ \ " -SOLIBS = ".so" -FILES_SOLIBSDEV = ""