Browse Source

Fix build on musl-based systems

On some systems, including Alpine Linux, musl is used instead of
glibc. This commit patches the third-party V-HACD module to provide
a macro not provided by musl.

Fixes #31555.
James Westman 5 years ago
parent
commit
589eb80a90
2 changed files with 18 additions and 1 deletions
  1. 15 0
      thirdparty/vhacd/0003-fix-musl-build.patch
  2. 3 1
      thirdparty/vhacd/inc/vhacdMutex.h

+ 15 - 0
thirdparty/vhacd/0003-fix-musl-build.patch

@@ -0,0 +1,15 @@
+diff --git a/thirdparty/vhacd/inc/vhacdMutex.h b/thirdparty/vhacd/inc/vhacdMutex.h
+index 6b09259200..d587dd6387 100644
+--- a/thirdparty/vhacd/inc/vhacdMutex.h
++++ b/thirdparty/vhacd/inc/vhacdMutex.h
+@@ -71,7 +71,9 @@
+ #include <pthread.h>
+ #endif
+ 
+-#if defined(__APPLE__)
++// -- GODOT start --
++#if defined(__APPLE__) || !defined(__GLIBC__)
++// -- GODOT end --
+ #define PTHREAD_MUTEX_RECURSIVE_NP PTHREAD_MUTEX_RECURSIVE
+ #endif
+ 

+ 3 - 1
thirdparty/vhacd/inc/vhacdMutex.h

@@ -71,7 +71,9 @@
 #include <pthread.h>
 #include <pthread.h>
 #endif
 #endif
 
 
-#if defined(__APPLE__)
+// -- GODOT start --
+#if defined(__APPLE__) || !defined(__GLIBC__)
+// -- GODOT end --
 #define PTHREAD_MUTEX_RECURSIVE_NP PTHREAD_MUTEX_RECURSIVE
 #define PTHREAD_MUTEX_RECURSIVE_NP PTHREAD_MUTEX_RECURSIVE
 #endif
 #endif