similarity index 100%
rename from dynamic-layers/openembedded-layers/recipes-devtools/abseil-cpp/abseil-cpp_%.bbappend
rename to dynamic-layers/openembedded-layer/recipes-devtools/abseil-cpp/abseil-cpp_%.bbappend
new file mode 100644
@@ -0,0 +1 @@
+EXTRA_OECMAKE:remove:mingw32 = "-DBUILD_SHARED_LIBS=ON"
similarity index 100%
rename from dynamic-layers/openembedded-layers/recipes-devtools/protobuf-c/protobuf-c_%.bbappend
rename to dynamic-layers/openembedded-layer/recipes-devtools/protobuf-c/protobuf-c_%.bbappend
new file mode 100644
@@ -0,0 +1,43 @@
+From 321bfa7806f709ef6ab42a1c23aa1a44773ef5c2 Mon Sep 17 00:00:00 2001
+From: Samuli Piippo <samuli.piippo@qt.io>
+Date: Wed, 4 Jun 2025 07:07:42 +0000
+Subject: [PATCH] Disable musttail for mingw
+
+Workaround for GCC 15 build issue with mingw:
+
+In static member function 'static const char* google::protobuf::internal::TcParser::MiniParse(google::protobuf::MessageLite*, const char*, google::protobuf::internal::ParseContext*, google::protobuf::internal::TcFieldData, const google:
+:protobuf::internal::TcParseTableBase*, uint64_t) [with bool export_called_function = false]',
+ inlined from 'static const char* google::protobuf::internal::TcParser::MiniParse(google::protobuf::MessageLite*, const char*, google::protobuf::internal::ParseContext*, google::protobuf::internal::TcFieldData, const google::protobuf
+::internal::TcParseTableBase*, uint64_t)' at src/google/protobuf/generated_message_tctable_lite.cc:323:44:
+src/google/protobuf/generated_message_tctable_lite.cc:256:37: error: cannot tail-call: callee required more stack slots than the caller
+ 256 | PROTOBUF_MUSTTAIL return table->fallback(PROTOBUF_TC_PARAM_PASS);
+ | ~~~~~~~^~~~~~~~
+src/google/protobuf/generated_message_tctable_lite.cc:318:36: error: cannot tail-call: callee required more stack slots than the caller
+ 318 | PROTOBUF_MUSTTAIL return parse_fn(PROTOBUF_TC_PARAM_PASS);
+ | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
+
+https://github.com/protocolbuffers/protobuf/issues/21625
+
+Upstream-Status: Pending
+---
+ src/google/protobuf/port_def.inc | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc
+index 56f995e45e..bc7a01e534 100644
+--- a/src/google/protobuf/port_def.inc
++++ b/src/google/protobuf/port_def.inc
+@@ -228,11 +228,12 @@ static_assert(PROTOBUF_ABSL_MIN(20230125, 3),
+ #endif
+ #if ABSL_HAVE_CPP_ATTRIBUTE(clang::musttail) && !defined(__arm__) && \
+ !defined(_ARCH_PPC) && !defined(__wasm__) && \
+- !(defined(_MSC_VER) && defined(_M_IX86)) && !defined(__i386__)
++ !(defined(_MSC_VER) && defined(_M_IX86)) && !defined(__i386__) && !defined(__MINGW32__)
+ // Compilation fails on ARM32: b/195943306
+ // Compilation fails on powerpc64le: b/187985113
+ // Compilation fails on X86 Windows:
+ // https://github.com/llvm/llvm-project/issues/53271
++// Compilation fails on MINGW: https://github.com/protocolbuffers/protobuf/issues/21625
+ #define PROTOBUF_MUSTTAIL [[clang::musttail]]
+ #define PROTOBUF_TAILCALL true
+ #else
new file mode 100644
@@ -0,0 +1,4 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
+SRC_URI:append:mingw32 = " file://0001-Disable-musttail-for-mingw.patch"
+
+EXTRA_OECMAKE:remove:mingw32 = "-Dprotobuf_BUILD_SHARED_LIBS=ON"
new file mode 100644
@@ -0,0 +1 @@
+EXTRA_OECMAKE:append:mingw32 = " -DCARES_SHARED=OFF"
similarity index 100%
rename from dynamic-layers/openembedded-layers/recipes-devtools/grpc/grpc_%.bbappend
rename to dynamic-layers/openembedded-layer/recipes-support/re2/re2_%.bbappend
deleted file mode 100644
@@ -1 +0,0 @@
-EXTRA_OECONF:append:mingw32 = " --disable-shared"
deleted file mode 100644
@@ -1,2 +0,0 @@
-EXTRA_OECMAKE:append:mingw32 = "-DCARES_SHARED=OFF"
-EXTRA_OECMAKE:append:mingw32 = "-DCARES_STATIC=ON"
deleted file mode 100644
@@ -1,2 +0,0 @@
-EXTRA_OECMAKE:remove:mingw32 = "-DBUILD_SHARED_LIBS=ON"
-EXTRA_OECMAKE:append:mingw32 = "-DBUILD_SHARED_LIBS=OFF"
Due to typo in the folder name, the bbappends in dynamic-layers for meta-openembedded were never actually used. Update all bbappends to work against latest recipes and patch protobuf to work with GCC 15. Signed-off-by: Samuli Piippo <samuli.piippo@qt.io> --- .../abseil-cpp/abseil-cpp_%.bbappend | 0 .../recipes-devtools/grpc/grpc_%.bbappend | 1 + .../protobuf-c/protobuf-c_%.bbappend | 0 .../0001-Disable-musttail-for-mingw.patch | 43 +++++++++++++++++++ .../protobuf/protobuf_%.bbappend | 4 ++ .../recipes-support/c-ares/c-ares_%.bbappend | 1 + .../recipes-support/re2/re2_%.bbappend} | 0 .../protobuf/protobuf_%.bbappend | 1 - .../recipes-support/c-ares/c-ares_%.bbappend | 2 - .../recipes-support/re2/re2_%.bbappend | 2 - 10 files changed, 49 insertions(+), 5 deletions(-) rename dynamic-layers/{openembedded-layers => openembedded-layer}/recipes-devtools/abseil-cpp/abseil-cpp_%.bbappend (100%) create mode 100644 dynamic-layers/openembedded-layer/recipes-devtools/grpc/grpc_%.bbappend rename dynamic-layers/{openembedded-layers => openembedded-layer}/recipes-devtools/protobuf-c/protobuf-c_%.bbappend (100%) create mode 100644 dynamic-layers/openembedded-layer/recipes-devtools/protobuf/protobuf/0001-Disable-musttail-for-mingw.patch create mode 100644 dynamic-layers/openembedded-layer/recipes-devtools/protobuf/protobuf_%.bbappend create mode 100644 dynamic-layers/openembedded-layer/recipes-support/c-ares/c-ares_%.bbappend rename dynamic-layers/{openembedded-layers/recipes-devtools/grpc/grpc_%.bbappend => openembedded-layer/recipes-support/re2/re2_%.bbappend} (100%) delete mode 100644 dynamic-layers/openembedded-layers/recipes-devtools/protobuf/protobuf_%.bbappend delete mode 100644 dynamic-layers/openembedded-layers/recipes-support/c-ares/c-ares_%.bbappend delete mode 100644 dynamic-layers/openembedded-layers/recipes-support/re2/re2_%.bbappend