From 87cacbeed49facf18355c55cc93d0a2a0142be09 Mon Sep 17 00:00:00 2001 From: lizzie Date: Wed, 22 Oct 2025 04:53:40 +0200 Subject: [compat] HaikuOS port (#2805) Still had the issues with libusb, but that should get solved with the other PRs anyways Signed-off-by: lizzie Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2805 Reviewed-by: MaranBr Reviewed-by: crueter Co-authored-by: lizzie Co-committed-by: lizzie --- .patch/glslang/0001-haikuos-fix.patch | 49 +++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 .patch/glslang/0001-haikuos-fix.patch (limited to '.patch') diff --git a/.patch/glslang/0001-haikuos-fix.patch b/.patch/glslang/0001-haikuos-fix.patch new file mode 100644 index 0000000000..ba68bc9729 --- /dev/null +++ b/.patch/glslang/0001-haikuos-fix.patch @@ -0,0 +1,49 @@ +diff --git a/StandAlone/StandAlone.cpp b/StandAlone/StandAlone.cpp +index be7f442..5fd0438 100644 +--- a/StandAlone/StandAlone.cpp ++++ b/StandAlone/StandAlone.cpp +@@ -1766,9 +1766,10 @@ int singleMain() + glslang::FinalizeProcess(); + } else { + ShInitialize(); ++#ifndef __HAIKU__ + ShInitialize(); // also test reference counting of users + ShFinalize(); // also test reference counting of users +- ++#endif + bool printShaderNames = workList.size() > 1; + + if (Options & EOptionMultiThreaded) { +@@ -1793,8 +1794,9 @@ int singleMain() + PutsIfNonEmpty(WorkItems[w]->results.c_str()); + } + } +- ++#ifndef __HAIKU__ + ShFinalize(); ++#endif + } + + if (CompileFailed.load()) +@@ -1809,8 +1811,10 @@ int C_DECL main(int argc, char* argv[]) + { + ProcessArguments(WorkItems, argc, argv); + ++#ifdef __HAIKU__ ++ return singleMain(); ++#else + int ret = 0; +- + // Loop over the entire init/finalize cycle to watch memory changes + const int iterations = 1; + if (iterations > 1) +@@ -1820,8 +1824,8 @@ int C_DECL main(int argc, char* argv[]) + if (iterations > 1) + glslang::OS_DumpMemoryCounters(); + } +- + return ret; ++#endif + } + + // -- cgit v1.2.3