mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-24 17:18:51 +02:00
ppsspp: bump version
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
From 7b8b9dee309369ace97073faf9770ab1776fd5b2 Mon Sep 17 00:00:00 2001
|
||||
From 08ae0dddbb35169bb3afad02198f707de81a3306 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Mon, 19 Feb 2024 23:32:42 +1000
|
||||
Date: Sat, 25 Jan 2025 14:21:51 +1000
|
||||
Subject: Fix for Haiku
|
||||
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index bfd5e69..f1c3c32 100644
|
||||
index a355317..077294a 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -100,7 +100,7 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Android")
|
||||
@@ -17,16 +17,47 @@ index bfd5e69..f1c3c32 100644
|
||||
set(VULKAN ON)
|
||||
endif()
|
||||
|
||||
@@ -174,7 +174,7 @@ option(USE_SYSTEM_MINIUPNPC "Dynamically link against system miniUPnPc" ${USE_SY
|
||||
option(USE_ASAN "Use address sanitizer" OFF)
|
||||
option(USE_UBSAN "Use undefined behaviour sanitizer" OFF)
|
||||
@@ -192,7 +192,7 @@ if(USE_CCACHE)
|
||||
include(ccache)
|
||||
endif()
|
||||
|
||||
-if(UNIX AND NOT (APPLE OR ANDROID) AND VULKAN)
|
||||
+if(UNIX AND NOT (APPLE OR ANDROID OR HAIKU) AND VULKAN)
|
||||
if(USING_X11_VULKAN)
|
||||
message("Using X11 for Vulkan")
|
||||
find_package(X11)
|
||||
@@ -1523,7 +1523,7 @@ add_library(native STATIC
|
||||
@@ -956,7 +956,7 @@ if(USE_FFMPEG)
|
||||
endif()
|
||||
elseif(MACOSX)
|
||||
set(PLATFORM_ARCH "macosx/universal")
|
||||
- elseif(LINUX)
|
||||
+ elseif(LINUX)
|
||||
if(ARMV7)
|
||||
set(PLATFORM_ARCH "linux/armv7")
|
||||
elseif(ARM64)
|
||||
@@ -974,6 +974,12 @@ if(USE_FFMPEG)
|
||||
elseif(X86)
|
||||
set(PLATFORM_ARCH "linux/x86")
|
||||
endif()
|
||||
+ elseif(HAIKU)
|
||||
+ if(X86_64)
|
||||
+ set(PLATFORM_ARCH "haiku/x86_64")
|
||||
+ elseif(X86)
|
||||
+ set(PLATFORM_ARCH "haiku/x86")
|
||||
+ endif()
|
||||
elseif(WIN32)
|
||||
if(X86_64)
|
||||
set(PLATFORM_ARCH "Windows/x86_64")
|
||||
@@ -1345,7 +1351,7 @@ elseif(IOS AND NOT LIBRETRO)
|
||||
set(nativeExtraLibs ${nativeExtraLibs} "-weak_framework GameController")
|
||||
endif()
|
||||
|
||||
- if(NOT ICONV_LIBRARY)
|
||||
+ if(NOT ICONV_LIBRARY OR HAIKU)
|
||||
set(nativeExtraLibs ${nativeExtraLibs} iconv)
|
||||
endif()
|
||||
|
||||
@@ -1609,7 +1615,7 @@ add_library(native STATIC
|
||||
ext/jpge/jpge.h
|
||||
)
|
||||
|
||||
@@ -35,7 +66,7 @@ index bfd5e69..f1c3c32 100644
|
||||
set(RT_LIB rt)
|
||||
endif()
|
||||
|
||||
@@ -1541,6 +1541,8 @@ if(ANDROID)
|
||||
@@ -1627,6 +1633,8 @@ if(ANDROID)
|
||||
target_link_libraries(native log EGL OpenSLES)
|
||||
elseif(WIN32)
|
||||
target_link_libraries(native ws2_32 winmm)
|
||||
@@ -44,18 +75,7 @@ index bfd5e69..f1c3c32 100644
|
||||
elseif(${CMAKE_SYSTEM_NAME} MATCHES "^(DragonFly|FreeBSD|NetBSD)$")
|
||||
target_link_libraries(native execinfo)
|
||||
endif()
|
||||
@@ -2334,8 +2336,8 @@ else()
|
||||
set(ZSTD_BUILD_PROGRAMS OFF CACHE BOOL "we don't need zstd programs" FORCE)
|
||||
set(ZSTD_LEGACY_SUPPORT OFF CACHE BOOL "we don't use any old zstd files" FORCE)
|
||||
add_subdirectory(ext/zstd/build/cmake EXCLUDE_FROM_ALL)
|
||||
- set(CoreExtraLibs ${CoreExtraLibs} libzstd_static)
|
||||
- include_directories(ext/zstd/lib)
|
||||
+ set(CoreExtraLibs ${CoreExtraLibs} zstd)
|
||||
+# include_directories(ext/zstd/lib)
|
||||
endif()
|
||||
|
||||
include_directories(ext/libchdr/include)
|
||||
@@ -2367,12 +2369,15 @@ if(FFmpeg_FOUND)
|
||||
@@ -2466,12 +2474,15 @@ if(FFmpeg_FOUND)
|
||||
endif()
|
||||
|
||||
# Discord integration
|
||||
@@ -72,7 +92,7 @@ index bfd5e69..f1c3c32 100644
|
||||
if(USE_MINIUPNPC)
|
||||
if(USE_SYSTEM_MINIUPNPC)
|
||||
find_package(MINIUPNPC REQUIRED)
|
||||
@@ -2449,6 +2454,7 @@ if(USE_MINIUPNPC)
|
||||
@@ -2551,6 +2562,7 @@ if(USE_MINIUPNPC)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
@@ -80,7 +100,7 @@ index bfd5e69..f1c3c32 100644
|
||||
|
||||
setup_target_project(${CoreLibName} Core)
|
||||
|
||||
@@ -2574,6 +2580,10 @@ set(WindowsFiles
|
||||
@@ -2676,6 +2688,10 @@ set(WindowsFiles
|
||||
|
||||
list(APPEND LinkCommon ${CoreLibName} ${CMAKE_THREAD_LIBS_INIT})
|
||||
|
||||
@@ -89,7 +109,7 @@ index bfd5e69..f1c3c32 100644
|
||||
+endif()
|
||||
+
|
||||
if(WIN32)
|
||||
list(APPEND LinkCommon kernel32 user32 gdi32 shell32 comctl32 dsound xinput d3d9 winmm dinput8 ole32 winspool ksuser mf uxtheme mfplat mfreadwrite mfuuid shlwapi)
|
||||
list(APPEND LinkCommon kernel32 user32 gdi32 shell32 comctl32 dsound xinput d3d9 winmm dinput8 ole32 winspool ksuser dwmapi mf uxtheme mfplat mfreadwrite mfuuid shlwapi)
|
||||
#setup_target_project(${TargetBin} Windows)
|
||||
diff --git a/Common/Swap.h b/Common/Swap.h
|
||||
index 3a5d8ac..f68142f 100644
|
||||
@@ -105,7 +125,7 @@ index 3a5d8ac..f68142f 100644
|
||||
#define bswap16 swap16
|
||||
#define bswap32 swap32
|
||||
diff --git a/Common/Thread/ThreadUtil.cpp b/Common/Thread/ThreadUtil.cpp
|
||||
index 338dfa1..41c9175 100644
|
||||
index 0e0badb..a380710 100644
|
||||
--- a/Common/Thread/ThreadUtil.cpp
|
||||
+++ b/Common/Thread/ThreadUtil.cpp
|
||||
@@ -57,8 +57,10 @@ void RegisterAttachDetach(AttachDetachFunc attach, AttachDetachFunc detach) {
|
||||
@@ -120,19 +140,19 @@ index 338dfa1..41c9175 100644
|
||||
#if defined(__DragonFly__) || defined(__FreeBSD__) || defined(__OpenBSD__)
|
||||
#include <pthread_np.h>
|
||||
diff --git a/Core/Config.cpp b/Core/Config.cpp
|
||||
index 008ef0c..7b6aa4b 100644
|
||||
index 14a8c98..3683de8 100644
|
||||
--- a/Core/Config.cpp
|
||||
+++ b/Core/Config.cpp
|
||||
@@ -354,7 +354,7 @@ static const ConfigSetting cpuSettings[] = {
|
||||
@@ -360,7 +360,7 @@ static const ConfigSetting cpuSettings[] = {
|
||||
|
||||
static int DefaultInternalResolution() {
|
||||
// Auto on Windows and Linux, 2x on large screens, 1x elsewhere.
|
||||
// Auto on Windows and Linux, 2x on large screens and iOS, 1x elsewhere.
|
||||
-#if defined(USING_WIN_UI) || defined(USING_QT_UI)
|
||||
+#if defined(USING_WIN_UI) || defined(USING_QT_UI) || defined(__HAIKU__)
|
||||
return 0;
|
||||
#else
|
||||
if (System_GetPropertyInt(SYSPROP_DEVICE_TYPE) == DEVICE_TYPE_VR) {
|
||||
@@ -615,7 +615,11 @@ static const ConfigSetting graphicsSettings[] = {
|
||||
#elif PPSSPP_PLATFORM(IOS)
|
||||
return 2;
|
||||
@@ -624,7 +624,11 @@ static const ConfigSetting graphicsSettings[] = {
|
||||
ConfigSetting("InternalResolution", &g_Config.iInternalResolution, &DefaultInternalResolution, CfgFlag::PER_GAME | CfgFlag::REPORT),
|
||||
ConfigSetting("AndroidHwScale", &g_Config.iAndroidHwScale, &DefaultAndroidHwScale, CfgFlag::DEFAULT),
|
||||
ConfigSetting("HighQualityDepth", &g_Config.bHighQualityDepth, true, CfgFlag::PER_GAME | CfgFlag::REPORT),
|
||||
@@ -144,7 +164,7 @@ index 008ef0c..7b6aa4b 100644
|
||||
ConfigSetting("FrameSkipType", &g_Config.iFrameSkipType, 0, CfgFlag::PER_GAME | CfgFlag::REPORT),
|
||||
ConfigSetting("AutoFrameSkip", &g_Config.bAutoFrameSkip, IsVREnabled(), CfgFlag::PER_GAME | CfgFlag::REPORT),
|
||||
ConfigSetting("StereoRendering", &g_Config.bStereoRendering, false, CfgFlag::PER_GAME),
|
||||
@@ -629,10 +633,17 @@ static const ConfigSetting graphicsSettings[] = {
|
||||
@@ -638,10 +642,17 @@ static const ConfigSetting graphicsSettings[] = {
|
||||
#endif
|
||||
|
||||
// Most low-performance (and many high performance) mobile GPUs do not support aniso anyway so defaulting to 4 is fine.
|
||||
@@ -164,10 +184,10 @@ index 008ef0c..7b6aa4b 100644
|
||||
|
||||
#ifndef MOBILE_DEVICE
|
||||
diff --git a/Core/HLE/proAdhoc.cpp b/Core/HLE/proAdhoc.cpp
|
||||
index 5c99439..946e895 100644
|
||||
index 759e3a9..f4bb38a 100644
|
||||
--- a/Core/HLE/proAdhoc.cpp
|
||||
+++ b/Core/HLE/proAdhoc.cpp
|
||||
@@ -2070,7 +2070,7 @@ int setUDPConnReset(int udpsock, bool enabled) {
|
||||
@@ -2086,7 +2086,7 @@ int setUDPConnReset(int udpsock, bool enabled) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -176,7 +196,7 @@ index 5c99439..946e895 100644
|
||||
#define TCP_KEEPIDLE TCP_KEEPALIVE //TCP_KEEPIDLE on Linux is equivalent to TCP_KEEPALIVE on macOS
|
||||
#endif
|
||||
// VS 2017 compatibility
|
||||
@@ -2090,12 +2090,14 @@ int setSockKeepAlive(int sock, bool keepalive, const int keepinvl, const int kee
|
||||
@@ -2106,12 +2106,14 @@ int setSockKeepAlive(int sock, bool keepalive, const int keepinvl, const int kee
|
||||
if (result == 0 && keepalive) {
|
||||
if (getsockopt(sock, SOL_SOCKET, SO_TYPE, (char*)&optval, (socklen_t*)&optlen) == 0 && optval == SOCK_STREAM) {
|
||||
optlen = sizeof(optval);
|
||||
@@ -193,7 +213,7 @@ index 5c99439..946e895 100644
|
||||
}
|
||||
#endif // !PPSSPP_PLATFORM(SWITCH) && !PPSSPP_PLATFORM(OPENBSD)
|
||||
diff --git a/Core/Instance.cpp b/Core/Instance.cpp
|
||||
index b8ecfd8..6ddd9eb 100644
|
||||
index fcb350f..746ff83 100644
|
||||
--- a/Core/Instance.cpp
|
||||
+++ b/Core/Instance.cpp
|
||||
@@ -81,7 +81,7 @@ static bool UpdateInstanceCounter(void (*callback)(volatile InstanceInfo *)) {
|
||||
@@ -206,10 +226,10 @@ index b8ecfd8..6ddd9eb 100644
|
||||
return false;
|
||||
#else
|
||||
diff --git a/SDL/SDLMain.cpp b/SDL/SDLMain.cpp
|
||||
index 50489bb..78c4734 100644
|
||||
index c172f43..d537540 100644
|
||||
--- a/SDL/SDLMain.cpp
|
||||
+++ b/SDL/SDLMain.cpp
|
||||
@@ -374,6 +374,9 @@ void System_LaunchUrl(LaunchUrlType urlType, const char *url) {
|
||||
@@ -393,6 +393,9 @@ void System_LaunchUrl(LaunchUrlType urlType, const char *url) {
|
||||
ShellExecute(NULL, L"open", wurl.c_str(), NULL, NULL, SW_SHOWNORMAL);
|
||||
#elif defined(__APPLE__)
|
||||
OSXOpenURL(url);
|
||||
@@ -219,7 +239,7 @@ index 50489bb..78c4734 100644
|
||||
#else
|
||||
std::string command = std::string("xdg-open ") + url;
|
||||
int err = system(command.c_str());
|
||||
@@ -393,6 +396,9 @@ void System_LaunchUrl(LaunchUrlType urlType, const char *url) {
|
||||
@@ -412,6 +415,9 @@ void System_LaunchUrl(LaunchUrlType urlType, const char *url) {
|
||||
#elif defined(__APPLE__)
|
||||
std::string mailToURL = std::string("mailto:") + url;
|
||||
OSXOpenURL(mailToURL.c_str());
|
||||
@@ -229,7 +249,7 @@ index 50489bb..78c4734 100644
|
||||
#else
|
||||
std::string command = std::string("xdg-email ") + url;
|
||||
int err = system(command.c_str());
|
||||
@@ -412,6 +418,8 @@ std::string System_GetProperty(SystemProperty prop) {
|
||||
@@ -431,6 +437,8 @@ std::string System_GetProperty(SystemProperty prop) {
|
||||
return "SDL:Windows";
|
||||
#elif __linux__
|
||||
return "SDL:Linux";
|
||||
@@ -238,9 +258,9 @@ index 50489bb..78c4734 100644
|
||||
#elif __APPLE__
|
||||
return "SDL:macOS";
|
||||
#elif PPSSPP_PLATFORM(SWITCH)
|
||||
@@ -1097,6 +1105,16 @@ int main(int argc, char *argv[]) {
|
||||
}
|
||||
}
|
||||
@@ -1145,6 +1153,16 @@ int main(int argc, char *argv[]) {
|
||||
|
||||
TimeInit();
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+ char *binpath = realpath(argv[0], NULL);
|
||||
@@ -256,7 +276,7 @@ index 50489bb..78c4734 100644
|
||||
socketInitializeDefault();
|
||||
nxlinkStdio();
|
||||
diff --git a/UI/NativeApp.cpp b/UI/NativeApp.cpp
|
||||
index 89ce32f..2e71d77 100644
|
||||
index 4c035ca..23ecbb0 100644
|
||||
--- a/UI/NativeApp.cpp
|
||||
+++ b/UI/NativeApp.cpp
|
||||
@@ -486,6 +486,9 @@ void NativeInit(int argc, const char *argv[], const char *savegame_dir, const ch
|
||||
@@ -307,10 +327,10 @@ index 648c0ba..cf5bd49 100644
|
||||
NO_CMAKE_FIND_ROOT_PATH
|
||||
)
|
||||
diff --git a/ext/CMakeLists.txt b/ext/CMakeLists.txt
|
||||
index fe6b714..63b1f31 100644
|
||||
index b0aa7ad..f32cebc 100644
|
||||
--- a/ext/CMakeLists.txt
|
||||
+++ b/ext/CMakeLists.txt
|
||||
@@ -34,7 +34,7 @@ add_subdirectory(rcheevos-build)
|
||||
@@ -36,7 +36,7 @@ add_subdirectory(rcheevos-build)
|
||||
if(NOT HTTPS_NOT_AVAILABLE)
|
||||
add_subdirectory(naett-build)
|
||||
endif()
|
||||
@@ -364,6 +384,118 @@ index aeecc38..34852f7 100644
|
||||
/* note: use after variable declarations */
|
||||
#ifndef XXH_STATIC_ASSERT
|
||||
# if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) /* C11 */
|
||||
diff --git a/ffmpeg/haiku-build.sh b/ffmpeg/haiku-build.sh
|
||||
new file mode 100755
|
||||
index 0000000..b1934b6
|
||||
--- /dev/null
|
||||
+++ b/ffmpeg/haiku-build.sh
|
||||
@@ -0,0 +1,106 @@
|
||||
+#!/bin/sh
|
||||
+
|
||||
+rm -f config.h
|
||||
+echo "Building for Haiku"
|
||||
+
|
||||
+set -e
|
||||
+
|
||||
+ARCH=$(getarch)
|
||||
+
|
||||
+GENERAL="
|
||||
+ --disable-shared \
|
||||
+ --enable-static"
|
||||
+
|
||||
+MODULES="\
|
||||
+ --disable-avdevice \
|
||||
+ --disable-filters \
|
||||
+ --disable-programs \
|
||||
+ --disable-network \
|
||||
+ --disable-avfilter \
|
||||
+ --disable-postproc \
|
||||
+ --disable-encoders \
|
||||
+ --disable-doc \
|
||||
+ --disable-ffplay \
|
||||
+ --disable-ffprobe \
|
||||
+ --disable-ffserver \
|
||||
+ --disable-ffmpeg"
|
||||
+
|
||||
+VIDEO_DECODERS="\
|
||||
+ --enable-decoder=h264 \
|
||||
+ --enable-decoder=mpeg4 \
|
||||
+ --enable-decoder=h263 \
|
||||
+ --enable-decoder=h263p \
|
||||
+ --enable-decoder=mpeg2video \
|
||||
+ --enable-decoder=mjpeg \
|
||||
+ --enable-decoder=mjpegb"
|
||||
+
|
||||
+AUDIO_DECODERS="\
|
||||
+ --enable-decoder=aac \
|
||||
+ --enable-decoder=aac_latm \
|
||||
+ --enable-decoder=atrac3 \
|
||||
+ --enable-decoder=atrac3p \
|
||||
+ --enable-decoder=mp3 \
|
||||
+ --enable-decoder=pcm_s16le \
|
||||
+ --enable-decoder=pcm_s8"
|
||||
+
|
||||
+DEMUXERS="\
|
||||
+ --enable-demuxer=h264 \
|
||||
+ --enable-demuxer=h263 \
|
||||
+ --enable-demuxer=m4v \
|
||||
+ --enable-demuxer=mpegps \
|
||||
+ --enable-demuxer=mpegvideo \
|
||||
+ --enable-demuxer=avi \
|
||||
+ --enable-demuxer=mp3 \
|
||||
+ --enable-demuxer=aac \
|
||||
+ --enable-demuxer=pmp \
|
||||
+ --enable-demuxer=oma \
|
||||
+ --enable-demuxer=pcm_s16le \
|
||||
+ --enable-demuxer=pcm_s8 \
|
||||
+ --enable-demuxer=wav"
|
||||
+
|
||||
+VIDEO_ENCODERS="\
|
||||
+ --enable-encoder=ffv1 \
|
||||
+ --enable-encoder=huffyuv \
|
||||
+ --enable-encoder=mpeg4"
|
||||
+
|
||||
+AUDIO_ENCODERS="\
|
||||
+ --enable-encoder=pcm_s16le"
|
||||
+
|
||||
+MUXERS="\
|
||||
+ --enable-muxer=avi"
|
||||
+
|
||||
+PARSERS="\
|
||||
+ --enable-parser=h264 \
|
||||
+ --enable-parser=mpeg4video \
|
||||
+ --enable-parser=mpegvideo \
|
||||
+ --enable-parser=aac \
|
||||
+ --enable-parser=aac_latm \
|
||||
+ --enable-parser=mpegaudio"
|
||||
+
|
||||
+PROTOCOLS="\
|
||||
+ --enable-protocol=file"
|
||||
+
|
||||
+export LDFLAGS="-fPIC"
|
||||
+
|
||||
+./configure \
|
||||
+ --prefix=./haiku/${ARCH} \
|
||||
+ ${GENERAL} \
|
||||
+ --extra-cflags="-O3 -fPIC" \
|
||||
+ --extra-cxxflags="-O3 -fPIC" \
|
||||
+ --extra-ldflags="-fPIC -liconv" \
|
||||
+ --enable-zlib \
|
||||
+ --disable-yasm \
|
||||
+ --disable-inline-asm \
|
||||
+ --disable-everything \
|
||||
+ ${MODULES} \
|
||||
+ ${VIDEO_DECODERS} \
|
||||
+ ${AUDIO_DECODERS} \
|
||||
+ ${VIDEO_ENCODERS} \
|
||||
+ ${AUDIO_ENCODERS} \
|
||||
+ ${DEMUXERS} \
|
||||
+ ${MUXERS} \
|
||||
+ ${PARSERS} \
|
||||
+ ${PROTOCOLS}
|
||||
+
|
||||
+make clean
|
||||
+make install
|
||||
--
|
||||
2.42.1
|
||||
2.45.2
|
||||
|
||||
Reference in New Issue
Block a user