mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-09-30 21:35:17 +00:00
abseil-cpp: fix mingw build
Add patch to fix mingw build of abseil-cpp undefined reference to `absl::lts_20230802::synchronization_internal::Win32Waiter::Poke()' undefined reference to `absl::lts_20230802::synchronization_internal::Win32Waiter::Win32Waiter()' undefined reference to `absl::lts_20230802::synchronization_internal::Win32Waiter::Post()' undefined reference to `absl::lts_20230802::synchronization_internal::Win32Waiter::Poke()' and include bindir to recipe sysroot to fix protobuf build. | The imported target "absl::log_severity" references the file | | "../nativesdk-protobuf/4.23.4/recipe-sysroot/usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-w64-mingw32/usr/bin/libabsl_log_severity.dll" | | but this file does not exist. Signed-off-by: Samuli Piippo <samuli.piippo@qt.io> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
parent
15df8b4e80
commit
ca4c5ab653
@ -0,0 +1,62 @@
|
|||||||
|
From cb7665f39e23e95e2466390c60ee5a410780a3ed Mon Sep 17 00:00:00 2001
|
||||||
|
From: Derek Mauro <dmauro@google.com>
|
||||||
|
Date: Wed, 8 Nov 2023 09:55:31 -0800
|
||||||
|
Subject: [PATCH] Avoid using both Win32Waiter and PthreadWaiter on MinGW, and
|
||||||
|
use StdcppWaiter instead.
|
||||||
|
|
||||||
|
There are various flavors of MinGW, some of which support pthread,
|
||||||
|
and some of which support Win32. Instead of figuring out which
|
||||||
|
platform is being used, just use the generic implementation.
|
||||||
|
|
||||||
|
PiperOrigin-RevId: 580565507
|
||||||
|
Change-Id: Ia85fd7496f1e6ebdeadb95202f0039e844826118
|
||||||
|
Upstream-Status: Backport
|
||||||
|
---
|
||||||
|
absl/synchronization/internal/pthread_waiter.h | 4 ++--
|
||||||
|
absl/synchronization/internal/win32_waiter.h | 6 ++++--
|
||||||
|
2 files changed, 6 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/absl/synchronization/internal/pthread_waiter.h b/absl/synchronization/internal/pthread_waiter.h
|
||||||
|
index 206aefa4..23db76ad 100644
|
||||||
|
--- a/absl/synchronization/internal/pthread_waiter.h
|
||||||
|
+++ b/absl/synchronization/internal/pthread_waiter.h
|
||||||
|
@@ -16,7 +16,7 @@
|
||||||
|
#ifndef ABSL_SYNCHRONIZATION_INTERNAL_PTHREAD_WAITER_H_
|
||||||
|
#define ABSL_SYNCHRONIZATION_INTERNAL_PTHREAD_WAITER_H_
|
||||||
|
|
||||||
|
-#ifndef _WIN32
|
||||||
|
+#if !defined(_WIN32) && !defined(__MINGW32__)
|
||||||
|
#include <pthread.h>
|
||||||
|
|
||||||
|
#include "absl/base/config.h"
|
||||||
|
@@ -55,6 +55,6 @@ class PthreadWaiter : public WaiterCrtp<PthreadWaiter> {
|
||||||
|
ABSL_NAMESPACE_END
|
||||||
|
} // namespace absl
|
||||||
|
|
||||||
|
-#endif // ndef _WIN32
|
||||||
|
+#endif // !defined(_WIN32) && !defined(__MINGW32__)
|
||||||
|
|
||||||
|
#endif // ABSL_SYNCHRONIZATION_INTERNAL_PTHREAD_WAITER_H_
|
||||||
|
diff --git a/absl/synchronization/internal/win32_waiter.h b/absl/synchronization/internal/win32_waiter.h
|
||||||
|
index 87eb617c..fdab264e 100644
|
||||||
|
--- a/absl/synchronization/internal/win32_waiter.h
|
||||||
|
+++ b/absl/synchronization/internal/win32_waiter.h
|
||||||
|
@@ -20,7 +20,8 @@
|
||||||
|
#include <sdkddkver.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#if defined(_WIN32) && _WIN32_WINNT >= _WIN32_WINNT_VISTA
|
||||||
|
+#if defined(_WIN32) && !defined(__MINGW32__) && \
|
||||||
|
+ _WIN32_WINNT >= _WIN32_WINNT_VISTA
|
||||||
|
|
||||||
|
#include "absl/base/config.h"
|
||||||
|
#include "absl/synchronization/internal/kernel_timeout.h"
|
||||||
|
@@ -65,6 +66,7 @@ class Win32Waiter : public WaiterCrtp<Win32Waiter> {
|
||||||
|
ABSL_NAMESPACE_END
|
||||||
|
} // namespace absl
|
||||||
|
|
||||||
|
-#endif // defined(_WIN32) && _WIN32_WINNT >= _WIN32_WINNT_VISTA
|
||||||
|
+#endif // defined(_WIN32) && !defined(__MINGW32__) &&
|
||||||
|
+ // _WIN32_WINNT >= _WIN32_WINNT_VISTA
|
||||||
|
|
||||||
|
#endif // ABSL_SYNCHRONIZATION_INTERNAL_WIN32_WAITER_H_
|
||||||
@ -15,6 +15,7 @@ SRC_URI = "git://github.com/abseil/abseil-cpp;branch=${BRANCH};protocol=https \
|
|||||||
file://0002-Remove-maes-option-from-cross-compilation.patch \
|
file://0002-Remove-maes-option-from-cross-compilation.patch \
|
||||||
file://abseil-ppc-fixes.patch \
|
file://abseil-ppc-fixes.patch \
|
||||||
file://0003-Remove-neon-option-from-cross-compilation.patch \
|
file://0003-Remove-neon-option-from-cross-compilation.patch \
|
||||||
|
file://0004-Avoid-using-both-Win32Waiter-and-PthreadWaiter-on-Mi.patch \
|
||||||
"
|
"
|
||||||
|
|
||||||
S = "${WORKDIR}/git"
|
S = "${WORKDIR}/git"
|
||||||
@ -32,4 +33,6 @@ EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON \
|
|||||||
|
|
||||||
BBCLASSEXTEND = "native nativesdk"
|
BBCLASSEXTEND = "native nativesdk"
|
||||||
|
|
||||||
|
SYSROOT_DIRS:append:class-nativesdk:mingw32 = " ${bindir}"
|
||||||
|
|
||||||
FILES:${PN}-dev += "${includedir} ${libdir}/cmake ${libdir}/pkgconfig"
|
FILES:${PN}-dev += "${includedir} ${libdir}/cmake ${libdir}/pkgconfig"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user