  if test $target_cpu = powerpc; then
  	AC_DEFINE([TPUTS_KLUDGE],[1],[Evil kludge to get Power based machines to work])
  fi
-@@ -510,7 +527,7 @@ AC_DEFINE(
+@@ -510,7 +520,7 @@ AC_DEFINE(
  # Check for os dependant libraries for all binaries.
  LIBS_COMMON=$LIBS
  LIBS=""

 LIBS_FISHD=$LIBS
 LIBS=$LIBS_COMMON
 
diff --git a/proc.c fish-1.23.1-git/proc.c
index edcc7c6..30dd96f 100644
--- a/proc.c
+++ fish-1.23.1-git/proc.c
@@ -482,8 +482,11 @@ static void handle_child_status( pid_t pid, int status )
 	return;
 }
 
-
+#ifdef SA_SIGINFO
 void job_handle_signal ( int signal, siginfo_t *info, void *con )
+#else
+void job_handle_signal ( int signal )
+#endif
 {
 
 	int status;
diff --git a/proc.h fish-1.23.1-git/proc.h
index dd46bc0..3618956 100644
--- a/proc.h
+++ fish-1.23.1-git/proc.h
@@ -427,7 +427,9 @@ int job_reap( int interactive );
    Signal handler for SIGCHLD. Mark any processes with relevant
    information.
 */
+#ifdef SA_SIGINFO
 void job_handle_signal( int signal, siginfo_t *info, void *con );
+#endif
 
 /**
    Send the specified signal to all processes in the specified job.
diff --git a/signal.c fish-1.23.1-git/signal.c
index 2ac38aa..3ff1d38 100644
--- a/signal.c
+++ fish-1.23.1-git/signal.c
@@ -29,6 +29,14 @@ The library for various signal related issues
 #include "reader.h"
 #include "proc.h"
 
+#ifdef __HAIKU__
+#ifndef SA_SIGINFO
+#define SA_SIGINFO 0
+typedef struct {
+} siginfo_t;
+#define sa_sigaction sa_handler
+#endif
+#endif
 
 /**
    Struct describing an entry for the lookup table used to convert

diff --git a/configure.ac b/configure.ac
index 377ab5e..9f2e5e9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -142,6 +142,12 @@ AC_CONFIG_HEADERS(config.h)
 
 
 #
