diff options
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-extended/wxwidgets')
3 files changed, 145 insertions, 1 deletions
diff --git a/meta-openembedded/meta-oe/recipes-extended/wxwidgets/wxwidgets/fix-libdir-for-multilib.patch b/meta-openembedded/meta-oe/recipes-extended/wxwidgets/wxwidgets/fix-libdir-for-multilib.patch new file mode 100644 index 0000000000..637e54b2b8 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/wxwidgets/wxwidgets/fix-libdir-for-multilib.patch @@ -0,0 +1,83 @@ +wxWidgets hardcodes libdir with 'lib' and does not support multilib which will +change it. Respect variable wxPLATFORM_LIB_DIR to support libdir be configurable. + +Upstream-Status: Pending + +Signed-off-by: Kai Kang <kai.kang@windriver.com> +--- + CMakeLists.txt | 2 +- + build/cmake/config.cmake | 2 +- + build/cmake/functions.cmake | 6 +++--- + build/cmake/install.cmake | 6 +++--- + 4 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e30d3db934..8f93c57108 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -37,7 +37,7 @@ include(build/cmake/policies.cmake NO_POLICY_SCOPE) + # Initialize variables for quick access to wx root dir in sub dirs + set(wxSOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) + set(wxBINARY_DIR ${CMAKE_BINARY_DIR}) +-set(wxOUTPUT_DIR ${wxBINARY_DIR}/lib) ++set(wxOUTPUT_DIR ${wxBINARY_DIR}/lib${wxPLATFORM_LIB_DIR}) + + # parse the version number from wx/version.h and include in wxMAJOR_VERSION and wxMINOR_VERSION + file(READ include/wx/version.h WX_VERSION_H_CONTENTS) +diff --git a/build/cmake/config.cmake b/build/cmake/config.cmake +index 6978cc2725..ed16ee5635 100644 +--- a/build/cmake/config.cmake ++++ b/build/cmake/config.cmake +@@ -52,7 +52,7 @@ function(wx_write_config_inplace) + execute_process( + COMMAND + ${CMAKE_COMMAND} -E create_symlink +- "lib/wx/config/inplace-${TOOLCHAIN_FULLNAME}" ++ "lib${wxPLATFORM_LIB_DIR}/wx/config/inplace-${TOOLCHAIN_FULLNAME}" + "${CMAKE_CURRENT_BINARY_DIR}/wx-config" + ) + endfunction() +diff --git a/build/cmake/functions.cmake b/build/cmake/functions.cmake +index c33dd3946c..51e47e05b3 100644 +--- a/build/cmake/functions.cmake ++++ b/build/cmake/functions.cmake +@@ -78,9 +78,9 @@ function(wx_set_common_target_properties target_name) + cmake_parse_arguments(wxCOMMON_TARGET_PROPS "DEFAULT_WARNINGS" "" "" ${ARGN}) + + set_target_properties(${target_name} PROPERTIES +- LIBRARY_OUTPUT_DIRECTORY "${wxOUTPUT_DIR}${wxPLATFORM_LIB_DIR}" +- ARCHIVE_OUTPUT_DIRECTORY "${wxOUTPUT_DIR}${wxPLATFORM_LIB_DIR}" +- RUNTIME_OUTPUT_DIRECTORY "${wxOUTPUT_DIR}${wxPLATFORM_LIB_DIR}" ++ LIBRARY_OUTPUT_DIRECTORY "${wxOUTPUT_DIR}" ++ ARCHIVE_OUTPUT_DIRECTORY "${wxOUTPUT_DIR}" ++ RUNTIME_OUTPUT_DIRECTORY "${wxOUTPUT_DIR}" + ) + + if(MSVC) +diff --git a/build/cmake/install.cmake b/build/cmake/install.cmake +index 968dff859e..c850c51844 100644 +--- a/build/cmake/install.cmake ++++ b/build/cmake/install.cmake +@@ -33,11 +33,11 @@ if(MSVC) + else() + wx_install( + DIRECTORY "${wxSETUP_HEADER_PATH}" +- DESTINATION "lib/wx/include") ++ DESTINATION "lib${wxPLATFORM_LIB_DIR}/wx/include") + + wx_install( + FILES "${wxOUTPUT_DIR}/wx/config/${wxBUILD_FILE_ID}" +- DESTINATION "lib/wx/config" ++ DESTINATION "lib${wxPLATFORM_LIB_DIR}/wx/config" + PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ + GROUP_EXECUTE GROUP_READ + WORLD_EXECUTE WORLD_READ +@@ -46,7 +46,7 @@ else() + install(DIRECTORY DESTINATION "bin") + install(CODE "execute_process( \ + COMMAND ${CMAKE_COMMAND} -E create_symlink \ +- ${CMAKE_INSTALL_PREFIX}/lib/wx/config/${wxBUILD_FILE_ID} \ ++ ${CMAKE_INSTALL_PREFIX}/lib${wxPLATFORM_LIB_DIR}/wx/config/${wxBUILD_FILE_ID} \ + ${CMAKE_INSTALL_PREFIX}/bin/wx-config \ + )" + ) diff --git a/meta-openembedded/meta-oe/recipes-extended/wxwidgets/wxwidgets/respect-DESTDIR-when-create-link.patch b/meta-openembedded/meta-oe/recipes-extended/wxwidgets/wxwidgets/respect-DESTDIR-when-create-link.patch new file mode 100644 index 0000000000..69be32928c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/wxwidgets/wxwidgets/respect-DESTDIR-when-create-link.patch @@ -0,0 +1,55 @@ +There are errors during do install. So link files 'wx-config' and 'wxrc' are +not created, and rename failed either: + +| CMake Error: failed to create symbolic link '/usr/bin/wx-config': Permission denied +| Error renaming from "/usr/bin/wxrc" to "/usr/bin/wxrc-3.1": No such file or directory +| CMake Error: failed to create symbolic link '/usr/bin/wxrc': Permission denied + +Respect variable 'DESTDIR' to make it work as expect. + +Upstream-Status: Pending + +Signed-off-by: Kai Kang <kai.kang@windriver.com> +--- + build/cmake/install.cmake | 4 ++-- + build/cmake/utils/CMakeLists.txt | 8 ++++---- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/build/cmake/install.cmake b/build/cmake/install.cmake +index c850c51844..5cbc67daa1 100644 +--- a/build/cmake/install.cmake ++++ b/build/cmake/install.cmake +@@ -46,8 +46,8 @@ else() + install(DIRECTORY DESTINATION "bin") + install(CODE "execute_process( \ + COMMAND ${CMAKE_COMMAND} -E create_symlink \ +- ${CMAKE_INSTALL_PREFIX}/lib${wxPLATFORM_LIB_DIR}/wx/config/${wxBUILD_FILE_ID} \ +- ${CMAKE_INSTALL_PREFIX}/bin/wx-config \ ++ ../lib${wxPLATFORM_LIB_DIR}/wx/config/${wxBUILD_FILE_ID} \ ++ \$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/wx-config \ + )" + ) + endif() +diff --git a/build/cmake/utils/CMakeLists.txt b/build/cmake/utils/CMakeLists.txt +index 4108d6a723..fbac6bb533 100644 +--- a/build/cmake/utils/CMakeLists.txt ++++ b/build/cmake/utils/CMakeLists.txt +@@ -34,14 +34,14 @@ if(wxUSE_XRC) + if(NOT MSVC) + install(CODE "execute_process( \ + COMMAND ${CMAKE_COMMAND} -E rename \ +- ${CMAKE_INSTALL_PREFIX}/bin/wxrc${EXE_SUFFIX} \ +- ${CMAKE_INSTALL_PREFIX}/bin/wxrc-${wxMAJOR_VERSION}.${wxMINOR_VERSION}${EXE_SUFFIX} \ ++ \$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/wxrc${EXE_SUFFIX} \ ++ \$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/wxrc-${wxMAJOR_VERSION}.${wxMINOR_VERSION}${EXE_SUFFIX} \ + )" + ) + install(CODE "execute_process( \ + COMMAND ${CMAKE_COMMAND} -E create_symlink \ +- ${CMAKE_INSTALL_PREFIX}/bin/wxrc-${wxMAJOR_VERSION}.${wxMINOR_VERSION}${EXE_SUFFIX} \ +- ${CMAKE_INSTALL_PREFIX}/bin/wxrc${EXE_SUFFIX} \ ++ wxrc-${wxMAJOR_VERSION}.${wxMINOR_VERSION}${EXE_SUFFIX} \ ++ \$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/wxrc${EXE_SUFFIX} \ + )" + ) + endif() diff --git a/meta-openembedded/meta-oe/recipes-extended/wxwidgets/wxwidgets_git.bb b/meta-openembedded/meta-oe/recipes-extended/wxwidgets/wxwidgets_git.bb index 404ab2605b..b4420a18ea 100644 --- a/meta-openembedded/meta-oe/recipes-extended/wxwidgets/wxwidgets_git.bb +++ b/meta-openembedded/meta-oe/recipes-extended/wxwidgets/wxwidgets_git.bb @@ -24,6 +24,8 @@ DEPENDS += " \ SRC_URI = " \ git://github.com/wxWidgets/wxWidgets.git;branch=master;protocol=https \ file://0001-wx-config.in-Disable-cross-magic-it-does-not-work-fo.patch \ + file://fix-libdir-for-multilib.patch \ + file://respect-DESTDIR-when-create-link.patch \ " PV = "3.1.4" SRCREV= "6cdaedd42ba59331b3dc4ead50e0bac76ae14c19" @@ -37,6 +39,7 @@ EXTRA_OECMAKE += " \ -DwxUSE_LIBPNG=sys \ -DwxUSE_LIBTIFF=sys \ -DwxUSE_REGEX=builtin \ + -DwxPLATFORM_LIB_DIR=${@d.getVar('baselib').replace('lib', '')} \ " EXTRA_OECMAKE:append:libc-musl = " \ -DHAVE_LOCALE_T=OFF \ @@ -101,4 +104,7 @@ FILES:${PN} += " \ ${libdir}/wx/ \ " -FILES:${PN}-dev += "${libdir}/wx/include/" +FILES:${PN}-dev += " \ + ${libdir}/wx/include/ \ + ${libdir}/wx/config/ \ +" |