opentoonz: update patch and recipe for 1.6.0

needs Qt OpenGL
This commit is contained in:
Jerome Duval
2022-04-07 13:14:57 +02:00
parent 10f86d7e41
commit 93aeecb15f
2 changed files with 113 additions and 226 deletions

View File

@@ -5,11 +5,11 @@ Ghibli Version, originally developed in Italy by \
Digital Video, Inc. (http://www.toonz.com/), and customized by \
Studio Ghibli (http://www.ghibli.jp/) over many years of production."
HOMEPAGE="https://github.com/opentoonz/opentoonz/"
COPYRIGHT="2016, DWANGO Co., Ltd."
COPYRIGHT="2016-2018, DWANGO Co., Ltd."
LICENSE="BSD (3-clause)"
REVISION="3"
SOURCE_URI="$HOMEPAGE/archive/v$portVersion.tar.gz"
CHECKSUM_SHA256="e9943abbd49befb5c8963fd7cb744b6c5b93a4faa02c8564610b848d189ea029"
REVISION="1"
SOURCE_URI="${HOMEPAGE}archive/refs/tags/v$portVersion.tar.gz"
CHECKSUM_SHA256="9a6c28cb3933756dbebb45e849bdafc9e6d93d0328c4fd4d7bc8ec3ae481f684"
PATCHES="opentoonz-$portVersion.patchset"
ARCHITECTURES="?all !x86_gcc2"
@@ -17,8 +17,9 @@ SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
opentoonz$secondaryArchSuffix = $portVersion
cmd:lzocompress
cmd:lzodecompress
cmd:opentoonz
cmd:opentoonz_1.1
cmd:tcleanup
cmd:tcomposer
cmd:tconverter
@@ -31,9 +32,12 @@ REQUIRES="
lib:libglew$secondaryArchSuffix
lib:libGLU$secondaryArchSuffix
lib:libjpeg$secondaryArchSuffix
lib:libjson_c$secondaryArchSuffix
lib:liblz4$secondaryArchSuffix
lib:liblzma$secondaryArchSuffix
lib:libmypaint$secondaryArchSuffix
lib:libopenblas$secondaryArchSuffix
lib:libopencv_core$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:libQt5Core$secondaryArchSuffix
lib:libQt5Gui$secondaryArchSuffix
@@ -45,6 +49,7 @@ REQUIRES="
lib:libQt5Widgets$secondaryArchSuffix
lib:libQt5Xml$secondaryArchSuffix
lib:libSDL2_2.0$secondaryArchSuffix
lib:libstdc++$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
@@ -60,7 +65,9 @@ BUILD_REQUIRES="
devel:liblz4$secondaryArchSuffix
devel:liblzma$secondaryArchSuffix
devel:liblzo2$secondaryArchSuffix
devel:libmypaint$secondaryArchSuffix
devel:libopenblas$secondaryArchSuffix
devel:libopencv_core$secondaryArchSuffix
devel:libpng16$secondaryArchSuffix
devel:libQt5Core$secondaryArchSuffix
devel:libsdl2_2.0$secondaryArchSuffix
@@ -75,7 +82,9 @@ BUILD_PREREQUIRES="
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:libtoolize$secondaryArchSuffix
cmd:lrelease$secondaryArchSuffix >= 5
cmd:make
cmd:ninja
cmd:pkg_config$secondaryArchSuffix
"
@@ -86,17 +95,16 @@ BUILD()
./configure --with-pic --disable-jbig
make $jobArgs
cd ../../toonz
mkdir -p build && cd build
cmake ../sources \
cmake -B build -S sources -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$prefix \
-DGLUT_LIB=/system/develop/lib/libglut.so \
-DCMAKE_CXX_FLAGS=-DBOOST_NO_CXX11_CONSTEXPR
make $jobArgs
-DCMAKE_CXX_FLAGS=-DBOOST_NO_CXX11_CONSTEXPR \
-DCMAKE_SKIP_RPATH=YES
ninja -C build $jobArgs
}
INSTALL()
{
cd toonz/build
make install
ninja -C toonz/build install
}

View File

@@ -1,79 +1,44 @@
From b40385d190c2748f877dd355b14f85a46e98b320 Mon Sep 17 00:00:00 2001
From 06b9efbb85f7f3613419b77c3ad0d7419d3d8d29 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Wed, 22 Mar 2017 22:05:39 +0100
Subject: Haiku patch
diff --git a/toonz/sources/CMakeLists.txt b/toonz/sources/CMakeLists.txt
index bddb3f9..956a612 100644
index 7cf3d7c..132833d 100644
--- a/toonz/sources/CMakeLists.txt
+++ b/toonz/sources/CMakeLists.txt
@@ -94,6 +94,8 @@ elseif(UNIX)
endif()
@@ -188,8 +188,12 @@ elseif(BUILD_ENV_APPLE)
elseif(BUILD_ENV_UNIXLIKE)
# Needed for correct Qt detection
cmake_minimum_required(VERSION 2.8.12)
+ set(PRELOAD_VARIABLE "LD_LIBRARY_PATH")
if(CMAKE_SYSTEM_NAME MATCHES "Linux")
add_definitions(-DLINUX)
+ elseif(CMAKE_SYSTEM_NAME MATCHES "Haiku")
+ add_definitions(-DHAIKU)
else()
message(WARNING "Support for generic Unix (Not Apple or Linux) isn't yet working!")
endif()
diff --git a/toonz/sources/common/tapptools/tenv.cpp b/toonz/sources/common/tapptools/tenv.cpp
index d7b3268..9e43635 100644
--- a/toonz/sources/common/tapptools/tenv.cpp
+++ b/toonz/sources/common/tapptools/tenv.cpp
@@ -5,7 +5,7 @@
#include "tconvert.h"
#include "tfilepath_io.h"
-#ifdef LINUX
+#if defined(LINUX) || defined(HAIKU)
#include <QDir>
#endif
#include <QSettings>
diff --git a/toonz/sources/common/tapptools/ttimer.cpp b/toonz/sources/common/tapptools/ttimer.cpp
index a955ee4..139334b 100644
--- a/toonz/sources/common/tapptools/ttimer.cpp
+++ b/toonz/sources/common/tapptools/ttimer.cpp
@@ -122,7 +122,7 @@ void CALLBACK ElapsedTimeCB(UINT uID, UINT uMsg, DWORD dwUser, DWORD dw1,
if (imp->m_action) imp->m_action->sendCommand(imp->m_ticks);
}
};
-#elif LINUX
+#elif defined(LINUX) || defined(HAIKU)
#include <SDL_timer.h>
#include <SDL.h>
diff --git a/toonz/sources/common/tcore/tstopwatch.cpp b/toonz/sources/common/tcore/tstopwatch.cpp
index 5a993a8..0231839 100644
--- a/toonz/sources/common/tcore/tstopwatch.cpp
+++ b/toonz/sources/common/tcore/tstopwatch.cpp
@@ -8,7 +8,7 @@
#include <stdlib.h>
#else //_WIN32
-#if defined(__APPLE_CC__)
+#if defined(__APPLE_CC__) || defined(HAIKU)
#include <unistd.h>
#else
#include <sys/unistd.h>
+ set(PRELOAD_VARIABLE "LIBRARY_PATH")
elseif(CMAKE_SYSTEM_NAME MATCHES "^.*BSD$|DragonFly")
set(BUILD_TARGET_BSD ON)
add_definitions(-D_BSD_SOURCE -DFREEBSD)
diff --git a/toonz/sources/common/tgl/tgl.cpp b/toonz/sources/common/tgl/tgl.cpp
index c4bcd70..510e9ef 100644
index 453c07a..88c6989 100644
--- a/toonz/sources/common/tgl/tgl.cpp
+++ b/toonz/sources/common/tgl/tgl.cpp
@@ -12,14 +12,14 @@
#ifdef _WIN32
#include <cstdlib>
#include <GL/glut.h>
-#elif defined(LINUX)
+#elif defined(LINUX) || defined(HAIKU)
-#elif defined(LINUX) || defined(FREEBSD)
+#elif defined(LINUX) || defined(FREEBSD) || defined(HAIKU)
#include <GL/glut.h>
#else
#include <GLUT/glut.h>
#endif
#endif
-#if defined(MACOSX) || defined(LINUX)
+#if defined(MACOSX) || defined(LINUX) || defined(HAIKU)
-#if defined(MACOSX) || defined(LINUX) || defined(FREEBSD)
+#if defined(MACOSX) || defined(LINUX) || defined(FREEBSD) || defined(HAIKU)
#include <QGLContext>
#endif
@@ -81,32 +46,32 @@ index c4bcd70..510e9ef 100644
void tglDoneCurrent(TGlContext) { wglMakeCurrent(NULL, NULL); }
-#elif defined(LINUX) || defined(__sgi) || defined(MACOSX)
+#elif defined(LINUX) || defined(__sgi) || defined(MACOSX) || defined(HAIKU)
-#elif defined(LINUX) || defined(FREEBSD) || defined(__sgi) || defined(MACOSX)
+#elif defined(LINUX) || defined(FREEBSD) || defined(__sgi) || defined(MACOSX) || defined(HAIKU)
TGlContext tglGetCurrentContext() {
return reinterpret_cast<TGlContext>(
diff --git a/toonz/sources/common/tipc/tipc.cpp b/toonz/sources/common/tipc/tipc.cpp
index e379a9d..e2ccb8e 100644
index bf2703a..6e5bf37 100644
--- a/toonz/sources/common/tipc/tipc.cpp
+++ b/toonz/sources/common/tipc/tipc.cpp
@@ -18,7 +18,7 @@
#elif defined(MACOSX)
#include <sys/sysctl.h>
#include <unistd.h>
-#elif defined(LINUX)
+#elif defined(LINUX) || defined(HAIKU)
-#elif defined(LINUX) || defined(FREEBSD)
+#elif defined(LINUX) || defined(FREEBSD) || defined(HAIKU)
#include <sys/time.h>
#include <unistd.h>
#endif
diff --git a/toonz/sources/common/tsystem/tpluginmanager.cpp b/toonz/sources/common/tsystem/tpluginmanager.cpp
index 905c8b7..b1faa41 100644
index a82fce8..4c0d20c 100644
--- a/toonz/sources/common/tsystem/tpluginmanager.cpp
+++ b/toonz/sources/common/tsystem/tpluginmanager.cpp
@@ -19,12 +19,16 @@
@@ -20,12 +20,16 @@
#endif
#include <stdio.h>
#include <unistd.h>
#include <dirent.h>
+#ifndef HAIKU
#include <sys/dir.h>
+#endif
@@ -120,20 +85,20 @@ index 905c8b7..b1faa41 100644
#include <pwd.h>
#include <dlfcn.h>
#endif
@@ -171,7 +175,7 @@ void TPluginManager::loadPlugin(const TFilePath &fp) {
@@ -172,7 +176,7 @@ void TPluginManager::loadPlugin(const TFilePath &fp) {
void TPluginManager::loadPlugins(const TFilePath &dir) {
#if defined(_WIN32)
const std::string extension = "dll";
-#elif defined(LINUX) || defined(__sgi)
+#elif defined(LINUX) || defined(__sgi) || defined(HAIKU)
-#elif defined(LINUX) || defined(FREEBSD) || defined(__sgi)
+#elif defined(LINUX) || defined(FREEBSD) || defined(__sgi) || defined(HAIKU)
const std::string extension = "so";
#elif defined(MACOSX)
const std::string extension = "dylib";
diff --git a/toonz/sources/common/tsystem/tsystempd.cpp b/toonz/sources/common/tsystem/tsystempd.cpp
index 4edf000..3807ed5 100644
index 130d28b..524cc5f 100644
--- a/toonz/sources/common/tsystem/tsystempd.cpp
+++ b/toonz/sources/common/tsystem/tsystempd.cpp
@@ -97,6 +97,23 @@
@@ -123,6 +123,23 @@
#endif
@@ -157,7 +122,7 @@ index 4edf000..3807ed5 100644
#ifndef PLATFORM
PLATFORM_NOT_SUPPORTED
#endif
@@ -185,6 +202,11 @@ bool TSystem::memoryShortage() {
@@ -216,6 +233,11 @@ bool TSystem::memoryShortage() {
// to be done...
return false;
@@ -169,7 +134,7 @@ index 4edf000..3807ed5 100644
#else
@ @ @ERROR : PLATFORM NOT SUPPORTED
@@ -252,6 +274,11 @@ TINT64 TSystem::getFreeMemorySize(bool onlyPhisicalMemory) {
@@ -308,6 +330,11 @@ TINT64 TSystem::getFreeMemorySize(bool onlyPhysicalMemory) {
// to be done...
totalFree = 512 * 1024;
@@ -181,7 +146,7 @@ index 4edf000..3807ed5 100644
#else
@ @ @ERROR : PLATFORM NOT SUPPORTED
#endif
@@ -280,6 +307,9 @@ TINT64 TSystem::getDiskSize(const TFilePath &diskName) {
@@ -336,6 +363,9 @@ TINT64 TSystem::getDiskSize(const TFilePath &diskName) {
return 0;
}
#ifndef _WIN32
@@ -191,7 +156,7 @@ index 4edf000..3807ed5 100644
struct statfs buf;
#ifdef __sgi
statfs(::to_string(diskName).c_str(), &buf, sizeof(struct statfs), 0);
@@ -287,6 +317,7 @@ TINT64 TSystem::getDiskSize(const TFilePath &diskName) {
@@ -343,6 +373,7 @@ TINT64 TSystem::getDiskSize(const TFilePath &diskName) {
statfs(::to_string(diskName).c_str(), &buf);
#endif
size = (TINT64)((buf.f_blocks * buf.f_bsize) >> 10);
@@ -199,7 +164,7 @@ index 4edf000..3807ed5 100644
#else
DWORD sectorsPerCluster; // sectors per cluster
DWORD bytesPerSector; // bytes per sector
@@ -317,6 +348,9 @@ TINT64 TSystem::getFreeDiskSize(const TFilePath &diskName) {
@@ -373,6 +404,9 @@ TINT64 TSystem::getFreeDiskSize(const TFilePath &diskName) {
return 0;
}
#ifndef _WIN32
@@ -209,7 +174,7 @@ index 4edf000..3807ed5 100644
struct statfs buf;
#ifdef __sgi
statfs(diskName.getWideString().c_str(), &buf, sizeof(struct statfs), 0);
@@ -324,6 +358,7 @@ TINT64 TSystem::getFreeDiskSize(const TFilePath &diskName) {
@@ -380,6 +414,7 @@ TINT64 TSystem::getFreeDiskSize(const TFilePath &diskName) {
statfs(::to_string(diskName).c_str(), &buf);
#endif
size = (TINT64)(buf.f_bfree * buf.f_bsize) >> 10;
@@ -217,7 +182,7 @@ index 4edf000..3807ed5 100644
#else
DWORD sectorsPerCluster; // sectors per cluster
DWORD bytesPerSector; // bytes per sector
@@ -383,6 +418,11 @@ TINT64 TSystem::getMemorySize(bool onlyPhisicalMemory) {
@@ -465,6 +500,11 @@ TINT64 TSystem::getMemorySize(bool onlyPhysicalMemory) {
// to be done...
return 512 * 1024;
@@ -229,20 +194,8 @@ index 4edf000..3807ed5 100644
#else
@ @ @ERROR : PLATFORM NOT SUPPORTED
#endif
diff --git a/toonz/sources/common/tvrender/tfont_proxy.cpp b/toonz/sources/common/tvrender/tfont_proxy.cpp
index 6a3b24a..2daf9a5 100644
--- a/toonz/sources/common/tvrender/tfont_proxy.cpp
+++ b/toonz/sources/common/tvrender/tfont_proxy.cpp
@@ -1,6 +1,6 @@
-#if defined(__LP64__) && !defined(LINUX)
+#if defined(__LP64__) && !defined(LINUX) && !defined(HAIKU)
// Toonz includes
#include "tvectorimage.h"
diff --git a/toonz/sources/common/tvrender/tofflinegl.cpp b/toonz/sources/common/tvrender/tofflinegl.cpp
index 000e6df..7086c63 100644
index 3e89013..e8be899 100644
--- a/toonz/sources/common/tvrender/tofflinegl.cpp
+++ b/toonz/sources/common/tvrender/tofflinegl.cpp
@@ -19,7 +19,7 @@
@@ -264,158 +217,145 @@ index 000e6df..7086c63 100644
std::shared_ptr<TOfflineGL::Imp> defaultOfflineGLGenerator(
const TDimension &dim, std::shared_ptr<TOfflineGL::Imp> shared) {
diff --git a/toonz/sources/common/tvrender/ttessellator.cpp b/toonz/sources/common/tvrender/ttessellator.cpp
index ca049d4..bd72e62 100644
index a6ecdf8..4362b97 100644
--- a/toonz/sources/common/tvrender/ttessellator.cpp
+++ b/toonz/sources/common/tvrender/ttessellator.cpp
@@ -94,7 +94,7 @@ static void CALLBACK myCombine(GLdouble coords[3], GLdouble *d[4], GLfloat w[4],
typedef GLvoid(CALLBACK *GluCallback)(void);
#endif
-#if defined(MACOSX) || defined(LINUX)
+#if defined(MACOSX) || defined(LINUX) || defined(HAIKU)
-#if defined(MACOSX) || defined(LINUX) || defined(FREEBSD)
+#if defined(MACOSX) || defined(LINUX) || defined(FREEBSD) || defined(HAIKU)
typedef GLvoid (*GluCallback)();
diff --git a/toonz/sources/image/compatibility/tfile_io.c b/toonz/sources/image/compatibility/tfile_io.c
index 20ca6b8..5c39e52 100644
index 83c3ac1..bef8892 100644
--- a/toonz/sources/image/compatibility/tfile_io.c
+++ b/toonz/sources/image/compatibility/tfile_io.c
@@ -58,7 +58,7 @@ char *convertWCHAR2CHAR(const wchar_t *wc) {
}
#endif
/*-----------------------------------*/
-#if defined(MACOSX) || defined(LINUX)
+#if defined(MACOSX) || defined(LINUX) || defined(HAIKU)
-#if defined(MACOSX) || defined(LINUX) || defined(FREEBSD)
+#if defined(MACOSX) || defined(LINUX) || defined(FREEBSD) || defined(HAIKU)
FILE *_wfopen(const wchar_t *fname, const wchar_t *mode) {
char *cfname = convertWCHAR2CHAR(fname);
diff --git a/toonz/sources/image/compatibility/tfile_io.h b/toonz/sources/image/compatibility/tfile_io.h
index d7a3fdd..a333719 100644
index fa8a9f7..1bf9774 100644
--- a/toonz/sources/image/compatibility/tfile_io.h
+++ b/toonz/sources/image/compatibility/tfile_io.h
@@ -19,7 +19,7 @@ extern "C" {
char *convertWCHAR2CHAR(const wchar_t *fname);
-#if defined(MACOSX) || defined(LINUX)
+#if defined(MACOSX) || defined(LINUX) || defined(HAIKU)
-#if defined(MACOSX) || defined(LINUX) || defined(FREEBSD)
+#if defined(MACOSX) || defined(LINUX) || defined(FREEBSD) || defined(HAIKU)
#include <sys/types.h>
#include <sys/stat.h>
diff --git a/toonz/sources/image/compatibility/tnz4.h b/toonz/sources/image/compatibility/tnz4.h
index 60593d6..9571725 100644
index e903fad..50eddbe 100644
--- a/toonz/sources/image/compatibility/tnz4.h
+++ b/toonz/sources/image/compatibility/tnz4.h
@@ -36,7 +36,7 @@ TNZ_LITTLE_ENDIAN undefined !!
@@ -34,7 +34,7 @@ TNZ_LITTLE_ENDIAN undefined !!
unsigned char b, g, r, m;
#elif defined(__sgi)
unsigned char m, b, g, r;
-#elif defined(LINUX)
+#elif defined(LINUX) || defined(HAIKU)
-#elif defined(LINUX) || defined(FREEBSD)
+#elif defined(LINUX) || defined(FREEBSD) || defined(HAIKU)
unsigned char r, g, b, m;
#elif defined(MACOSX)
unsigned char m, r, g, b;
@@ -50,7 +50,7 @@ typedef struct SPIXEL {
@@ -48,7 +48,7 @@ typedef struct SPIXEL {
unsigned short b, g, r, m;
#elif defined(__sgi)
unsigned short m, b, g, r;
-#elif defined(LINUX)
+#elif defined(LINUX)|| defined(HAIKU)
-#elif defined(LINUX) || defined(FREEBSD)
+#elif defined(LINUX) || defined(FREEBSD) || defined(HAIKU)
unsigned short r, g, b, m;
#elif defined(MACOSX)
unsigned char m, r, g, b;
diff --git a/toonz/sources/image/pli/pli_io.cpp b/toonz/sources/image/pli/pli_io.cpp
index d712b4e..7f981be 100644
index df4d586..d003e5e 100644
--- a/toonz/sources/image/pli/pli_io.cpp
+++ b/toonz/sources/image/pli/pli_io.cpp
@@ -432,7 +432,7 @@ void ParsedPli::setMaxThickness(double maxThickness) {
@@ -435,7 +435,7 @@ void ParsedPli::setMaxThickness(double maxThickness) {
};
/* indirect inclusion of <math.h> causes 'abs' to return double on Linux */
-#ifdef LINUX
+#if defined(LINUX) || defined(HAIKU)
-#if defined(LINUX) || defined(FREEBSD) || (defined(_WIN32) && defined(__GNUC__))
+#if defined(LINUX) || defined(FREEBSD) || (defined(_WIN32) && defined(__GNUC__)) || defined(HAIKU)
template <typename T>
T abs_workaround(T a) {
return (a > 0) ? a : -a;
diff --git a/toonz/sources/image/tiio.cpp b/toonz/sources/image/tiio.cpp
index dfbd74d..367b3f9 100644
index 1bbf33a..4f2d4c4 100644
--- a/toonz/sources/image/tiio.cpp
+++ b/toonz/sources/image/tiio.cpp
@@ -53,7 +53,7 @@
#include "./mov/tiio_movM.h"
#include "./3gp/tiio_3gpM.h"
-#elif defined(LINUX) // No more supported by the way...
+#elif defined(LINUX) || defined(HAIKU) // No more supported by the way...
-#elif defined(LINUX) || defined(FREEBSD) // No more supported by the way...
+#elif defined(LINUX) || defined(FREEBSD) || defined(HAIKU) // No more supported by the way...
// #include "./mov/tiio_movL.h"
#include "./mov/tiio_mov_proxy.h"
#include "./3gp/tiio_3gp_proxy.h"
diff --git a/toonz/sources/include/tcg/hpp/triangulate.hpp b/toonz/sources/include/tcg/hpp/triangulate.hpp
index e778824..373997b 100644
index 3b5e5b3..499d13b 100644
--- a/toonz/sources/include/tcg/hpp/triangulate.hpp
+++ b/toonz/sources/include/tcg/hpp/triangulate.hpp
@@ -14,7 +14,7 @@
#include <GL/glu.h>
#elif defined(MACOSX)
#include <GLUT/glut.h>
-#elif defined(LINUX)
+#elif defined(LINUX) || defined(HAIKU)
-#elif defined(LINUX) || defined(FREEBSD)
+#elif defined(LINUX) || defined(FREEBSD) || defined(HAIKU)
#include <GL/glut.h>
#include <cstring>
#endif
diff --git a/toonz/sources/include/tfont.h b/toonz/sources/include/tfont.h
index 8853424..a3dc158 100644
--- a/toonz/sources/include/tfont.h
+++ b/toonz/sources/include/tfont.h
@@ -140,7 +140,7 @@ public:
// --------- TFont methods called on curren font -----------
-#if !defined(__LP64__) || defined(LINUX)
+#if !defined(__LP64__) || defined(LINUX) || defined(HAIKU)
TPoint drawChar(TVectorImageP &outImage, wchar_t charcode,
wchar_t nextCode = 0) {
diff --git a/toonz/sources/include/tgl.h b/toonz/sources/include/tgl.h
index fa2cdcb..efab600 100644
index b13c754..a9e723b 100644
--- a/toonz/sources/include/tgl.h
+++ b/toonz/sources/include/tgl.h
@@ -21,7 +21,7 @@
#define GLUT_NO_WARNING_DISABLE
#endif
-#ifdef LINUX
+#if defined(LINUX) || defined(HAIKU)
-#if defined(LINUX) || defined(FREEBSD)
+#if defined(LINUX) || defined(FREEBSD) || defined(HAIKU)
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glut.h>
diff --git a/toonz/sources/include/tmachine.h b/toonz/sources/include/tmachine.h
index d7a8944..94f8f1e 100644
index ec67785..308a251 100644
--- a/toonz/sources/include/tmachine.h
+++ b/toonz/sources/include/tmachine.h
@@ -7,7 +7,7 @@
#define TNZ_MACHINE_CHANNEL_ORDER_BGRM 1
#elif defined(__sgi)
#define TNZ_MACHINE_CHANNEL_ORDER_MBGR 1
-#elif defined(LINUX)
+#elif defined(LINUX) || defined(HAIKU)
-#elif defined(LINUX) || defined(FREEBSD)
+#elif defined(LINUX) || defined(FREEBSD) || defined(HAIKU)
#define TNZ_MACHINE_CHANNEL_ORDER_BGRM 1
#elif defined(MACOSX)
#define TNZ_MACHINE_CHANNEL_ORDER_MRGB 1
diff --git a/toonz/sources/include/tnztypes.h b/toonz/sources/include/tnztypes.h
index 66a9fc2..10b587a 100644
index 6aaaf84..5b1e56c 100644
--- a/toonz/sources/include/tnztypes.h
+++ b/toonz/sources/include/tnztypes.h
@@ -18,7 +18,7 @@ typedef uint32_t TUINT32;
typedef int64_t TINT64;
typedef uint64_t TUINT64;
-#elif defined(__LP64__) && (!defined(LINUX))
+#elif defined(__LP64__) && (!defined(LINUX)) && (!defined(HAIKU))
-#elif defined(__LP64__) && !(defined(LINUX) || defined(FREEBSD))
+#elif defined(__LP64__) && !(defined(LINUX) || defined(FREEBSD) || defined(HAIKU))
#define TINT32 \
; \
@@ -40,6 +40,13 @@ typedef unsigned __int64_t TUINT64;
@@ -40,6 +40,13 @@ typedef int32_t TINT32;
typedef uint32_t TUINT32;
typedef int64_t TINT64;
typedef uint64_t TUINT64;
@@ -430,116 +370,55 @@ index 66a9fc2..10b587a 100644
#endif
diff --git a/toonz/sources/include/toonz4.6/machine.h b/toonz/sources/include/toonz4.6/machine.h
index e9bf6f6..92ab56f 100644
index 75ebe74..e2efddb 100644
--- a/toonz/sources/include/toonz4.6/machine.h
+++ b/toonz/sources/include/toonz4.6/machine.h
@@ -17,7 +17,7 @@
#define TNZ_MACHINE_CHANNEL_ORDER_BGRM 1
#elif defined(__sgi)
#define TNZ_MACHINE_CHANNEL_ORDER_MBGR 1
-#elif defined(LINUX)
+#elif defined(LINUX) || defined(HAIKU)
-#elif defined(LINUX) || defined(FREEBSD)
+#elif defined(LINUX) || defined(FREEBSD) || defined(HAIKU)
#define TNZ_MACHINE_CHANNEL_ORDER_BGRM 1
#elif defined(MACOSX)
#define TNZ_MACHINE_CHANNEL_ORDER_MRGB 1
diff --git a/toonz/sources/include/tpixel.h b/toonz/sources/include/tpixel.h
index 5dd25b0..1565fb2 100644
index 0b8fe5b..803fc06 100644
--- a/toonz/sources/include/tpixel.h
+++ b/toonz/sources/include/tpixel.h
@@ -177,7 +177,7 @@ undefined machine order !!!!
TPixelRGBM64(int rr, int gg, int bb, int mm = maxChannelValue)
: r(rr), g(gg), b(bb), m(mm){};
#else
-#if defined(LINUX) || defined(MACOSX)
+#if defined(LINUX) || defined(MACOSX) || defined(HAIKU)
-#if defined(LINUX) || defined(FREEBSD) || defined(MACOSX)
+#if defined(LINUX) || defined(FREEBSD) || defined(MACOSX) || defined(HAIKU)
#ifdef powerpc
diff --git a/toonz/sources/include/tsound_t.h b/toonz/sources/include/tsound_t.h
index 1735c98..4f2c9a8 100644
--- a/toonz/sources/include/tsound_t.h
+++ b/toonz/sources/include/tsound_t.h
@@ -137,7 +137,7 @@ from which it's created.It hasn't reference to the object.
diff --git a/toonz/sources/toonz/CMakeLists.txt b/toonz/sources/toonz/CMakeLists.txt
index c8abe15..5414264 100644
--- a/toonz/sources/toonz/CMakeLists.txt
+++ b/toonz/sources/toonz/CMakeLists.txt
@@ -682,7 +682,7 @@ TOONZSTUDIOPALETTE=\"\$HOME/.config/OpenToonz/stuff/studiopalette\"
EOF
fi
//! Applies a trasformation (echo, reverb, ect) to the object and returns the
//! transformed soundtrack
-#if defined(MACOSX) || defined(LINUX)
+#if defined(MACOSX) || defined(LINUX) || defined(HAIKU)
TSoundTrackP apply(TSoundTransform *transform) override;
#else // _WIN32
TSoundTrackP apply(TSoundTransform *transform) override {
@@ -389,7 +389,7 @@ public:
};
//==============================================================================
-#if defined(MACOSX) || defined(LINUX)
+#if defined(MACOSX) || defined(LINUX) || defined(HAIKU)
template <class T>
DVAPI TSoundTrackP TSoundTrackT<T>::apply(TSoundTransform *transform) {
assert(transform);
diff --git a/toonz/sources/tnzext/tlin/tlin_superlu_wrap.cpp b/toonz/sources/tnzext/tlin/tlin_superlu_wrap.cpp
index 0dcf0c5..7726ee7 100644
--- a/toonz/sources/tnzext/tlin/tlin_superlu_wrap.cpp
+++ b/toonz/sources/tnzext/tlin/tlin_superlu_wrap.cpp
@@ -309,7 +309,7 @@ void tlin::factorize(SuperMatrix *A, SuperFactors *&F, superlu_options_t *opt) {
int result;
dgstrf(opt, &AC, sp_ienv(1), sp_ienv(2), etree, NULL, 0, F->perm_c, F->perm_r,
- F->L, F->U, &stat, &result);
+ F->L, F->U, NULL, &stat, &result);
StatFree(&stat);
-export LD_LIBRARY_PATH=\${OPENTOONZ_BASE}/lib/opentoonz:\${LD_LIBRARY_PATH}
+export ${PRELOAD_VARIABLE}=\${OPENTOONZ_BASE}/lib/opentoonz:\${${PRELOAD_VARIABLE}}
exec \$OPENTOONZ_BASE/bin/OpenToonz \"\$@\"
")
diff --git a/toonz/sources/toonz/sceneviewer.cpp b/toonz/sources/toonz/sceneviewer.cpp
index 1b521a2..d6eac5b 100644
index 40fd9d6..3cbfa6f 100644
--- a/toonz/sources/toonz/sceneviewer.cpp
+++ b/toonz/sources/toonz/sceneviewer.cpp
@@ -1,5 +1,5 @@
-#ifdef LINUX
+#if defined(LINUX) || defined(HAIKU)
-#if defined(LINUX) || defined(FREEBSD)
+#if defined(LINUX) || defined(FREEBSD) || defined(HAIKU)
#define GL_GLEXT_PROTOTYPES
#endif
diff --git a/toonz/sources/toonzfarm/tfarmserver/tfarmserver.cpp b/toonz/sources/toonzfarm/tfarmserver/tfarmserver.cpp
index c05d048..c5bd44a 100644
--- a/toonz/sources/toonzfarm/tfarmserver/tfarmserver.cpp
+++ b/toonz/sources/toonzfarm/tfarmserver/tfarmserver.cpp
@@ -610,7 +610,7 @@ void FarmServer::queryHwInfo(HwInfo &hwInfo) {
sysctl(mib, 2, &physMemSize, &len, NULL, 0);
#endif
-#ifdef LINUX
+#if defined(LINUX) || defined(HAIKU)
TINT64 physMemSize =
(TINT64)sysconf(_SC_PHYS_PAGES) * (TINT64)sysconf(_SC_PAGE_SIZE);
#endif
diff --git a/toonz/sources/toonzlib/autopos.cpp b/toonz/sources/toonzlib/autopos.cpp
index b596d64..5928e82 100644
--- a/toonz/sources/toonzlib/autopos.cpp
+++ b/toonz/sources/toonzlib/autopos.cpp
@@ -17,7 +17,7 @@ fare resize e realloc size dello stack a 65000 unita'
*/
-#if defined(MACOSX) || defined(LINUX)
+#if defined(MACOSX) || defined(LINUX) || defined(HAIKU)
#define TRUE 1
#define FALSE 0
#endif
diff --git a/toonz/sources/toonzlib/trastercentroid.cpp b/toonz/sources/toonzlib/trastercentroid.cpp
index 4f538ab..24e6114 100644
--- a/toonz/sources/toonzlib/trastercentroid.cpp
+++ b/toonz/sources/toonzlib/trastercentroid.cpp
@@ -15,7 +15,7 @@
#include "tmsg.h"
#include "copP.h"*/
-#if defined(MACOSX) || defined(LINUX)
+#if defined(MACOSX) || defined(LINUX) || defined(HAIKU)
#define TRUE 1
#define FALSE 0
#endif
--
2.10.2
2.30.2