aboutsummaryrefslogtreecommitdiffstats
path: root/testing/blender/blender-2.78a-musl.patch
blob: 1ffd09cd57dc1376e7916a3ac93c2f66c9e39af0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
diff -ru blender-2.78.orig/CMakeLists.txt blender-2.78a/CMakeLists.txt
--- blender-2.78.orig/CMakeLists.txt	2016-10-25 12:09:56.000000000 +0000
+++ blender-2.78a/CMakeLists.txt	2017-02-07 14:50:03.967828817 +0000
@@ -181,6 +181,18 @@
 	set(_init_SDL                            OFF)
 	set(_init_FFTW3                          OFF)
 	set(_init_OPENSUBDIV                     OFF)
+	# musl-libc related checks (missing execinfo.h, and feenableexcept())
+	include(CheckIncludeFiles)
+	check_include_files(execinfo.h HAVE_EXECINFO_H)
+	if (HAVE_EXECINFO_H)
+		add_definitions(-DHAVE_EXECINFO_H)
+	endif()
+
+	include(CheckLibraryExists)
+	check_library_exists(m feenableexcept "fenv.h" HAVE_FEENABLEEXCEPT)
+	if (HAVE_FEENABLEEXCEPT)
+		add_definitions(-DHAVE_FEENABLEEXCEPT)
+	endif()
 elseif(WIN32)
 	set(_init_JACK                           OFF)
 elseif(APPLE)
diff -ru blender-2.78.orig/intern/guardedalloc/intern/mallocn_intern.h blender-2.78a/intern/guardedalloc/intern/mallocn_intern.h
--- blender-2.78.orig/intern/guardedalloc/intern/mallocn_intern.h	2016-09-28 09:26:55.000000000 +0000
+++ blender-2.78a/intern/guardedalloc/intern/mallocn_intern.h	2017-02-07 14:44:35.213040733 +0000
@@ -52,7 +52,7 @@
 #undef HAVE_MALLOC_STATS
 #define USE_MALLOC_USABLE_SIZE  /* internal, when we have malloc_usable_size() */
 
-#if defined(__linux__) || (defined(__FreeBSD_kernel__) && !defined(__FreeBSD__)) || defined(__GLIBC__)
+#if (defined(__linux__) && defined(HAVE_EXECINFO_H)) || (defined(__FreeBSD_kernel__) && !defined(__FreeBSD__)) || defined(__GLIBC__)
 #  include <malloc.h>
 #  define HAVE_MALLOC_STATS
 #elif defined(__FreeBSD__)
diff -ru blender-2.78.orig/source/blender/blenlib/intern/system.c blender-2.78a/source/blender/blenlib/intern/system.c
--- blender-2.78.orig/source/blender/blenlib/intern/system.c	2016-10-25 09:59:23.000000000 +0000
+++ blender-2.78a/source/blender/blenlib/intern/system.c	2017-02-07 14:44:35.213040733 +0000
@@ -31,7 +31,7 @@
 #include "MEM_guardedalloc.h"
 
 /* for backtrace */
-#if defined(__linux__) || defined(__APPLE__)
+#if (defined(__linux__) && defined(HAVE_EXECINFO_H)) || defined(__APPLE__)
 #  include <execinfo.h>
 #elif defined(WIN32)
 #  include <windows.h>
@@ -77,7 +77,7 @@
 {
 	/* ------------- */
 	/* Linux / Apple */
-#if defined(__linux__) || defined(__APPLE__)
+#if (defined(__linux__) && defined(HAVE_EXECINFO_H)) || defined(__APPLE__)
 
 #define SIZE 100
 	void *buffer[SIZE];
diff -ru blender-2.78.orig/source/creator/creator_signals.c blender-2.78a/source/creator/creator_signals.c
--- blender-2.78.orig/source/creator/creator_signals.c	2016-10-24 14:13:56.000000000 +0000
+++ blender-2.78a/source/creator/creator_signals.c	2017-02-07 14:47:01.888625973 +0000
@@ -309,7 +309,7 @@
 	 * set breakpoints on sig_handle_fpe */
 	signal(SIGFPE, sig_handle_fpe);
 
-# if defined(__linux__) && defined(__GNUC__)
+# if defined(__linux__) && defined(__GNUC__) && defined(HAVE_FEENABLEEXCEPT)
 	feenableexcept(FE_DIVBYZERO | FE_INVALID | FE_OVERFLOW);
 # endif /* defined(__linux__) && defined(__GNUC__) */
 # if defined(OSX_SSE_FPE)