67 lines
3 KiB
Diff
67 lines
3 KiB
Diff
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)
|