mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-29 11:38:52 +02:00
184 lines
6.6 KiB
Plaintext
184 lines
6.6 KiB
Plaintext
From 81fc679557028d79c94e872dfb3eeb0f69ebfeff Mon Sep 17 00:00:00 2001
|
|
From: Peppersawce <michaelpeppers89@yahoo.it>
|
|
Date: Mon, 27 Oct 2025 20:05:20 +0100
|
|
Subject: Haiku fixes
|
|
|
|
|
|
diff --git a/3rdparty/readerwriterqueue/atomicops.h b/3rdparty/readerwriterqueue/atomicops.h
|
|
index f58bcf8..24b145d 100644
|
|
--- a/3rdparty/readerwriterqueue/atomicops.h
|
|
+++ b/3rdparty/readerwriterqueue/atomicops.h
|
|
@@ -372,7 +372,7 @@ extern "C" {
|
|
}
|
|
#elif defined(__MACH__)
|
|
#include <mach/mach.h>
|
|
-#elif defined(__unix__)
|
|
+#elif defined(__unix__) || defined(__HAIKU__)
|
|
#include <semaphore.h>
|
|
#elif defined(FREERTOS)
|
|
#include <FreeRTOS.h>
|
|
@@ -510,7 +510,7 @@ namespace moodycamel
|
|
}
|
|
}
|
|
};
|
|
-#elif defined(__unix__)
|
|
+#elif defined(__unix__) || defined(__HAIKU__)
|
|
//---------------------------------------------------------
|
|
// Semaphore (POSIX, Linux)
|
|
//---------------------------------------------------------
|
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
index 372438b..6a94833 100644
|
|
--- a/CMakeLists.txt
|
|
+++ b/CMakeLists.txt
|
|
@@ -212,7 +212,11 @@ endif()
|
|
INCLUDE(AddTargetLinkFlagsIfSupported)
|
|
|
|
# Use "-fPIC" / "-fPIE" for all targets by default, including static libs
|
|
-set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
|
+if (HAIKU)
|
|
+ set(CMAKE_POSITION_INDEPENDENT_CODE OFF)
|
|
+else()
|
|
+ set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
|
+endif()
|
|
|
|
set(WZ_WIN_HAS_PDB FALSE)
|
|
if("${CMAKE_CXX_COMPILER_ID}" MATCHES "MSVC")
|
|
diff --git a/lib/framework/wzglobal.h b/lib/framework/wzglobal.h
|
|
index ad32013..46fa2de 100644
|
|
--- a/lib/framework/wzglobal.h
|
|
+++ b/lib/framework/wzglobal.h
|
|
@@ -108,7 +108,7 @@
|
|
# define WZ_OS_RELIANT
|
|
#elif defined(__linux__) || defined(__linux)
|
|
# define WZ_OS_LINUX
|
|
-#elif defined(__FreeBSD__) || defined(__DragonFly__)
|
|
+#elif defined(__FreeBSD__) || defined(__DragonFly__) || defined(__HAIKU__)
|
|
# define WZ_OS_FREEBSD
|
|
# define WZ_OS_BSD4
|
|
#elif defined(__FreeBSD_kernel__) && !defined(__FreeBSD__)
|
|
diff --git a/lib/sound/oggvorbis.cpp b/lib/sound/oggvorbis.cpp
|
|
index c02f6d1..2fd4aba 100644
|
|
--- a/lib/sound/oggvorbis.cpp
|
|
+++ b/lib/sound/oggvorbis.cpp
|
|
@@ -57,7 +57,7 @@ static size_t wz_ogg_read(void *ptr, size_t size, size_t nmemb, void *datasource
|
|
return WZ_PHYSFS_readBytes(fileHandle, ptr, static_cast<PHYSFS_uint32>(readLen));
|
|
}
|
|
|
|
-static int wz_ogg_seek(void *datasource, int64_t offset, int whence)
|
|
+static int wz_ogg_seek(void *datasource, ogg_int64_t offset, int whence)
|
|
{
|
|
PHYSFS_file *fileHandle;
|
|
int64_t newPos;
|
|
diff --git a/lib/wzmaplib/src/map_io.cpp b/lib/wzmaplib/src/map_io.cpp
|
|
index 992b649..60c97d8 100644
|
|
--- a/lib/wzmaplib/src/map_io.cpp
|
|
+++ b/lib/wzmaplib/src/map_io.cpp
|
|
@@ -744,7 +744,9 @@ bool enumerateDirInternal(const std::string& rootBasePath, const std::string& ba
|
|
continue;
|
|
}
|
|
fullFilePath = basePath + "/" + dir->d_name;
|
|
- if (dir->d_type == DT_DIR)
|
|
+ struct stat stbuf;
|
|
+ stat(dir->d_name, &stbuf);
|
|
+ if (S_ISDIR(stbuf.st_mode))
|
|
{
|
|
// recurse
|
|
if (((enumDirFlags & ENUM_FOLDERS) == ENUM_FOLDERS))
|
|
diff --git a/src/version.cpp b/src/version.cpp
|
|
index 7db79e8..e0be3cc 100644
|
|
--- a/src/version.cpp
|
|
+++ b/src/version.cpp
|
|
@@ -225,14 +225,14 @@ std::string version_getBuildIdentifierReleaseEnvironment()
|
|
if (strlen(vcs_tag))
|
|
{
|
|
optional<TagVer> tagVersion = version_extractVersionNumberFromTag(vcs_tag);
|
|
- if (tagVersion.has_value() && strlen(tagVersion.value().qualifier) != 0)
|
|
+ /*if (tagVersion.has_value() && strlen(tagVersion.value().qualifier) != 0)
|
|
{
|
|
buildReleaseEnvironmentStr = "preview";
|
|
}
|
|
else
|
|
- {
|
|
+ {*/
|
|
buildReleaseEnvironmentStr = "release";
|
|
- }
|
|
+ //}
|
|
}
|
|
else
|
|
{
|
|
--
|
|
2.51.0
|
|
|
|
|
|
From 1b4035c7f8778d9525d000ca582cae4018229078 Mon Sep 17 00:00:00 2001
|
|
From: Peppersawce <michaelpeppers89@yahoo.it>
|
|
Date: Fri, 31 Oct 2025 17:05:13 +0100
|
|
Subject: GameNetworkingSockets: fake being FreeBSD
|
|
|
|
|
|
diff --git a/3rdparty/GameNetworkingSockets/CMakeLists.txt b/3rdparty/GameNetworkingSockets/CMakeLists.txt
|
|
index 25bc6a6..314b759 100644
|
|
--- a/3rdparty/GameNetworkingSockets/CMakeLists.txt
|
|
+++ b/3rdparty/GameNetworkingSockets/CMakeLists.txt
|
|
@@ -155,7 +155,7 @@ function(set_target_common_gns_properties TGT)
|
|
target_compile_definitions(${TGT} PUBLIC LINUX)
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES Darwin)
|
|
target_compile_definitions(${TGT} PUBLIC OSX)
|
|
- elseif(CMAKE_SYSTEM_NAME MATCHES FreeBSD)
|
|
+ elseif(CMAKE_SYSTEM_NAME MATCHES FreeBSD OR CMAKE_SYSTEM_NAME MATCHES Haiku)
|
|
target_compile_definitions(${TGT} PUBLIC FREEBSD)
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES Windows)
|
|
target_compile_definitions(${TGT} PUBLIC _WINDOWS)
|
|
diff --git a/3rdparty/GameNetworkingSockets/src/CMakeLists.txt b/3rdparty/GameNetworkingSockets/src/CMakeLists.txt
|
|
index 998bd7f..c669832 100644
|
|
--- a/3rdparty/GameNetworkingSockets/src/CMakeLists.txt
|
|
+++ b/3rdparty/GameNetworkingSockets/src/CMakeLists.txt
|
|
@@ -294,7 +294,7 @@ macro(set_clientlib_target_properties GNS_TARGET)
|
|
#if(USE_STEAMWEBRTC AND NOT STEAMWEBRTC_USE_STATIC_LIBS)
|
|
# target_link_libraries(${GNS_TARGET} PRIVATE dl)
|
|
#endif()
|
|
- elseif(CMAKE_SYSTEM_NAME MATCHES FreeBSD)
|
|
+ elseif(CMAKE_SYSTEM_NAME MATCHES FreeBSD OR CMAKE_SYSTEM_NAME MATCHES Haiku)
|
|
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES Windows)
|
|
if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
|
|
diff --git a/3rdparty/GameNetworkingSockets/src/public/minbase/minbase_identify.h b/3rdparty/GameNetworkingSockets/src/public/minbase/minbase_identify.h
|
|
index 2ab5730..df3e3c7 100644
|
|
--- a/3rdparty/GameNetworkingSockets/src/public/minbase/minbase_identify.h
|
|
+++ b/3rdparty/GameNetworkingSockets/src/public/minbase/minbase_identify.h
|
|
@@ -166,7 +166,7 @@
|
|
#elif defined( LINUX ) || defined( __LINUX__ ) || defined(linux) || defined(__linux) || defined(__linux__)
|
|
#define IsLinux() true
|
|
#define IsPosix() true
|
|
-#elif defined(__FreeBSD__) || defined(__DragonFly__) || defined(__OpenBSD__) || defined(__NetBSD__)
|
|
+#elif defined(__FreeBSD__) || defined(__DragonFly__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__HAIKU__)
|
|
#define IsBSD() true
|
|
#define IsPosix() true
|
|
#elif defined( _POSIX_VERSION ) || defined( POSIX ) || defined( VALVE_POSIX )
|
|
--
|
|
2.51.0
|
|
|
|
|
|
From 0f55b8733407b8e378623b82c965e7e5a445f140 Mon Sep 17 00:00:00 2001
|
|
From: Peppersawce <michaelpeppers89@yahoo.it>
|
|
Date: Fri, 31 Oct 2025 17:57:34 +0100
|
|
Subject: Just work already
|
|
|
|
|
|
diff --git a/3rdparty/GameNetworkingSockets/src/tier0/dbg.cpp b/3rdparty/GameNetworkingSockets/src/tier0/dbg.cpp
|
|
index 455ab45..1baef41 100644
|
|
--- a/3rdparty/GameNetworkingSockets/src/tier0/dbg.cpp
|
|
+++ b/3rdparty/GameNetworkingSockets/src/tier0/dbg.cpp
|
|
@@ -139,7 +139,7 @@ void AssertMsgImplementationV( bool _bFatal, bool bFmt, const char* pstrFile, un
|
|
#elif defined( __clang__ )
|
|
abort();
|
|
#else
|
|
- std::quick_exit( EXIT_FAILURE );
|
|
+ abort();
|
|
#endif
|
|
}
|
|
|
|
--
|
|
2.51.0
|
|
|