blender: fix and enable 32 bit build (#4666)

This commit is contained in:
X512
2020-03-24 04:37:10 +09:00
committed by GitHub
parent ad98c06a48
commit 4b20acb5a4
2 changed files with 147 additions and 60 deletions

View File

@@ -21,20 +21,20 @@ ADDITIONAL_FILES="
Blender.sh
"
ARCHITECTURES="!x86_gcc2 ?x86 x86_64"
SECONDARY_ARCHITECTURES="?x86"
ARCHITECTURES="!x86_gcc2 x86 x86_64"
SECONDARY_ARCHITECTURES="x86"
PYTHON_VERSION="3.6"
PROVIDES="
blender$secondaryArchSuffix = $portVersion
app:blender
cmd:blender_thumbnailer.py
cmd:blender_thumbnailer.py${secondaryArchSuffix}
"
REQUIRES="
haiku$secondaryArchSuffix
numpy_python3
requests_python3
numpy${secondaryArchSuffix}_python36
requests_python36
lib:libalembic$secondaryArchSuffix
lib:libavcodec$secondaryArchSuffix
lib:libavdevice$secondaryArchSuffix
@@ -76,11 +76,11 @@ REQUIRES="
lib:libopenvdb$secondaryArchSuffix
lib:libosdCPU$secondaryArchSuffix
lib:libosdGPU$secondaryArchSuffix
lib:liboslcomp$secondaryArchSuffix
# lib:liboslcomp$secondaryArchSuffix
lib:libpcre$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:libpugixml$secondaryArchSuffix
lib:libpython${PYTHON_VERSION}m
lib:libpython${PYTHON_VERSION}m$secondaryArchSuffix
lib:libsdl2_2.0$secondaryArchSuffix
lib:libsndfile$secondaryArchSuffix
lib:libtbb$secondaryArchSuffix
@@ -123,7 +123,7 @@ BUILD_REQUIRES="
devel:libilmthread_2_4$secondaryArchSuffix
devel:libimath_2_4$secondaryArchSuffix
devel:libjpeg$secondaryArchSuffix
devel:libLLVM_9.0.0$secondaryArchSuffix
devel:libllvm_9$secondaryArchSuffix
devel:liblzma$secondaryArchSuffix
devel:liblzo2$secondaryArchSuffix
devel:libopenal$secondaryArchSuffix
@@ -134,11 +134,11 @@ BUILD_REQUIRES="
devel:libopenvdb$secondaryArchSuffix
devel:libosdCPU$secondaryArchSuffix
devel:libosdGPU$secondaryArchSuffix
devel:liboslcomp$secondaryArchSuffix
# devel:liboslcomp$secondaryArchSuffix
devel:libpcre$secondaryArchSuffix
devel:libpng16$secondaryArchSuffix
devel:libpugixml$secondaryArchSuffix
devel:libpython${PYTHON_VERSION}m
devel:libpython${PYTHON_VERSION}m$secondaryArchSuffix
devel:libsdl2_2.0$secondaryArchSuffix
devel:libsndfile$secondaryArchSuffix
devel:libtbb$secondaryArchSuffix
@@ -150,7 +150,7 @@ BUILD_REQUIRES="
lib:libavdevice$secondaryArchSuffix # REQUIRED
"
BUILD_PREREQUIRES="
numpy_python36
numpy${secondaryArchSuffix}_python36
requests_python36
cmd:cmake
cmd:find
@@ -169,26 +169,30 @@ BUILD()
{
PORT_SUBFOLDER=`echo $portVersion | sed 's/.$//'`
# OpenCOLLADA workaround
COLLADA_HEADERS="`finddir B_SYSTEM_HEADERS_DIRECTORY`/opencollada"
COLLADA_INC_FLAGS="-I$COLLADA_HEADERS/COLLADABaseUtils \
-I$COLLADA_HEADERS/COLLADAFramework \
-I$COLLADA_HEADERS/COLLADASaxFrameworkLoader \
-I$COLLADA_HEADERS/COLLADAStreamWriter \
-I$COLLADA_HEADERS/GeneratedSaxParser"
INCLUDE_DIR="`finddir B_SYSTEM_HEADERS_DIRECTORY`${secondaryArchSubDir}"
# Haiku specific settings
BLENDER_PLATFORM_SPECIFIC="-DCMAKE_INSTALL_PREFIX:PATH=$appsDir/Blender \
-DPYTHON_VERSION=${PYTHON_VERSION} \
-DPYTHON_INCLUDE_DIR=`finddir B_SYSTEM_HEADERS_DIRECTORY`/python${PYTHON_VERSION}m/ \
-DPYTHON_LIBRARY=`finddir B_SYSTEM_LIB_DIRECTORY`/libpython${PYTHON_VERSION}m.so.1.0 \
-DPYTHON_LIBRARY=`finddir B_SYSTEM_LIB_DIRECTORY`${secondaryArchSubDir}/libpython${PYTHON_VERSION}m.so.1.0 \
-DPYTHON_EXECUTABLE=/bin/python${PYTHON_VERSION} \
-DPYTHON_NUMPY_PATH=`finddir B_SYSTEM_LIB_DIRECTORY`/python${PYTHON_VERSION}/vendor-packages \
-DPYTHON_REQUESTS_PATH=`finddir B_SYSTEM_LIB_DIRECTORY`/python${PYTHON_VERSION}/vendor-packages \
-DOPENJPEG_INCLUDE_DIR=`finddir B_SYSTEM_HEADERS_DIRECTORY` \
-DOPENJPEG_LIBRARY=`finddir B_SYSTEM_LIB_DIRECTORY` \
-DZLIB_LIBRARY_RELEASE=`finddir B_SYSTEM_LIB_DIRECTORY`/libz.so.1 \
-DOPENCOLLADA_COLLADABASEUTILS_INCLUDE_DIR=${INCLUDE_DIR}/opencollada/COLLADABaseUtils \
-DOPENCOLLADA_COLLADAFRAMEWORK_INCLUDE_DIR=${INCLUDE_DIR}/opencollada/COLLADAFramework \
-DOPENCOLLADA_COLLADASAXFRAMEWORKLOADER_INCLUDE_DIR=${INCLUDE_DIR}/opencollada/COLLADASaxFrameworkLoader \
-DOPENCOLLADA_COLLADASTREAMWRITER_INCLUDE_DIR=${INCLUDE_DIR}/opencollada/COLLADAStreamWriter \
-DOPENCOLLADA_GENERATEDSAXPARSER_INCLUDE_DIR=${INCLUDE_DIR}/opencollada/GeneratedSaxParser \
-DOPENJPEG_INCLUDE_DIR=${INCLUDE_DIR} \
-DOPENJPEG_LIBRARY=`finddir B_SYSTEM_LIB_DIRECTORY`${secondaryArchSubDir} \
-DOPENSUBDIV_INCLUDE_DIR=${INCLUDE_DIR} \
-DZLIB_LIBRARY_RELEASE=`finddir B_SYSTEM_LIB_DIRECTORY`${secondaryArchSubDir}/libz.so.1 \
-DWITH_GHOST_SDL=ON \
-DWITH_BUILDINFO=OFF \
-DWITH_PYTHON_INSTALL=OFF \
-DWITH_PYTHON_INSTALL_NUMPY=OFF \
-DWITH_PYTHON_INSTALL_REQUESTS=OFF \
-Wno-dev"
# Release settings breaks build on Haiku
@@ -205,7 +209,6 @@ BUILD()
# Release build settings
BLENDER_RELEASE="-DWITH_ALEMBIC=ON \
-DWITH_BUILDINFO=ON \
-DWITH_BULLET=ON \
-DWITH_CODEC_AVI=ON \
-DWITH_CODEC_FFMPEG=ON \
@@ -243,17 +246,13 @@ BUILD()
-DWITH_OPENMP=ON \
-DWITH_OPENVDB=ON \
-DWITH_OPENVDB_BLOSC=ON \
-DWITH_PYTHON_INSTALL=ON \
-DWITH_RAYOPTIMIZATION=ON \
-DWITH_SDL=ON \
-DWITH_PLAYER=OFF \
-DWITH_OPENSUBDIV=ON \
-DWITH_PYTHON_INSTALL=ON \
-DWITH_PYTHON_INSTALL_NUMPY=ON \
-DWITH_PYTHON_INSTALL_REQUESTS=ON"
-DWITH_OPENSUBDIV=ON"
# Extra CXX Flags
BLENDER_CXX="-std=c++11 $COLLADA_INC_FLAGS"
BLENDER_CXX="-std=c++11"
mkdir -p build_haiku
cd build_haiku

View File

@@ -1,8 +1,18 @@
From 8b0390f920d255529bbcda80f0a0e4712d0475a2 Mon Sep 17 00:00:00 2001
From c369682bd92ac8313d2186d6ed43f9859d91439d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
Date: Tue, 19 Sep 2017 23:03:48 +0200
Subject: Haiku patchset
Subject: [PATCH 01/10] Haiku patchset
---
CMakeLists.txt | 6 ++++--
build_files/cmake/macros.cmake | 3 +++
build_files/cmake/platform/platform_unix.cmake | 6 +++++-
intern/guardedalloc/intern/mallocn_intern.h | 3 +++
intern/libmv/libmv/numeric/numeric.h | 3 ++-
source/blender/blenlib/BLI_sys_types.h | 2 +-
source/blender/blenlib/intern/fileops.c | 11 +++++++++++
source/blender/blenlib/intern/storage.c | 2 +-
8 files changed, 30 insertions(+), 6 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index bfea2dd..ebe6bef 100644
@@ -151,14 +161,16 @@ index b819c51..9fb3fbf 100644
# include <sys/statvfs.h>
# define USE_STATFS_STATVFS
--
2.21.0
2.24.1
From 261a813d36eb18dcd15499882ea0e6b4e92d4dcf Mon Sep 17 00:00:00 2001
From 8b837c040845fc8c9c41e97e5c3119a465012ff4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
Date: Tue, 19 Sep 2017 23:15:20 +0200
Subject: Haiku SDL2 check fix
Subject: [PATCH 02/10] Haiku SDL2 check fix
---
build_files/cmake/Modules/FindSDL2.cmake | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/build_files/cmake/Modules/FindSDL2.cmake b/build_files/cmake/Modules/FindSDL2.cmake
index 2a835cf..61b7dee 100644
@@ -174,14 +186,18 @@ index 2a835cf..61b7dee 100644
FIND_LIBRARY(SDL2_LIBRARY
--
2.21.0
2.24.1
From bec15f560b9c6ba34e8b6c524d09a36002731212 Mon Sep 17 00:00:00 2001
From 4dce957d591ef33cee42bcbbef8166aa452c6289 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
Date: Tue, 19 Sep 2017 23:52:27 +0200
Subject: In-tree glog supporting patches
Subject: [PATCH 03/10] In-tree glog supporting patches
---
extern/glog/src/config.h | 2 +
extern/glog/src/config_haiku.h | 172 +++++++++++++++++++++++++++++++++
2 files changed, 174 insertions(+)
create mode 100644 extern/glog/src/config_haiku.h
diff --git a/extern/glog/src/config.h b/extern/glog/src/config.h
index f5c9c0b..2703b7b 100644
@@ -373,14 +389,16 @@ index 0000000..4e6703b
+# define NO_FRAME_POINTER
+#endif
--
2.21.0
2.24.1
From 802a232a87f6e571165e0f8cd90ebf20d15df6b7 Mon Sep 17 00:00:00 2001
From 1b05076f83ea850591db84488d2a384d1b060dbc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
Date: Sat, 16 Dec 2017 17:04:56 +0100
Subject: OpenCollada support
Subject: [PATCH 04/10] OpenCollada support
---
build_files/cmake/Modules/FindOpenCOLLADA.cmake | 2 ++
1 file changed, 2 insertions(+)
diff --git a/build_files/cmake/Modules/FindOpenCOLLADA.cmake b/build_files/cmake/Modules/FindOpenCOLLADA.cmake
index 63bc520..28cf0b9 100644
@@ -403,14 +421,19 @@ index 63bc520..28cf0b9 100644
${_opencollada_SEARCH_DIRS}
)
--
2.21.0
2.24.1
From b057f86bd56301ef97138119a5b20e9db746863e Mon Sep 17 00:00:00 2001
From 01e1ef3ad2140ef425329f12acc3bf2701a7015e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
Date: Sat, 4 Aug 2018 12:42:53 +0200
Subject: FFMPEG4 patches
Subject: [PATCH 05/10] FFMPEG4 patches
---
intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp | 4 ++--
intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp | 6 +++---
source/blender/blenkernel/intern/writeffmpeg.c | 14 ++++++--------
source/blender/imbuf/intern/indexer.c | 2 +-
4 files changed, 12 insertions(+), 14 deletions(-)
diff --git a/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp b/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp
index e9eea19..84aea33 100644
@@ -526,14 +549,17 @@ index e1b3abc..1850ffd 100644
if (avio_open(&rv->of->pb, fname, AVIO_FLAG_WRITE) < 0) {
--
2.21.0
2.24.1
From 70f94f34c7ad4d6d466213bd4874fff681cc2f1c Mon Sep 17 00:00:00 2001
From ca3381eb08d068d6dcc817b3f23ba24eea4b14ea Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
Date: Thu, 22 Aug 2019 18:07:13 +0200
Subject: Build fixes from FreeBSD
Subject: [PATCH 06/10] Build fixes from FreeBSD
---
source/blender/collada/DocumentImporter.cpp | 5 +++++
source/blender/collada/DocumentImporter.h | 2 ++
2 files changed, 7 insertions(+)
diff --git a/source/blender/collada/DocumentImporter.cpp b/source/blender/collada/DocumentImporter.cpp
index 435eaa0..8708926 100644
@@ -565,14 +591,17 @@ index 62f76db..1f3b64f 100644
bool writeMaterial(const COLLADAFW::Material*);
--
2.21.0
2.24.1
From 3f56877f3e1cf268dfd0d7b3313dd239a8bf1188 Mon Sep 17 00:00:00 2001
From e30015b3cc19da3e3f641551a7341005b096a92e Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Thu, 7 Nov 2019 18:35:57 +0100
Subject: applying patch blender-2.79b-gcc-8.patch
Subject: [PATCH 07/10] applying patch blender-2.79b-gcc-8.patch
---
intern/cycles/util/util_sseb.h | 2 +-
intern/itasc/kdl/tree.hpp | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/intern/cycles/util/util_sseb.h b/intern/cycles/util/util_sseb.h
index 6e66970..9ffe391 100644
@@ -601,13 +630,12 @@ index c8a253f..bd35f82 100644
class TreeElement
{
--
2.21.0
2.24.1
From db0d73ece1ca34119b8f706c4d745c40549a4397 Mon Sep 17 00:00:00 2001
From 0e2b491eaba6074cdd9fa508c6bc571a6cd1b60e Mon Sep 17 00:00:00 2001
From: Sergey Sharybin <sergey.vfx@gmail.com>
Date: Tue, 11 Dec 2018 12:17:26 +0100
Subject: Update code to be compatible with OIIO 2.0
Subject: [PATCH 08/10] Update code to be compatible with OIIO 2.0
There are some changes in API of OpenImageIO, but those are quite
simple to keep working with older and newer library versions.
@@ -617,6 +645,16 @@ Reviewers: brecht
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D4064
---
intern/cycles/blender/blender_python.cpp | 2 +-
intern/cycles/graph/node_xml.cpp | 2 +-
intern/cycles/render/buffers.cpp | 5 ++--
intern/cycles/render/image.cpp | 16 ++++-------
intern/cycles/render/image.h | 3 +-
intern/cycles/util/util_unique_ptr.h | 28 +++++++++++++++++++
.../imbuf/intern/oiio/openimageio_api.cpp | 19 ++++++-------
7 files changed, 48 insertions(+), 27 deletions(-)
create mode 100644 intern/cycles/util/util_unique_ptr.h
diff --git a/intern/cycles/blender/blender_python.cpp b/intern/cycles/blender/blender_python.cpp
index 54973fd..bee6dd1 100644
@@ -891,5 +929,55 @@ index b123d50..7f2fac9 100644
if (!ibuf)
--
2.21.0
2.24.1
From 2888d696409b685e22c195914d91338c4bcec086 Mon Sep 17 00:00:00 2001
From: X512 <danger_mail@list.ru>
Date: Wed, 29 Jan 2020 14:07:31 +0900
Subject: [PATCH 09/10] Haiku: fix build for 32 bit
---
intern/cycles/util/util_simd.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/intern/cycles/util/util_simd.h b/intern/cycles/util/util_simd.h
index 587febe..d25d7f8 100644
--- a/intern/cycles/util/util_simd.h
+++ b/intern/cycles/util/util_simd.h
@@ -229,7 +229,7 @@ __forceinline int __btr(int v, int i) {
int r = 0; asm ("btr %1,%0" : "=r"(r) : "r"(i), "0"(v) : "flags"); return r;
}
-#if (defined(__KERNEL_64_BIT__) || defined(__APPLE__)) && !(defined(__ILP32__) && defined(__x86_64__))
+#if (defined(__KERNEL_64_BIT__) || defined(__APPLE__) || defined(__HAIKU__)) && !(defined(__ILP32__) && defined(__x86_64__))
__forceinline size_t __bsf(size_t v) {
size_t r = 0; asm ("bsf %1,%0" : "=r"(r) : "r"(v)); return r;
}
--
2.24.1
From e0d48e0823a316a66b11c7c14fe289f53b44c2d8 Mon Sep 17 00:00:00 2001
From: X512 <danger_mail@list.ru>
Date: Wed, 29 Jan 2020 17:30:56 +0900
Subject: [PATCH 10/10] Fix TLS for haiku
---
source/blender/blenlib/BLI_threads.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/blender/blenlib/BLI_threads.h b/source/blender/blenlib/BLI_threads.h
index 60da6b3..8ad0d69 100644
--- a/source/blender/blenlib/BLI_threads.h
+++ b/source/blender/blenlib/BLI_threads.h
@@ -186,7 +186,7 @@ void BLI_thread_queue_nowait(ThreadQueue *queue);
/* Thread local storage */
-#if defined(__APPLE__)
+#if defined(__APPLE__) || defined(__HAIKU__)
# define ThreadLocal(type) pthread_key_t
# define BLI_thread_local_create(name) pthread_key_create(&name, NULL)
# define BLI_thread_local_delete(name) pthread_key_delete(name)
--
2.24.1