Skip to content

Commit

Permalink
[WPE][Tools] cross-toolchain-helper: add libbacktrace, libportal and …
Browse files Browse the repository at this point in the history
…change CPU frequency governor for RPis

https://bugs.webkit.org/show_bug.cgi?id=266353

Reviewed by Philippe Normand.

This updates the Yocto layers used for the RPi build with the following major changes:

 - meta-webkit: include libbacktrace and libportal into the base build.
   libbacktrace is required by the default build of WPE now and libportal is required by Cog since bug 266351

 - meta-raspberrypi: stop setting "powersave" as the default CPU frequency governor and use
   "schedutil" instead. This will likely mean a big change in the performance results of all tests.
   See agherzan/meta-raspberrypi#1243 for context.

 - poky, meta-openembedded: just update to the last version of the Mickledore branch

 - backport a change landed in meta-openembedded master to the Mickledore branch that
   updates libbacktrace to allow building it on riscv64.

* Tools/yocto/meta-openembedded_backport-libbacktrace-patch-to-mickledore-branch.patch: Added.
* Tools/yocto/riscv/manifest.xml:
* Tools/yocto/rpi/manifest.xml:
* Tools/yocto/targets.conf:

Canonical link: https://commits.webkit.org/272030@main
  • Loading branch information
clopez committed Dec 14, 2023
1 parent fb5c6b1 commit aeda796
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 8 deletions.
@@ -0,0 +1,28 @@
diff --git a/sources/meta-openembedded/meta-oe/recipes-extended/libbacktrace/libbacktrace_git.bb b/sources/meta-openembedded/meta-oe/recipes-extended/libbacktrace/libbacktrace_git.bb
index 609e55f4a..46fa81866 100644
--- a/sources/meta-openembedded/meta-oe/recipes-extended/libbacktrace/libbacktrace_git.bb
+++ b/sources/meta-openembedded/meta-oe/recipes-extended/libbacktrace/libbacktrace_git.bb
@@ -11,20 +11,17 @@ DEPENDS += "libunwind"
SRC_URI = "git://github.com/ianlancetaylor/libbacktrace;protocol=https;branch=master"

PV = "1.0+git${SRCPV}"
-SRCREV = "4f57c999716847e45505b3df170150876b545088"
+SRCREV = "9ae4f4ae4481b1e69d38ed810980d33103544613"

S = "${WORKDIR}/git"

inherit autotools

-EXTR_OECONF += "--with-system-libunwind"
-
-CFLAGS += "-fPIC"
+EXTRA_OECONF += "--with-system-libunwind --enable-shared --disable-static"

do_configure() {
oe_runconf
}

-# libunwind does not support RISCV yet
-COMPATIBLE_HOST:riscv64 = "null"
+# libunwind does not support RISCV32 yet
COMPATIBLE_HOST:riscv32 = "null"
8 changes: 4 additions & 4 deletions Tools/yocto/riscv/manifest.xml
Expand Up @@ -8,9 +8,9 @@

<!-- Yocto version: mickledore -->

<project remote="yocto" revision="5f453b96a67acfefbabef9680a02c3763b1ac3dd" name="poky" path="sources/poky"/>
<project remote="github" revision="d71a08b3d8fc69d3213c10885af9cc693056a8bd" name="openembedded/meta-openembedded" path="sources/meta-openembedded"/>
<project remote="github" revision="6efab161f76e2548780fc2a6dc97e8b20aeba7b6" name="riscv/meta-riscv" path="sources/meta-riscv"/>
<project remote="github" revision="26f728f6c62c61c9656b8865309fa267d6f8b70b" name="Igalia/meta-webkit.git" path="sources/meta-webkit"/>
<project remote="yocto" revision="7235399a86b134e57d5eb783d7f1f57ca0439ae5" name="poky" path="sources/poky"/>
<project remote="github" revision="f29290563cb821fae95340ba959749641c69ed7f" name="openembedded/meta-openembedded" path="sources/meta-openembedded"/>
<project remote="github" revision="84924c3b4a794f5a11be8e39e99c970aa96c05be" name="riscv/meta-riscv" path="sources/meta-riscv"/>
<project remote="github" revision="d14b0311f852651a0b0a48c4bc5be7cdde7ab2af" name="Igalia/meta-webkit.git" path="sources/meta-webkit"/>

</manifest>
8 changes: 4 additions & 4 deletions Tools/yocto/rpi/manifest.xml
Expand Up @@ -8,9 +8,9 @@

<!-- Yocto version: mickledore -->

<project remote="yocto" revision="5f453b96a67acfefbabef9680a02c3763b1ac3dd" name="poky" path="sources/poky"/>
<project remote="github" revision="d71a08b3d8fc69d3213c10885af9cc693056a8bd" name="openembedded/meta-openembedded" path="sources/meta-openembedded"/>
<project remote="yocto" revision="aa0aed9a08d6578a18c4eeb3b44ed8354a57ebee" name="meta-raspberrypi" path="sources/meta-raspberrypi"/>
<project remote="github" revision="26f728f6c62c61c9656b8865309fa267d6f8b70b" name="Igalia/meta-webkit.git" path="sources/meta-webkit"/>
<project remote="yocto" revision="7235399a86b134e57d5eb783d7f1f57ca0439ae5" name="poky" path="sources/poky"/>
<project remote="github" revision="f29290563cb821fae95340ba959749641c69ed7f" name="openembedded/meta-openembedded" path="sources/meta-openembedded"/>
<project remote="yocto" revision="9c81413d0b6f41f14f0f9c504d19e312c5b9958f" name="meta-raspberrypi" path="sources/meta-raspberrypi"/>
<project remote="github" revision="d14b0311f852651a0b0a48c4bc5be7cdde7ab2af" name="Igalia/meta-webkit.git" path="sources/meta-webkit"/>

