2
1

qt5webengine.mk 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. ################################################################################
  2. #
  3. # qt5webengine
  4. #
  5. ################################################################################
  6. QT5WEBENGINE_VERSION = $(QT5_VERSION)
  7. QT5WEBENGINE_SITE = $(QT5_SITE)
  8. QT5WEBENGINE_SOURCE = qtwebengine-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5WEBENGINE_VERSION).tar.xz
  9. QT5WEBENGINE_DEPENDENCIES = ffmpeg libglib2 libvpx opus webp qt5base \
  10. qt5declarative qt5webchannel host-bison host-flex host-gperf \
  11. host-pkgconf host-python
  12. QT5WEBENGINE_INSTALL_STAGING = YES
  13. include package/qt5/qt5webengine/chromium-latest.inc
  14. QT5WEBENGINE_LICENSE = GPL-2.0 or LGPL-3.0 or GPL-3.0 or GPL-3.0 with exception
  15. QT5WEBENGINE_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT \
  16. LICENSE.GPLv3 LICENSE.LGPL3 $(QT5WEBENGINE_CHROMIUM_LICENSE_FILES)
  17. ifeq ($(BR2_PACKAGE_QT5BASE_XCB),y)
  18. QT5WEBENGINE_DEPENDENCIES += xlib_libXScrnSaver xlib_libXcomposite \
  19. xlib_libXcursor xlib_libXi xlib_libXrandr xlib_libXtst
  20. endif
  21. QT5WEBENGINE_DEPENDENCIES += host-libpng host-libnss libnss
  22. QT5WEBENGINE_QMAKEFLAGS += WEBENGINE_CONFIG+=use_system_ffmpeg
  23. ifeq ($(BR2_PACKAGE_QT5WEBENGINE_PROPRIETARY_CODECS),y)
  24. QT5WEBENGINE_QMAKEFLAGS += WEBENGINE_CONFIG+=use_proprietary_codecs
  25. endif
  26. ifeq ($(BR2_PACKAGE_QT5WEBENGINE_ALSA),y)
  27. QT5WEBENGINE_DEPENDENCIES += alsa-lib
  28. else
  29. QT5WEBENGINE_QMAKEFLAGS += QT_CONFIG-=alsa
  30. endif
  31. # QtWebengine's build system uses python, but only supports python2. We work
  32. # around this by forcing python2 early in the PATH, via a python->python2
  33. # symlink.
  34. QT5WEBENGINE_ENV = PATH=$(@D)/host-bin:$(BR_PATH)
  35. define QT5WEBENGINE_PYTHON2_SYMLINK
  36. mkdir -p $(@D)/host-bin
  37. ln -sf $(HOST_DIR)/bin/python2 $(@D)/host-bin/python
  38. endef
  39. QT5WEBENGINE_PRE_CONFIGURE_HOOKS += QT5WEBENGINE_PYTHON2_SYMLINK
  40. QT5WEBENGINE_ENV += NINJAFLAGS="-j$(PARALLEL_JOBS)"
  41. define QT5WEBENGINE_CREATE_HOST_PKG_CONFIG
  42. sed s%@HOST_DIR@%$(HOST_DIR)%g $(QT5WEBENGINE_PKGDIR)/host-pkg-config.in > $(@D)/host-bin/host-pkg-config
  43. chmod +x $(@D)/host-bin/host-pkg-config
  44. endef
  45. QT5WEBENGINE_PRE_CONFIGURE_HOOKS += QT5WEBENGINE_CREATE_HOST_PKG_CONFIG
  46. QT5WEBENGINE_ENV += GN_PKG_CONFIG_HOST=$(@D)/host-bin/host-pkg-config
  47. define QT5WEBENGINE_CONFIGURE_CMDS
  48. (cd $(@D); $(TARGET_MAKE_ENV) $(QT5WEBENGINE_ENV) $(HOST_DIR)/bin/qmake $(QT5WEBENGINE_QMAKEFLAGS))
  49. endef
  50. define QT5WEBENGINE_BUILD_CMDS
  51. $(TARGET_MAKE_ENV) $(QT5WEBENGINE_ENV) $(MAKE) -C $(@D)
  52. endef
  53. define QT5WEBENGINE_INSTALL_STAGING_CMDS
  54. $(TARGET_MAKE_ENV) $(QT5WEBENGINE_ENV) $(MAKE) -C $(@D) install
  55. endef
  56. define QT5WEBENGINE_INSTALL_TARGET_QMLS
  57. cp -dpfr $(STAGING_DIR)/usr/qml/QtWebEngine $(TARGET_DIR)/usr/qml/
  58. endef
  59. ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
  60. define QT5WEBENGINE_INSTALL_TARGET_EXAMPLES
  61. cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/webengine* $(TARGET_DIR)/usr/lib/qt/examples/
  62. endef
  63. endif
  64. ifneq ($(BR2_STATIC_LIBS),y)
  65. define QT5WEBENGINE_INSTALL_TARGET_LIBS
  66. cp -dpf $(STAGING_DIR)/usr/lib/libQt5WebEngine*.so.* $(TARGET_DIR)/usr/lib
  67. cp -dpf $(STAGING_DIR)/usr/libexec/QtWebEngineProcess $(TARGET_DIR)/usr/libexec/
  68. cp -dpfr $(STAGING_DIR)/usr/resources/ $(TARGET_DIR)/usr/
  69. mkdir -p $(TARGET_DIR)/usr/translations/
  70. cp -dpfr $(STAGING_DIR)/usr/translations/qtwebengine_locales $(TARGET_DIR)/usr/translations/
  71. endef
  72. endif
  73. define QT5WEBENGINE_INSTALL_TARGET_CMDS
  74. $(QT5WEBENGINE_INSTALL_TARGET_LIBS)
  75. $(QT5WEBENGINE_INSTALL_TARGET_QMLS)
  76. $(QT5WEBENGINE_INSTALL_TARGET_EXAMPLES)
  77. endef
  78. $(eval $(generic-package))