wpewebkit.mk 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. ################################################################################
  2. #
  3. # wpewebkit
  4. #
  5. ################################################################################
  6. # The middle number is even for stable releases, odd for development ones.
  7. WPEWEBKIT_VERSION = 2.44.4
  8. WPEWEBKIT_SITE = https://wpewebkit.org/releases
  9. WPEWEBKIT_SOURCE = wpewebkit-$(WPEWEBKIT_VERSION).tar.xz
  10. WPEWEBKIT_INSTALL_STAGING = YES
  11. WPEWEBKIT_LICENSE = LGPL-2.1+, BSD-2-Clause
  12. WPEWEBKIT_LICENSE_FILES = \
  13. Source/WebCore/LICENSE-APPLE \
  14. Source/WebCore/LICENSE-LGPL-2.1
  15. WPEWEBKIT_CPE_ID_VENDOR = wpewebkit
  16. WPEWEBKIT_CPE_ID_PRODUCT = wpe_webkit
  17. WPEWEBKIT_DEPENDENCIES = host-gperf host-python3 host-ruby host-unifdef \
  18. harfbuzz cairo icu jpeg libepoxy libgcrypt libgles libsoup3 libtasn1 \
  19. libpng libxslt wayland-protocols webp wpebackend-fdo
  20. WPEWEBKIT_CMAKE_BACKEND = ninja
  21. WPEWEBKIT_CONF_OPTS = \
  22. -DPORT=WPE \
  23. -DENABLE_API_TESTS=OFF \
  24. -DENABLE_DOCUMENTATION=OFF \
  25. -DENABLE_INTROSPECTION=OFF \
  26. -DENABLE_MINIBROWSER=OFF \
  27. -DENABLE_WEB_RTC=OFF \
  28. -DUSE_ATK=OFF \
  29. -DUSE_AVIF=OFF
  30. ifeq ($(BR2_PACKAGE_WPEWEBKIT_SANDBOX),y)
  31. WPEWEBKIT_CONF_OPTS += \
  32. -DENABLE_BUBBLEWRAP_SANDBOX=ON \
  33. -DBWRAP_EXECUTABLE=/usr/bin/bwrap \
  34. -DDBUS_PROXY_EXECUTABLE=/usr/bin/xdg-dbus-proxy
  35. WPEWEBKIT_DEPENDENCIES += libseccomp
  36. else
  37. WPEWEBKIT_CONF_OPTS += -DENABLE_BUBBLEWRAP_SANDBOX=OFF
  38. endif
  39. ifeq ($(BR2_PACKAGE_WPEWEBKIT_MULTIMEDIA),y)
  40. WPEWEBKIT_CONF_OPTS += \
  41. -DENABLE_VIDEO=ON \
  42. -DENABLE_WEB_AUDIO=ON \
  43. -DENABLE_WEB_CODECS=ON
  44. WPEWEBKIT_DEPENDENCIES += gstreamer1 gst1-libav gst1-plugins-base
  45. else
  46. WPEWEBKIT_CONF_OPTS += \
  47. -DENABLE_VIDEO=OFF \
  48. -DENABLE_WEB_AUDIO=OFF \
  49. -DENABLE_WEB_CODECS=OFF
  50. endif
  51. ifeq ($(BR2_PACKAGE_WPEWEBKIT_MEDIA_STREAM),y)
  52. WPEWEBKIT_CONF_OPTS += -DENABLE_MEDIA_STREAM=ON
  53. WPEWEBKIT_DEPENDENCIES += gst1-plugins-bad
  54. else
  55. WPEWEBKIT_CONF_OPTS += -DENABLE_MEDIA_STREAM=OFF
  56. endif
  57. ifeq ($(BR2_PACKAGE_WPEWEBKIT_USE_GSTREAMER_GL),y)
  58. WPEWEBKIT_CONF_OPTS += -DUSE_GSTREAMER_GL=ON
  59. else
  60. WPEWEBKIT_CONF_OPTS += -DUSE_GSTREAMER_GL=OFF
  61. endif
  62. ifeq ($(BR2_PACKAGE_WPEWEBKIT_WEBDRIVER),y)
  63. WPEWEBKIT_CONF_OPTS += -DENABLE_WEBDRIVER=ON
  64. else
  65. WPEWEBKIT_CONF_OPTS += -DENABLE_WEBDRIVER=OFF
  66. endif
  67. ifeq ($(BR2_PACKAGE_LCMS2),y)
  68. WPEWEBKIT_CONF_OPTS += -DUSE_LCMS=ON
  69. WPEWEBKIT_DEPENDENCIES += lcms2
  70. else
  71. WPEWEBKIT_CONF_OPTS += -DUSE_LCMS=OFF
  72. endif
  73. ifeq ($(BR2_PACKAGE_LIBBACKTRACE),y)
  74. WPEWEBKIT_CONF_OPTS += -DUSE_LIBBACKTRACE=ON
  75. WPEWEBKIT_DEPENDENCIES += libbacktrace
  76. else
  77. WPEWEBKIT_CONF_OPTS += -DUSE_LIBBACKTRACE=OFF
  78. endif
  79. ifeq ($(BR2_PACKAGE_LIBDRM),y)
  80. WPEWEBKIT_CONF_OPTS += -DUSE_LIBDRM=ON
  81. WPEWEBKIT_DEPENDENCIES += libdrm
  82. else
  83. WPEWEBKIT_CONF_OPTS += -DUSE_LIBDRM=OFF
  84. endif
  85. ifeq ($(BR2_PACKAGE_WOFF2),y)
  86. WPEWEBKIT_CONF_OPTS += -DUSE_WOFF2=ON
  87. WPEWEBKIT_DEPENDENCIES += woff2
  88. else
  89. WPEWEBKIT_CONF_OPTS += -DUSE_WOFF2=OFF
  90. endif
  91. ifeq ($(BR2_PACKAGE_LIBJXL),y)
  92. WPEWEBKIT_CONF_OPTS += -DUSE_JPEGXL=ON
  93. WPEWEBKIT_DEPENDENCIES += libjxl
  94. else
  95. WPEWEBKIT_CONF_OPTS += -DUSE_JPEGXL=OFF
  96. endif
  97. ifeq ($(BR2_INIT_SYSTEMD),y)
  98. WPEWEBKIT_CONF_OPTS += -DENABLE_JOURNALD_LOG=ON
  99. WPEWEBKIT_DEPENDENCIES += systemd
  100. else
  101. WPEWEBKIT_CONF_OPTS += -DENABLE_JOURNALD_LOG=OFF
  102. endif
  103. ifeq ($(BR2_PACKAGE_HAS_LIBGBM),y)
  104. WPEWEBKIT_CONF_OPTS += -DUSE_GBM=ON
  105. WPEWEBKIT_DEPENDENCIES += libgbm
  106. else
  107. WPEWEBKIT_CONF_OPTS += -DUSE_GBM=OFF
  108. endif
  109. # JIT is not supported for MIPS r6, but the WebKit build system does not
  110. # have a check for these processors. The same goes for ARMv5 and ARMv6.
  111. # Disable JIT forcibly here and use the CLoop interpreter instead.
  112. #
  113. # Also, we have to disable the sampling profiler and WebAssembly, which
  114. # do NOT work with ENABLE_C_LOOP.
  115. #
  116. # Upstream bugs: https://bugs.webkit.org/show_bug.cgi?id=191258
  117. # https://bugs.webkit.org/show_bug.cgi?id=172765
  118. # https://bugs.webkit.org/show_bug.cgi?id=265218
  119. #
  120. ifeq ($(BR2_ARM_CPU_ARMV5)$(BR2_ARM_CPU_ARMV6)$(BR2_MIPS_CPU_MIPS32R6)$(BR2_MIPS_CPU_MIPS64R6),y)
  121. WPEWEBKIT_CONF_OPTS += \
  122. -DENABLE_JIT=OFF \
  123. -DENABLE_C_LOOP=ON \
  124. -DENABLE_SAMPLING_PROFILER=OFF \
  125. -DENABLE_WEBASSEMBLY=OFF
  126. endif
  127. $(eval $(cmake-package))