From 24f44d67be0ad012ec04ffc8fd620d19ae1aaa75 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Wed, 9 Jul 2014 15:19:11 +0200
Subject: Get things to build on Haiku.


diff --git a/CMakeLists.txt b/CMakeLists.txt
index 004b022..e210f6b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -140,7 +140,7 @@ if ( CMAKE_COMPILER_IS_GNUCC )
     set ( CMAKE_SHARED_LINKER_FLAGS
           "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined" )
   endif ( NOT APPLE AND NOT OS2 )
-  set ( GNUCC_WARNING_FLAGS "-Wall -W -Wpointer-arith -Wbad-function-cast -Wno-cast-qual -Wcast-align -Wstrict-prototypes -Wno-unused-parameter -Wdeclaration-after-statement" )
+  set ( GNUCC_WARNING_FLAGS "-Wall -W -Wpointer-arith -Wbad-function-cast -Wno-cast-qual -Wcast-align -Wstrict-prototypes" )
   set ( CMAKE_C_FLAGS_DEBUG "-g -DDEBUG ${GNUCC_WARNING_FLAGS}" )
   set ( CMAKE_C_FLAGS_RELEASE "-O2 -fomit-frame-pointer -funroll-all-loops -finline-functions -DNDEBUG ${GNUCC_WARNING_FLAGS}" )
   set ( CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g -fomit-frame-pointer -funroll-all-loops -finline-functions -DNDEBUG ${GNUCC_WARNING_FLAGS}" )
@@ -168,9 +168,9 @@ if ( WIN32 )
   endif  ( MINGW )
 else ( WIN32 )
 # Check PThreads, but not in Windows
-  find_package ( Pthreads REQUIRED )
-  set ( HAVE_LIBPTHREAD ${PTHREADS_FOUND} )
-  set ( LIBFLUID_LIBS "m" )
+  find_package ( Threads REQUIRED )
+  set ( HAVE_LIBPTHREAD ${THREADS_FOUND} )
+  set ( LIBFLUID_LIBS "network;bsd" )
 endif ( WIN32 )
 
 # IBM OS/2
@@ -412,7 +412,7 @@ set ( includedir "\${prefix}/${INCLUDE_INSTALL_DIR}" )
 configure_file ( fluidsynth.pc.in
 	${CMAKE_BINARY_DIR}/fluidsynth.pc IMMEDIATE @ONLY )
 install ( FILES ${CMAKE_BINARY_DIR}/fluidsynth.pc
-	DESTINATION ${LIB_INSTALL_DIR}${LIB_SUFFIX}/pkgconfig )
+	DESTINATION ${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}${LIB_SUFFIX}/pkgconfig )
 
 # Extra targets for Unix build environments
 if ( UNIX )
diff --git a/src/utils/fluid_sys.h b/src/utils/fluid_sys.h
index 7cfb7a9..6ac460e 100644
--- a/src/utils/fluid_sys.h
+++ b/src/utils/fluid_sys.h
@@ -335,7 +335,7 @@ extern fluid_profile_data_t fluid_profile_data[];
     sample data.
  */
 
-#if defined(HAVE_SYS_MMAN_H) && !defined(__OS2__)
+#if defined(HAVE_SYS_MMAN_H) && !defined(__OS2__) && !defined(__HAIKU__)
 #define fluid_mlock(_p,_n)      mlock(_p, _n)
 #define fluid_munlock(_p,_n)    munlock(_p,_n)
 #else
-- 
1.8.3.4

From 168e9fa215ab0a97c823aac7cc815d2d8542287d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= <revol@free.fr>
Date: Fri, 15 Aug 2014 16:10:40 +0200
Subject: [PATCH] configure: Haiku: drop libm, add libnetwork

Haiku doesn't have libm proper, it's embedded in libroot.
Also, we use libnetwork for socket() and friends.

Somehow all this doesn't seem to change anything though!?
---
 configure.ac | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/configure.ac b/configure.ac
index 2641597..c621cd2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -83,6 +83,10 @@ os2*)
 solaris*) 
   LDFLAGS="$LDFLAGS -lnsl -lsocket" 
   ;; 
+haiku*)
+  LIBFLUID_LIBS=""
+  LDFLAGS="$LDFLAGS -lnetwork"
+  ;; 
 esac
 
 AC_SUBST(LIBFLUID_LIBS)
-- 
1.8.3.4

From 71dedb016726d4732b8527eb487e901fe0ed7452 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= <revol@free.fr>
Date: Fri, 15 Aug 2014 16:37:55 +0200
Subject: [PATCH 1/2] configure: AM_CONFIG_HEADER is deprecated

Use AC_CONFIG_HEADER instead.
---
 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index d0e1cfe..e88cba6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -35,7 +35,7 @@ m4_define([lt_age], [5])
 LT_VERSION_INFO="lt_current:lt_revision:lt_age"
 AC_SUBST(LT_VERSION_INFO)
 
-AM_CONFIG_HEADER(src/config.h)
+AC_CONFIG_HEADER(src/config.h)
 AC_CONFIG_MACRO_DIR([m4])
 
 CFLAGS="$CFLAGS"
-- 
1.8.3.4


From 0057f67ec395e9053b1c235d2fe904aa25800bfe Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= <revol@free.fr>
Date: Fri, 15 Aug 2014 16:41:10 +0200
Subject: [PATCH 2/2] configure: Drop -Wno-unused-parameter (gcc2 doesn't know
 this)

Haiku requires buiding with gcc2 for some parts...
---
 configure.ac | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/configure.ac b/configure.ac
index e88cba6..36d37c5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -151,10 +151,10 @@ AC_ARG_ENABLE(debug, AS_HELP_STRING([--enable-debug],
 # Those are only valid for GCC
 if test "$GCC" = yes; then
   if test "$ENABLE_DEBUG" = "yes"; then
-    CFLAGS="${CFLAGS} ${FCCFLAGS} -g -Wall -W -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wstrict-prototypes -Wno-unused-parameter -Wno-cast-qual"
+    CFLAGS="${CFLAGS} ${FCCFLAGS} -g -Wall -W -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wstrict-prototypes -Wno-cast-qual"
     AC_DEFINE(DEBUG, 1, [Define to activate debugging message]) 
   else
-    CFLAGS="${CFLAGS} ${FCCFLAGS} -O2 -fomit-frame-pointer -funroll-all-loops -finline-functions -Wall -W -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wstrict-prototypes -Winline -Wno-unused-parameter -Wno-cast-qual"
+    CFLAGS="${CFLAGS} ${FCCFLAGS} -O2 -fomit-frame-pointer -funroll-all-loops -finline-functions -Wall -W -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wstrict-prototypes -Winline -Wno-cast-qual"
     AC_DEFINE(DEBUG, 0, [Define to activate debugging message])
   fi
 fi
-- 
1.8.3.4

