mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-08 21:00:05 +02:00
fs_uae, fs_uae_launcher: Update FS-UAE to 3.1.66, patch Launcher for better exe finding (#10455)
* fs_uae_launcher: Better Haiku-friendly binary search When updating fs-uae to 3.1.66, fs-uae-launcher was unable to find the fs-uae binary when the launcher was launched from the Deskbar. This changes the binary search code for Haiku to always look in the same direcctory where fs-uae-launcher is to be installed. * fs_uae: Update to 3.1.66 In order to get --with-glew to work, I had to manually add all of the C flags and linker options via env variables. glew.pc eventually tries to include gl.pc which doesn't exist. However, it seems that I only need to provide -Lgl and the program should work correctly (and it does). * Indent recpies using tabs
This commit is contained in:
@@ -8,11 +8,12 @@ setting up FS-UAE."
|
||||
HOMEPAGE="https://fs-uae.net/launcher/"
|
||||
COPYRIGHT="2011-2017 Frode Solheim"
|
||||
LICENSE="GNU GPL v2"
|
||||
REVISION="1"
|
||||
REVISION="2"
|
||||
SOURCE_URI="https://fs-uae.net/files/FS-UAE-Launcher/Stable/$portVersion/fs-uae-launcher-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="e36104442db278e0f1d073dbc2be2f9a937cd33e964968b75b324c393f8ec030"
|
||||
SOURCE_DIR="fs-uae-launcher-$portVersion"
|
||||
ADDITIONAL_FILES="fs-uae-launcher.rdef.in"
|
||||
PATCHES="fs_uae_launcher-3.1.68.patchset"
|
||||
|
||||
ARCHITECTURES="all !x86_gcc2"
|
||||
SECONDARY_ARCHITECTURES="?x86"
|
||||
|
||||
@@ -0,0 +1,89 @@
|
||||
From 04e5052445068b4684cd3a2cbc1836c590f4bc4b Mon Sep 17 00:00:00 2001
|
||||
From: John Bintz <haiku@johnbintz.com>
|
||||
Date: Fri, 17 May 2024 23:36:14 +0000
|
||||
Subject: try this approach
|
||||
|
||||
|
||||
diff --git a/fsgs/plugins/pluginexecutablefinder.py b/fsgs/plugins/pluginexecutablefinder.py
|
||||
index 7c8fa9e..478fbfb 100644
|
||||
--- a/fsgs/plugins/pluginexecutablefinder.py
|
||||
+++ b/fsgs/plugins/pluginexecutablefinder.py
|
||||
@@ -48,6 +48,10 @@ def find_executable(name: str):
|
||||
exe_file = find_executable_in_side_by_side_app_bundle(name)
|
||||
if exe_file:
|
||||
return exe_file
|
||||
+ if System.haiku:
|
||||
+ exe_file = find_executable_in_dir_or_app(name, "/bin")
|
||||
+ if exe_file:
|
||||
+ return exe_file
|
||||
exe_file = find_executable_side_by_side(name)
|
||||
if exe_file:
|
||||
return exe_file
|
||||
--
|
||||
2.43.2
|
||||
|
||||
|
||||
From ba11feac815d74cddfebbe4c932b90c11226e087 Mon Sep 17 00:00:00 2001
|
||||
From: John Bintz <haiku@johnbintz.com>
|
||||
Date: Fri, 17 May 2024 23:43:22 +0000
|
||||
Subject: detect haiku
|
||||
|
||||
|
||||
diff --git a/fsbc/system.py b/fsbc/system.py
|
||||
index 35c2bc8..5aab5c4 100644
|
||||
--- a/fsbc/system.py
|
||||
+++ b/fsbc/system.py
|
||||
@@ -4,6 +4,7 @@ import platform as _platform
|
||||
windows = sys.platform == "win32"
|
||||
linux = sys.platform.startswith("linux")
|
||||
macosx = sys.platform == "darwin"
|
||||
+haiku = sys.platform.startswith("haiku")
|
||||
|
||||
if windows:
|
||||
platform = "windows"
|
||||
@@ -11,6 +12,8 @@ elif linux:
|
||||
platform = "linux"
|
||||
elif macosx:
|
||||
platform = "macos"
|
||||
+elif haiku:
|
||||
+ platform = "haiku"
|
||||
else:
|
||||
platform = "unknown"
|
||||
|
||||
@@ -19,6 +22,7 @@ class System:
|
||||
windows = windows
|
||||
linux = linux
|
||||
macos = macosx
|
||||
+ haiku = haiku
|
||||
platform = platform
|
||||
|
||||
x86_64 = False
|
||||
--
|
||||
2.43.2
|
||||
|
||||
|
||||
From 22c33c4898e2dc5ab81a28aa3de2506c5e8b11e9 Mon Sep 17 00:00:00 2001
|
||||
From: John Bintz <haiku@johnbintz.com>
|
||||
Date: Fri, 17 May 2024 23:48:18 +0000
|
||||
Subject: try again
|
||||
|
||||
|
||||
diff --git a/fsgs/plugins/pluginexecutablefinder.py b/fsgs/plugins/pluginexecutablefinder.py
|
||||
index 478fbfb..ecbf1fa 100644
|
||||
--- a/fsgs/plugins/pluginexecutablefinder.py
|
||||
+++ b/fsgs/plugins/pluginexecutablefinder.py
|
||||
@@ -49,7 +49,10 @@ def find_executable(name: str):
|
||||
if exe_file:
|
||||
return exe_file
|
||||
if System.haiku:
|
||||
- exe_file = find_executable_in_dir_or_app(name, "/bin")
|
||||
+ plugin_name = known_executables.get(name)
|
||||
+ if plugin_name is None:
|
||||
+ return None
|
||||
+ exe_file = find_executable_in_dir_or_app(name, "/bin", plugin_name)
|
||||
if exe_file:
|
||||
return exe_file
|
||||
exe_file = find_executable_side_by_side(name)
|
||||
--
|
||||
2.43.2
|
||||
|
||||
110
app-emulation/fs-uae/fs_uae-3.1.66.recipe
Normal file
110
app-emulation/fs-uae/fs_uae-3.1.66.recipe
Normal file
@@ -0,0 +1,110 @@
|
||||
SUMMARY="FS-UAE is a cross platform Amiga emulator ported from WinUAE"
|
||||
DESCRIPTION="Accurate Amiga Emulation
|
||||
|
||||
FS-UAE integrates the most accurate Amiga emulation code available from \
|
||||
WinUAE. FS-UAE emulates A500, A500+, A600, A1200, A1000, A3000 and A4000 \
|
||||
models, but you can tweak the hardware configuration and create customized \
|
||||
Amigas.
|
||||
|
||||
On-Screen GUI With Gamepad Control
|
||||
|
||||
FS-UAE is fully controllable with a gamepad - you can easily swap floppies \
|
||||
and load save states through the on-screen GUI. In addition to being great \
|
||||
on your personal computer, FS-UAE is also well suited to be started from an \
|
||||
emulator frontend running on a HTPC.
|
||||
|
||||
Emulate High-End Amigas
|
||||
|
||||
FS-UAE supports emulating an Amiga 4000 with an CPU as fast as your \
|
||||
system can emulate it. Picasso96 drivers can be used with the built-in \
|
||||
UAEgfx card to display Workbench in high resolutions and with up to 16.7 \
|
||||
million colors, and the built-in bsdsocket.library means that the Amiga \
|
||||
will have access to the Internet.
|
||||
|
||||
Community Support
|
||||
|
||||
There is a support forum for FS-UAE on the English Amiga Board with many \
|
||||
active registered users. If you are stuck, you'll almost certainly get an \
|
||||
answer to your questions there. You can also leave comments on fs-uae.net \
|
||||
is you rather want that.
|
||||
|
||||
Online Documentation
|
||||
|
||||
A great deal of documentation about how to use and configure FS-UAE is \
|
||||
available on fs-uae.net."
|
||||
HOMEPAGE="https://fs-uae.net/"
|
||||
COPYRIGHT="2011-2017 Frode Solheim"
|
||||
LICENSE="GNU GPL v2"
|
||||
REVISION="1"
|
||||
SOURCE_URI="https://fs-uae.net/files/FS-UAE/Stable/${portVersion}/fs-uae-${portVersion}.tar.xz"
|
||||
CHECKSUM_SHA256="606e1868b500413d69bd33bb469f8fd08d6c08988801f17b7dd022f3fbe23832"
|
||||
SOURCE_DIR="fs-uae-$portVersion"
|
||||
PATCHES="fs_uae-$portVersion.patchset"
|
||||
|
||||
ARCHITECTURES="all ?x86 !x86_gcc2"
|
||||
SECONDARY_ARCHITECTURES="?x86"
|
||||
|
||||
PROVIDES="
|
||||
fs_uae$secondaryArchSuffix = $portVersion
|
||||
cmd:fs_uae$secondaryArchSuffix
|
||||
cmd:fs_uae_device_helper$secondaryArchSuffix
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libgl$secondaryArchSuffix
|
||||
lib:libglew$secondaryArchSuffix
|
||||
lib:libglib_2.0$secondaryArchSuffix
|
||||
lib:libglu$secondaryArchSuffix
|
||||
lib:libgthread_2.0$secondaryArchSuffix
|
||||
lib:libintl$secondaryArchSuffix
|
||||
lib:libmpeg2$secondaryArchSuffix
|
||||
lib:libopenal$secondaryArchSuffix
|
||||
lib:libpng16$secondaryArchSuffix
|
||||
lib:libsdl2_2.0$secondaryArchSuffix
|
||||
lib:libx11$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
devel:libGL$secondaryArchSuffix
|
||||
devel:libglew$secondaryArchSuffix
|
||||
devel:libglib_2.0$secondaryArchSuffix
|
||||
devel:libgthread_2.0$secondaryArchSuffix
|
||||
devel:libmpeg2$secondaryArchSuffix
|
||||
devel:libopenal$secondaryArchSuffix
|
||||
devel:libpng16$secondaryArchSuffix
|
||||
devel:libsdl2_2.0$secondaryArchSuffix
|
||||
devel:libx11$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:aclocal$secondaryArchSuffix
|
||||
cmd:autoconf$secondaryArchSuffix
|
||||
cmd:awk$secondaryArchSuffix
|
||||
cmd:bison$secondaryArchSuffix
|
||||
cmd:flex$secondaryArchSuffix
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:libtoolize$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:perl$secondaryArchSuffix
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
cmd:zip$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
export CPPFLAGS="-D_BSD_SOURCE"
|
||||
export CXXFLAGS="-fPIC"
|
||||
export CFLAGS="-fPIC"
|
||||
export LDFLAGS="-lnetwork"
|
||||
export GLEW_LIBS="-lGL -lGLEW -lGLU -L/system/develop/lib"
|
||||
export GLEW_CFLAGS="-I/system/develop/headers"
|
||||
autoreconf -f -i
|
||||
runConfigure ./configure --disable-bsdsocket --disable-netplay --with-glew
|
||||
make $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
make install
|
||||
}
|
||||
348
app-emulation/fs-uae/patches/fs_uae-3.1.66.patchset
Normal file
348
app-emulation/fs-uae/patches/fs_uae-3.1.66.patchset
Normal file
@@ -0,0 +1,348 @@
|
||||
From 065faeb7d353e16aea165701e1e36f75f50d1bce Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
|
||||
Date: Sun, 6 Aug 2017 14:19:55 +0200
|
||||
Subject: FS-UAE: Tidied up Haiku patchset
|
||||
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index d00bbb9..7c97a4d 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -751,6 +751,7 @@ libfsemu_a_SOURCES = \
|
||||
libfsemu/src/ml/input.c \
|
||||
libfsemu/src/ml/keyboard.c \
|
||||
libfsemu/src/ml/macosx.c \
|
||||
+ libfsemu/src/ml/haiku.c \
|
||||
libfsemu/src/ml/ml.c \
|
||||
libfsemu/src/ml/ml_internal.h \
|
||||
libfsemu/src/ml/mouse.c \
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 168533b..c8c4a80 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -270,6 +270,7 @@ AC_DEFINE([USE_SDL_INPUT], [1], [Define to 1 to use SDL for input])
|
||||
AS_CASE([$host_os],
|
||||
[mingw*], [],
|
||||
[darwin*], [],
|
||||
+[haiku*], [],
|
||||
[
|
||||
X11_LIBS="-lX11"
|
||||
AC_DEFINE([USE_X11], [1], [Define to 1 to use X11])
|
||||
@@ -352,6 +353,13 @@ AS_CASE([$host_os],
|
||||
OS_CPPFLAGS="-DDRAGONFLYBSD"
|
||||
LOADABLE_MODULE_EXT=".so"
|
||||
],
|
||||
+[haiku*], [
|
||||
+ OS_NAME="haiku"
|
||||
+ OS_NAME_2="Haiku"
|
||||
+ OS_NAME_3="Haiku"
|
||||
+ OS_CPPFLAGS="-DHAIKU"
|
||||
+ LOADABLE_MODULE_EXT=".so"
|
||||
+],
|
||||
[
|
||||
OS_NAME="unknown"
|
||||
OS_NAME_2="Unknown OS"
|
||||
diff --git a/libfsemu/include/fs/endian.h b/libfsemu/include/fs/endian.h
|
||||
index 01ee0f9..a276e10 100644
|
||||
--- a/libfsemu/include/fs/endian.h
|
||||
+++ b/libfsemu/include/fs/endian.h
|
||||
@@ -7,6 +7,10 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+#include <endian.h>
|
||||
+#endif
|
||||
+
|
||||
#ifdef _WIN32
|
||||
|
||||
/* Use custom conversion routines for Windows */
|
||||
diff --git a/libfsemu/src/ml/haiku.c b/libfsemu/src/ml/haiku.c
|
||||
new file mode 100644
|
||||
index 0000000..f839d2a
|
||||
--- /dev/null
|
||||
+++ b/libfsemu/src/ml/haiku.c
|
||||
@@ -0,0 +1,127 @@
|
||||
+#ifdef HAVE_CONFIG_H
|
||||
+#include "config.h"
|
||||
+#endif
|
||||
+
|
||||
+#ifdef HAIKU
|
||||
+
|
||||
+#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <string.h>
|
||||
+#include <sys/time.h>
|
||||
+
|
||||
+#include <fs/log.h>
|
||||
+#include <fs/ml.h>
|
||||
+#include "ml_internal.h"
|
||||
+
|
||||
+void fs_ml_configure_window(void)
|
||||
+{
|
||||
+ // TODO
|
||||
+}
|
||||
+
|
||||
+
|
||||
+void fs_ml_usleep(int usec) {
|
||||
+ usleep(usec);
|
||||
+}
|
||||
+
|
||||
+void fs_ml_prevent_power_saving(void)
|
||||
+{
|
||||
+ // TODO
|
||||
+}
|
||||
+
|
||||
+void fs_ml_activate_window_switcher_impl(void)
|
||||
+{
|
||||
+ fs_log("FIXME: Active window switcher not implemented\n");
|
||||
+}
|
||||
+
|
||||
+#define MAX_SCANCODES 200
|
||||
+static int g_key_map[MAX_SCANCODES] = {};
|
||||
+
|
||||
+void fs_ml_initialize_keymap() {
|
||||
+ for (int i = 0; i < MAX_SCANCODES; i++) {
|
||||
+ g_key_map[i] = -1;
|
||||
+ }
|
||||
+
|
||||
+ g_key_map[53] = FS_ML_KEY_ESCAPE;
|
||||
+ g_key_map[122] = FS_ML_KEY_F1;
|
||||
+ g_key_map[120] = FS_ML_KEY_F2;
|
||||
+ g_key_map[99] = FS_ML_KEY_F3;
|
||||
+ g_key_map[118] = FS_ML_KEY_F4;
|
||||
+ g_key_map[96] = FS_ML_KEY_F5;
|
||||
+ g_key_map[97] = FS_ML_KEY_F6;
|
||||
+ g_key_map[98] = FS_ML_KEY_F7;
|
||||
+ g_key_map[100] = FS_ML_KEY_F8;
|
||||
+ g_key_map[101] = FS_ML_KEY_F9;
|
||||
+ g_key_map[109] = FS_ML_KEY_F10;
|
||||
+ g_key_map[103] = FS_ML_KEY_F11;
|
||||
+ g_key_map[111] = FS_ML_KEY_F12;
|
||||
+
|
||||
+ g_key_map[10] = FS_ML_KEY_BACKQUOTE;
|
||||
+ g_key_map[18] = FS_ML_KEY_1;
|
||||
+ g_key_map[19] = FS_ML_KEY_2;
|
||||
+ g_key_map[20] = FS_ML_KEY_3;
|
||||
+ g_key_map[21] = FS_ML_KEY_4;
|
||||
+ g_key_map[23] = FS_ML_KEY_5;
|
||||
+ g_key_map[22] = FS_ML_KEY_6;
|
||||
+ g_key_map[26] = FS_ML_KEY_7;
|
||||
+ g_key_map[28] = FS_ML_KEY_8;
|
||||
+ g_key_map[25] = FS_ML_KEY_9;
|
||||
+ g_key_map[29] = FS_ML_KEY_0;
|
||||
+ g_key_map[27] = FS_ML_KEY_MINUS;
|
||||
+ g_key_map[24] = FS_ML_KEY_EQUALS;
|
||||
+ g_key_map[15] = FS_ML_KEY_BACKSPACE;
|
||||
+
|
||||
+ g_key_map[48] = FS_ML_KEY_TAB;
|
||||
+ g_key_map[12] = FS_ML_KEY_Q;
|
||||
+ g_key_map[13] = FS_ML_KEY_W;
|
||||
+ g_key_map[14] = FS_ML_KEY_E;
|
||||
+ g_key_map[15] = FS_ML_KEY_R;
|
||||
+ g_key_map[17] = FS_ML_KEY_T;
|
||||
+ g_key_map[16] = FS_ML_KEY_Y;
|
||||
+ g_key_map[32] = FS_ML_KEY_U;
|
||||
+ g_key_map[34] = FS_ML_KEY_I;
|
||||
+ g_key_map[31] = FS_ML_KEY_O;
|
||||
+ g_key_map[35] = FS_ML_KEY_P;
|
||||
+ g_key_map[33] = FS_ML_KEY_LEFTBRACKET;
|
||||
+ g_key_map[30] = FS_ML_KEY_RIGHTBRACKET;
|
||||
+ g_key_map[36] = FS_ML_KEY_RETURN;
|
||||
+
|
||||
+ g_key_map[0] = FS_ML_KEY_A;
|
||||
+ g_key_map[1] = FS_ML_KEY_S;
|
||||
+ g_key_map[2] = FS_ML_KEY_D;
|
||||
+ g_key_map[3] = FS_ML_KEY_F;
|
||||
+ g_key_map[5] = FS_ML_KEY_G;
|
||||
+ g_key_map[4] = FS_ML_KEY_H;
|
||||
+ g_key_map[38] = FS_ML_KEY_J;
|
||||
+ g_key_map[40] = FS_ML_KEY_K;
|
||||
+ g_key_map[37] = FS_ML_KEY_L;
|
||||
+ g_key_map[41] = FS_ML_KEY_SEMICOLON;
|
||||
+ g_key_map[39] = FS_ML_KEY_QUOTE;
|
||||
+ g_key_map[42] = FS_ML_KEY_BACKSLASH;
|
||||
+
|
||||
+ g_key_map[50] = FS_ML_KEY_LESS;
|
||||
+ g_key_map[6] = FS_ML_KEY_Z;
|
||||
+ g_key_map[7] = FS_ML_KEY_X;
|
||||
+ g_key_map[8] = FS_ML_KEY_C;
|
||||
+ g_key_map[9] = FS_ML_KEY_V;
|
||||
+ g_key_map[11] = FS_ML_KEY_B;
|
||||
+ g_key_map[45] = FS_ML_KEY_N;
|
||||
+ g_key_map[46] = FS_ML_KEY_M;
|
||||
+ g_key_map[43] = FS_ML_KEY_COMMA;
|
||||
+ g_key_map[47] = FS_ML_KEY_PERIOD;
|
||||
+ g_key_map[44] = FS_ML_KEY_SLASH;
|
||||
+ g_key_map[49] = FS_ML_KEY_SPACE;
|
||||
+ g_key_map[110] = FS_ML_KEY_MENU;
|
||||
+
|
||||
+ g_key_map[105] = FS_ML_KEY_PRINT;
|
||||
+ g_key_map[107] = FS_ML_KEY_SCROLLOCK;
|
||||
+ g_key_map[113] = FS_ML_KEY_PAUSE;
|
||||
+}
|
||||
+
|
||||
+int fs_ml_scancode_to_key(int scancode) {
|
||||
+ if (scancode < 0 || scancode >= MAX_SCANCODES) {
|
||||
+ return -1;
|
||||
+ }
|
||||
+ return g_key_map[scancode];
|
||||
+}
|
||||
+
|
||||
+#endif
|
||||
diff --git a/manymouse/x11_xinput2.c b/manymouse/x11_xinput2.c
|
||||
index bdbda8c..21db919 100644
|
||||
--- a/manymouse/x11_xinput2.c
|
||||
+++ b/manymouse/x11_xinput2.c
|
||||
@@ -10,7 +10,7 @@
|
||||
#include "manymouse.h"
|
||||
/* Try to use this on everything but Windows and Mac OS by default... */
|
||||
#ifndef SUPPORT_XINPUT2
|
||||
-#if ( (defined(_WIN32) || defined(__CYGWIN__)) )
|
||||
+#if ( (defined(_WIN32) || defined(__CYGWIN__) || defined(__HAIKU__)) )
|
||||
#define SUPPORT_XINPUT2 0
|
||||
#elif ( (defined(__MACH__)) && (defined(__APPLE__)) )
|
||||
#define SUPPORT_XINPUT2 0
|
||||
diff --git a/src/fs-uae/main.c b/src/fs-uae/main.c
|
||||
index f3f0370..6aab284 100644
|
||||
--- a/src/fs-uae/main.c
|
||||
+++ b/src/fs-uae/main.c
|
||||
@@ -40,6 +40,10 @@ static int fs_uae_argc;
|
||||
static char **fs_uae_argv;
|
||||
static int g_warn_about_missing_config_file;
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+int log_bsd = 0;
|
||||
+#endif
|
||||
+
|
||||
#define LOG_LINE "---------------------------------------------------------" \
|
||||
"-------------------\n"
|
||||
|
||||
diff --git a/src/scp.cpp b/src/scp.cpp
|
||||
index 0d7a6a5..5f35864 100644
|
||||
--- a/src/scp.cpp
|
||||
+++ b/src/scp.cpp
|
||||
@@ -21,6 +21,10 @@
|
||||
|
||||
#define MAX_REVS 5
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+#include <endian.h>
|
||||
+#endif
|
||||
+
|
||||
enum pll_mode {
|
||||
PLL_fixed_clock, /* Fixed clock, snap phase to flux transitions. */
|
||||
PLL_variable_clock, /* Variable clock, snap phase to flux transitions. */
|
||||
--
|
||||
2.13.1
|
||||
|
||||
|
||||
From b33930a42cf51826937c2290468857dbf25a1f1d Mon Sep 17 00:00:00 2001
|
||||
From: Chris Moore <chris@mooreonline.org>
|
||||
Date: Mon, 7 Aug 2017 19:13:30 +0100
|
||||
Subject: Further fixes
|
||||
|
||||
|
||||
diff --git a/src/ethernet.cpp b/src/ethernet.cpp
|
||||
index 115aa5a..d2f2963 100644
|
||||
--- a/src/ethernet.cpp
|
||||
+++ b/src/ethernet.cpp
|
||||
@@ -14,7 +14,7 @@
|
||||
#include "uae/slirp.h"
|
||||
|
||||
#ifndef HAVE_INET_ATON
|
||||
-static int inet_aton(const char *cp, struct in_addr *ia)
|
||||
+int inet_aton(const char *cp, struct in_addr *ia)
|
||||
{
|
||||
uint32_t addr = inet_addr(cp);
|
||||
if (addr == 0xffffffff)
|
||||
diff --git a/src/jit/exception_handler.cpp b/src/jit/exception_handler.cpp
|
||||
index 8cf96f8..2e8b873 100644
|
||||
--- a/src/jit/exception_handler.cpp
|
||||
+++ b/src/jit/exception_handler.cpp
|
||||
@@ -9,8 +9,10 @@
|
||||
#ifndef __USE_GNU
|
||||
#define __USE_GNU
|
||||
#endif
|
||||
+#ifndef __HAIKU__
|
||||
#include <sys/ucontext.h>
|
||||
#endif
|
||||
+#endif
|
||||
#include <signal.h>
|
||||
|
||||
#define SIG_READ 1
|
||||
--
|
||||
2.13.1
|
||||
|
||||
|
||||
From b3076a6b080f81acea707d4c74557b109f8e3da8 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Moore <chris@mooreonline.org>
|
||||
Date: Tue, 8 Aug 2017 19:00:45 +0100
|
||||
Subject: Fix Haiku fs-uae.dat file location
|
||||
|
||||
|
||||
diff --git a/libfsemu/src/data.c b/libfsemu/src/data.c
|
||||
index 2d597ad..a5239e7 100644
|
||||
--- a/libfsemu/src/data.c
|
||||
+++ b/libfsemu/src/data.c
|
||||
@@ -12,6 +12,10 @@
|
||||
#include <stdint.h>
|
||||
#include <glib.h>
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+#include <FindDirectory.h>
|
||||
+#endif
|
||||
+
|
||||
#ifdef USE_ZLIB
|
||||
#include "zlib.h"
|
||||
#endif
|
||||
@@ -339,6 +343,20 @@ int fs_data_init(const char *app_name, const char *dat_name)
|
||||
}
|
||||
#endif
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+ char haiku_data_path[PATH_MAX + 1];
|
||||
+ status_t status = find_path(fs_data_init, B_FIND_PATH_DATA_DIRECTORY,
|
||||
+ "fs-uae", haiku_data_path, PATH_MAX);
|
||||
+ if (status == B_OK) {
|
||||
+ if (g_dat_file == NULL) {
|
||||
+ char *dat_path = g_build_filename(haiku_data_path, dat_name, NULL);
|
||||
+ fs_log("checking dat file: %s\n", dat_path);
|
||||
+ g_dat_file = g_fopen(dat_path, "rb");
|
||||
+ free(dat_path);
|
||||
+ }
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
if (g_dat_file == NULL) {
|
||||
error = 10;
|
||||
} else {
|
||||
--
|
||||
2.13.1
|
||||
|
||||
|
||||
From 17456f069bc3c8b6f8f0faad51ece2528830349f Mon Sep 17 00:00:00 2001
|
||||
From: Chris Moore <chris@mooreonline.org>
|
||||
Date: Sun, 10 Sep 2017 09:40:21 +0100
|
||||
Subject: Fix conflicting typedefs for uint32
|
||||
|
||||
|
||||
diff --git a/src/include/gfxfilter.h b/src/include/gfxfilter.h
|
||||
index 914b517..578d6b5 100644
|
||||
--- a/src/include/gfxfilter.h
|
||||
+++ b/src/include/gfxfilter.h
|
||||
@@ -22,7 +22,11 @@ extern void PAL_1x1_16 (uae_u16 *src, int pitchs, uae_u16 *trg, int pitcht, int
|
||||
|
||||
typedef unsigned char uint8;
|
||||
typedef unsigned short uint16;
|
||||
+#ifndef __HAIKU__
|
||||
typedef unsigned long uint32;
|
||||
+#else
|
||||
+#include <SupportDefs.h>
|
||||
+#endif
|
||||
#ifndef __cplusplus
|
||||
typedef int bool;
|
||||
#endif
|
||||
--
|
||||
2.13.1
|
||||
|
||||
Reference in New Issue
Block a user