![Romain Naour](/assets/img/avatar_default.png)
waffle has four "backends", each having their own dependencies. At least one "backend" must be enabled, otherwise Waffle will refuse to build. The "backends" are: - glx, which needs full OpenGL + x11-xcb - wayland, which needs wayland-client, wayland-egl and EGL - x11-egl, which needs x11-xcb and EGL - gbm, which needs gbm, libudev and EGL Backport an upstream patch fixing a build issue with musl toolchains. Add a new patch fixing build with Wayand without X11. Signed-off-by: Romain Naour <romain.naour@gmail.com> [Thomas: drop GLES dependency, it is not mandatory.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
55 lines
1.9 KiB
Diff
55 lines
1.9 KiB
Diff
From 117456752cf9ac1f24d3cfd917ad34f670c244b8 Mon Sep 17 00:00:00 2001
|
|
From: Emil Velikov <emil.l.velikov@gmail.com>
|
|
Date: Thu, 19 Mar 2015 22:26:11 +0000
|
|
Subject: [PATCH] third_party/threads: Use PTHREAD_MUTEX_RECURSIVE by default
|
|
|
|
PTHREAD_MUTEX_RECURSIVE_NP was used for compatibility with old glibc.
|
|
Although due to the_GNU_SOURCES define the portable,
|
|
PTHREAD_MUTEX_RECURSIVE will be available for Linuxes since at least
|
|
1998. Simplify things giving us compatibility with musl which
|
|
apparently does not provide the non-portable define.
|
|
|
|
Inspired by almost identical commit in mesa aead7fe2e2b(c11/threads: Use
|
|
PTHREAD_MUTEX_RECURSIVE by default) by Felix Janda.
|
|
|
|
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
|
|
Reviewed-by: Chad Versace <chad.versace@intel.com>
|
|
(Romain: cherry picked from commit 3b9b8f5f6d1b99af43e95ec0868404e552a85b73)
|
|
Signed-off-by: Romain Naour <romain.naour@gmail.com>
|
|
---
|
|
third_party/threads/threads_posix.c | 10 ++++------
|
|
1 file changed, 4 insertions(+), 6 deletions(-)
|
|
|
|
diff --git a/third_party/threads/threads_posix.c b/third_party/threads/threads_posix.c
|
|
index 5835e43..e122bf9 100644
|
|
--- a/third_party/threads/threads_posix.c
|
|
+++ b/third_party/threads/threads_posix.c
|
|
@@ -26,6 +26,9 @@
|
|
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|
* DEALINGS IN THE SOFTWARE.
|
|
*/
|
|
+
|
|
+#define _GNU_SOURCE
|
|
+
|
|
#include <stdlib.h>
|
|
#ifndef assert
|
|
#include <assert.h>
|
|
@@ -150,13 +153,8 @@ int mtx_init(mtx_t *mtx, int type)
|
|
&& type != (mtx_try|mtx_recursive))
|
|
return thrd_error;
|
|
pthread_mutexattr_init(&attr);
|
|
- if ((type & mtx_recursive) != 0) {
|
|
-#if defined(__linux__) || defined(__linux)
|
|
- pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE_NP);
|
|
-#else
|
|
+ if ((type & mtx_recursive) != 0)
|
|
pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
|
|
-#endif
|
|
- }
|
|
pthread_mutex_init(mtx, &attr);
|
|
pthread_mutexattr_destroy(&attr);
|
|
return thrd_success;
|
|
--
|
|
2.14.3
|
|
|