</manifest>
6 changes: 6 additions & 0 deletions Tools/yocto/targets.conf
Expand Up @@ -38,6 +38,7 @@ conf_bblayers_path = rpi/bblayers.conf
conf_local_path = rpi/local-rpi3-32bits-mesa.conf
image_basename = webkit-dev-ci-tools
image_types = tar.xz wic.xz wic.bmap
patch_file_path = meta-openembedded_backport-libbacktrace-patch-to-mickledore-branch.patch
environment[BUILD_WEBKIT_ARGS] = --no-fatal-warnings --cmakeargs="-DENABLE_WPE_QT_API=OFF -DENABLE_DOCUMENTATION=OFF -DENABLE_INTROSPECTION=OFF -DWPE_COG_PLATFORMS=drm,headless,wayland -DBWRAP_EXECUTABLE=/usr/bin/bwrap -DDBUS_PROXY_EXECUTABLE=/usr/bin/xdg-dbus-proxy"

[rpi3-32bits-userland]
Expand All @@ -46,6 +47,7 @@ conf_bblayers_path = rpi/bblayers.conf
conf_local_path = rpi/local-rpi3-32bits-userland.conf
image_basename = webkit-dev-ci-tools
image_types = tar.xz wic.xz wic.bmap
patch_file_path = meta-openembedded_backport-libbacktrace-patch-to-mickledore-branch.patch
# WTR and MiniBrowser require wpbackend-fdo, with wpbackend-rdk we can only build cog
environment[BUILD_WEBKIT_ARGS] = --no-fatal-warnings --cmakeargs="-DENABLE_WPE_QT_API=OFF -DENABLE_DOCUMENTATION=OFF -DENABLE_INTROSPECTION=OFF -DENABLE_MINIBROWSER=OFF -DENABLE_API_TESTS=OFF -DENABLE_LAYOUT_TESTS=OFF -DWPE_COG_PLATFORMS=none -DBWRAP_EXECUTABLE=/usr/bin/bwrap -DDBUS_PROXY_EXECUTABLE=/usr/bin/xdg-dbus-proxy"

Expand All @@ -55,6 +57,7 @@ conf_bblayers_path = rpi/bblayers.conf
conf_local_path = rpi/local-rpi4-32bits-mesa.conf
image_basename = webkit-dev-ci-tools
image_types = tar.xz wic.xz wic.bmap
patch_file_path = meta-openembedded_backport-libbacktrace-patch-to-mickledore-branch.patch
environment[BUILD_WEBKIT_ARGS] = --no-fatal-warnings --cmakeargs="-DENABLE_WPE_QT_API=OFF -DENABLE_DOCUMENTATION=OFF -DENABLE_INTROSPECTION=OFF -DWPE_COG_PLATFORMS=drm,headless,wayland -DBWRAP_EXECUTABLE=/usr/bin/bwrap -DDBUS_PROXY_EXECUTABLE=/usr/bin/xdg-dbus-proxy"

# ARM 64-bits targets (AArch64)
Expand All @@ -65,6 +68,7 @@ conf_bblayers_path = rpi/bblayers.conf
conf_local_path = rpi/local-rpi3-64bits-mesa.conf
image_basename = webkit-dev-ci-tools
image_types = tar.xz wic.xz wic.bmap
patch_file_path = meta-openembedded_backport-libbacktrace-patch-to-mickledore-branch.patch
environment[BUILD_WEBKIT_ARGS] = --no-fatal-warnings --cmakeargs="-DENABLE_WPE_QT_API=OFF -DENABLE_DOCUMENTATION=OFF -DENABLE_INTROSPECTION=OFF -DWPE_COG_PLATFORMS=drm,headless,wayland -DBWRAP_EXECUTABLE=/usr/bin/bwrap -DDBUS_PROXY_EXECUTABLE=/usr/bin/xdg-dbus-proxy"

[rpi4-64bits-mesa]
Expand All @@ -73,6 +77,7 @@ conf_bblayers_path = rpi/bblayers.conf
conf_local_path = rpi/local-rpi4-64bits-mesa.conf
image_basename = webkit-dev-ci-tools
image_types = tar.xz wic.xz wic.bmap
patch_file_path = meta-openembedded_backport-libbacktrace-patch-to-mickledore-branch.patch
environment[BUILD_WEBKIT_ARGS] = --no-fatal-warnings --cmakeargs="-DENABLE_WPE_QT_API=OFF -DENABLE_DOCUMENTATION=OFF -DENABLE_INTROSPECTION=OFF -DWPE_COG_PLATFORMS=drm,headless,wayland -DBWRAP_EXECUTABLE=/usr/bin/bwrap -DDBUS_PROXY_EXECUTABLE=/usr/bin/xdg-dbus-proxy"

[qemu-riscv64]
Expand All @@ -81,4 +86,5 @@ conf_bblayers_path = riscv/bblayers.conf
conf_local_path = riscv/local-qemu-riscv64.conf
image_basename = webkit-dev-ci-tools
image_types = tar.xz wic.xz wic.bmap
patch_file_path = meta-openembedded_backport-libbacktrace-patch-to-mickledore-branch.patch
environment[BUILD_WEBKIT_ARGS] = --no-fatal-warnings --cmakeargs="-DENABLE_WPE_QT_API=OFF -DENABLE_DOCUMENTATION=OFF -DENABLE_INTROSPECTION=OFF -DWPE_COG_PLATFORMS=drm,headless,wayland -DBWRAP_EXECUTABLE=/usr/bin/bwrap -DDBUS_PROXY_EXECUTABLE=/usr/bin/xdg-dbus-proxy"

0 comments on commit aeda796

Please sign in to comment.