webkitgtk.mk 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. ################################################################################
  2. #
  3. # webkitgtk
  4. #
  5. ################################################################################
  6. WEBKITGTK_VERSION = 2.44.2
  7. WEBKITGTK_SITE = https://www.webkitgtk.org/releases
  8. WEBKITGTK_SOURCE = webkitgtk-$(WEBKITGTK_VERSION).tar.xz
  9. WEBKITGTK_INSTALL_STAGING = YES
  10. WEBKITGTK_LICENSE = LGPL-2.1+, BSD-2-Clause
  11. WEBKITGTK_LICENSE_FILES = \
  12. Source/WebCore/LICENSE-APPLE \
  13. Source/WebCore/LICENSE-LGPL-2.1
  14. WEBKITGTK_CPE_ID_VENDOR = webkitgtk
  15. WEBKITGTK_DEPENDENCIES = host-ruby host-python3 host-gperf host-unifdef \
  16. enchant harfbuzz icu jpeg libegl libepoxy libgcrypt libgtk3 libsecret \
  17. libsoup3 libtasn1 libxml2 libxslt sqlite webp woff2
  18. WEBKITGTK_CMAKE_BACKEND = ninja
  19. WEBKITGTK_CONF_OPTS = \
  20. -DENABLE_API_TESTS=OFF \
  21. -DENABLE_DOCUMENTATION=OFF \
  22. -DENABLE_GEOLOCATION=OFF \
  23. -DENABLE_MINIBROWSER=ON \
  24. -DENABLE_SPELLCHECK=ON \
  25. -DENABLE_WEB_RTC=OFF \
  26. -DPORT=GTK \
  27. -DUSE_AVIF=OFF \
  28. -DUSE_GTK4=OFF \
  29. -DUSE_LIBHYPHEN=OFF \
  30. -DUSE_WOFF2=ON
  31. ifeq ($(BR2_PACKAGE_WEBKITGTK_SANDBOX),y)
  32. WEBKITGTK_CONF_OPTS += \
  33. -DENABLE_BUBBLEWRAP_SANDBOX=ON \
  34. -DBWRAP_EXECUTABLE=/usr/bin/bwrap \
  35. -DDBUS_PROXY_EXECUTABLE=/usr/bin/xdg-dbus-proxy
  36. WEBKITGTK_DEPENDENCIES += libseccomp
  37. else
  38. WEBKITGTK_CONF_OPTS += -DENABLE_BUBBLEWRAP_SANDBOX=OFF
  39. endif
  40. ifeq ($(BR2_PACKAGE_WEBKITGTK_MULTIMEDIA),y)
  41. WEBKITGTK_CONF_OPTS += \
  42. -DENABLE_VIDEO=ON \
  43. -DENABLE_WEB_AUDIO=ON \
  44. -DENABLE_WEB_CODECS=ON
  45. WEBKITGTK_DEPENDENCIES += gstreamer1 gst1-libav gst1-plugins-bad gst1-plugins-base
  46. else
  47. WEBKITGTK_CONF_OPTS += \
  48. -DENABLE_VIDEO=OFF \
  49. -DENABLE_WEB_AUDIO=OFF \
  50. -DENABLE_WEB_CODECS=OFF
  51. endif
  52. ifeq ($(BR2_PACKAGE_WEBKITGTK_WEBDRIVER),y)
  53. WEBKITGTK_CONF_OPTS += -DENABLE_WEBDRIVER=ON
  54. else
  55. WEBKITGTK_CONF_OPTS += -DENABLE_WEBDRIVER=OFF
  56. endif
  57. ifeq ($(BR2_PACKAGE_LCMS2),y)
  58. WEBKITGTK_CONF_OPTS += -DUSE_LCMS=ON
  59. WEBKITGTK_DEPENDENCIES += lcms2
  60. else
  61. WEBKITGTK_CONF_OPTS += -DUSE_LCMS=OFF
  62. endif
  63. ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y)
  64. WEBKITGTK_CONF_OPTS += -DENABLE_INTROSPECTION=ON
  65. WEBKITGTK_DEPENDENCIES += gobject-introspection
  66. else
  67. WEBKITGTK_CONF_OPTS += -DENABLE_INTROSPECTION=OFF
  68. endif
  69. ifeq ($(BR2_PACKAGE_LIBBACKTRACE),y)
  70. WEBKITGTK_CONF_OPTS += -DUSE_LIBBACKTRACE=ON
  71. WEBKITGTK_DEPENDENCIES += libbacktrace
  72. else
  73. WEBKITGTK_CONF_OPTS += -DUSE_LIBBACKTRACE=OFF
  74. endif
  75. ifeq ($(BR2_PACKAGE_LIBDRM),y)
  76. WEBKITGTK_CONF_OPTS += -DUSE_LIBDRM=ON
  77. WEBKITGTK_DEPENDENCIES += libdrm
  78. else
  79. WEBKITGTK_CONF_OPTS += -DUSE_LIBDRM=OFF
  80. endif
  81. ifeq ($(BR2_PACKAGE_LIBJXL),y)
  82. WEBKITGTK_CONF_OPTS += -DUSE_JPEGXL=ON
  83. WEBKITGTK_DEPENDENCIES += libjxl
  84. else
  85. WEBKITGTK_CONF_OPTS += -DUSE_JPEGXL=OFF
  86. endif
  87. ifeq ($(BR2_PACKAGE_LIBMANETTE),y)
  88. WEBKITGTK_CONF_OPTS += -DENABLE_GAMEPAD=ON
  89. WEBKITGTK_DEPENDENCIES += libmanette
  90. else
  91. WEBKITGTK_CONF_OPTS += -DENABLE_GAMEPAD=OFF
  92. endif
  93. ifeq ($(BR2_PACKAGE_HAS_LIBGBM),y)
  94. WEBKITGTK_CONF_OPTS += -DUSE_GBM=ON
  95. WEBKITGTK_DEPENDENCIES += libgbm
  96. else
  97. WEBKITGTK_CONF_OPTS += -DUSE_GBM=OFF
  98. endif
  99. ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y)
  100. WEBKITGTK_CONF_OPTS += -DENABLE_X11_TARGET=ON
  101. WEBKITGTK_DEPENDENCIES += libgl \
  102. xlib_libXcomposite xlib_libXdamage xlib_libXrender xlib_libXt
  103. else
  104. WEBKITGTK_CONF_OPTS += -DENABLE_X11_TARGET=OFF
  105. endif
  106. ifeq ($(BR2_PACKAGE_LIBGTK3_WAYLAND),y)
  107. WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=ON
  108. else
  109. WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=OFF
  110. endif
  111. ifeq ($(BR2_PACKAGE_WEBKITGTK_USE_GSTREAMER_GL),y)
  112. WEBKITGTK_CONF_OPTS += -DUSE_GSTREAMER_GL=ON
  113. else
  114. WEBKITGTK_CONF_OPTS += -DUSE_GSTREAMER_GL=OFF
  115. endif
  116. ifeq ($(BR2_INIT_SYSTEMD),y)
  117. WEBKITGTK_CONF_OPTS += -DENABLE_JOURNALD_LOG=ON
  118. WEBKITGTK_DEPENDENCIES += systemd
  119. else
  120. WEBKITGTK_CONF_OPTS += -DENABLE_JOURNALD_LOG=OFF
  121. endif
  122. # JIT is not supported for MIPS r6, but the WebKit build system does not
  123. # have a check for these processors. The same goes for ARMv5 and ARMv6.
  124. # Disable JIT forcibly here and use the CLoop interpreter instead.
  125. #
  126. # Also, we have to disable the sampling profiler and webassembly,
  127. # which does NOT work with ENABLE_C_LOOP.
  128. #
  129. # Upstream bugs: https://bugs.webkit.org/show_bug.cgi?id=191258
  130. # https://bugs.webkit.org/show_bug.cgi?id=172765
  131. # https://bugs.webkit.org/show_bug.cgi?id=265218
  132. #
  133. ifeq ($(BR2_ARM_CPU_ARMV5)$(BR2_ARM_CPU_ARMV6)$(BR2_MIPS_CPU_MIPS32R6)$(BR2_MIPS_CPU_MIPS64R6),y)
  134. WEBKITGTK_CONF_OPTS += -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON \
  135. -DENABLE_SAMPLING_PROFILER=OFF \
  136. -DENABLE_WEBASSEMBLY=OFF
  137. endif
  138. $(eval $(cmake-package))