From f7af06ad9b75700c3db04963b98adadddd0d52e0 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Thu, 1 May 2014 13:52:57 +0200
Subject: Fix build on gcc2, add Haiku makefile.


diff --git a/src/GameEngineWrapper.cpp b/src/GameEngineWrapper.cpp
index d3099a8..854d8fb 100644
--- a/src/GameEngineWrapper.cpp
+++ b/src/GameEngineWrapper.cpp
@@ -2416,7 +2416,7 @@ bool GameEngineWrapper::sdlinit()
 #endif
 
 	// Set the window caption (patch - do not use Unicode on Amiga-like systems which do not support it):
-#if defined(USESDL) && !defined(AMIGOID)
+#if defined(USESDL) && !defined(AMIGOID) && __GNUC__ > 2
 	SDL_WM_SetCaption( "XAMOS alpha 0.29 \u00a9 2012 Mequa Innovations", NULL ); // \u00a9
 #endif
 #if defined(USESDL) && defined(AMIGOID)
diff --git a/src/GameEngineWrapper.h b/src/GameEngineWrapper.h
index 60f27c7..c9f2c67 100644
--- a/src/GameEngineWrapper.h
+++ b/src/GameEngineWrapper.h
@@ -46,6 +46,9 @@ using namespace boost;
 
 #if defined(USESDL) && !defined(USEBOOST)
 // Deprecated:
+#if __GNUC__ <= 2
+#include <hash_map>
+#else
 #include <ext/hash_map>
 
 // TODO - allow hash_map for other compilers besides G++
@@ -54,6 +57,7 @@ using namespace __gnu_cxx;
 // Added - fix for hash_map using std::string:
 namespace __gnu_cxx //std
 {
+#endif
 	template<> struct hash< std::string >
 	{
 		size_t operator()( const std::string& x ) const
@@ -61,8 +65,10 @@ namespace __gnu_cxx //std
 			return hash< const char* >()( x.c_str() );
 		}
 	};
+#if __GNUC__ > 2
 }
 #endif
+#endif
 
 // Added - detect all Amiga-like systems:
 #if !defined(AMIGOID) && (defined(__AROS__) || defined(__MORPHOS__) || defined(__amigaos__) || defined (__amigaos4__))
diff --git a/src/Makefile_haiku b/src/Makefile_haiku
new file mode 100644
index 0000000..25e31e6
--- /dev/null
+++ b/src/Makefile_haiku
@@ -0,0 +1,20 @@
+CC=g++
+
+CFLAGS=-c -Wall -pedantic -Wno-deprecated -O3 -D USESDL
+LDFLAGS=-lSDL_image -lSDL_gfx -lSDL_mixer -ljpeg -lpng -lvorbisfile -lvorbis -logg -lSDL_ttf -lfreetype -lz -lSDL -lGL -lGLU
+
+SOURCES=main.cpp XAMOS.cpp SDL_collide.cpp Console.cpp AMALDebugTest.cpp PrintStream.cpp AMALBank.cpp AMALEnvGen.cpp AMALParser.cpp AMALInterpreter.cpp AMALCompiler.cpp AmalPrograms.cpp Timer.cpp AMOS_Sprite.cpp MequaScript.cpp AMOS_System.cpp GameEngineWrapper.cpp Mytype.cpp Mytypearray.cpp TheTokens.cpp Parser.cpp Dumper.cpp Interpreter.cpp CommandWrapper.cpp ActiveObject.cpp
+OBJECTS=$(SOURCES:.cpp=.o)
+EXECUTABLE=../XAMOS
+
+all: $(SOURCES) $(EXECUTABLE)
+	
+$(EXECUTABLE): $(OBJECTS) 
+	$(CC) $(OBJECTS) -o $@ $(LDFLAGS)
+
+.cpp.o:
+	$(CC) $(CFLAGS) $< -o $@
+
+clean:
+	rm -rf $(EXECUTABLE) *.o
+
-- 
2.21.0


From 80480b943ab71310e7bbd02289cd514056406dc8 Mon Sep 17 00:00:00 2001
From: begasus <begasus@gmail.com>
Date: Fri, 21 Jun 2019 09:17:41 +0200
Subject: Fix build, add install


diff --git a/src/Makefile_haiku b/src/Makefile_haiku
index 25e31e6..e9cb4b8 100644
--- a/src/Makefile_haiku
+++ b/src/Makefile_haiku
@@ -2,6 +2,7 @@ CC=g++
 
 CFLAGS=-c -Wall -pedantic -Wno-deprecated -O3 -D USESDL
 LDFLAGS=-lSDL_image -lSDL_gfx -lSDL_mixer -ljpeg -lpng -lvorbisfile -lvorbis -logg -lSDL_ttf -lfreetype -lz -lSDL -lGL -lGLU
+SDL_CFLAGS=`sdl-config --cflags`
 
 SOURCES=main.cpp XAMOS.cpp SDL_collide.cpp Console.cpp AMALDebugTest.cpp PrintStream.cpp AMALBank.cpp AMALEnvGen.cpp AMALParser.cpp AMALInterpreter.cpp AMALCompiler.cpp AmalPrograms.cpp Timer.cpp AMOS_Sprite.cpp MequaScript.cpp AMOS_System.cpp GameEngineWrapper.cpp Mytype.cpp Mytypearray.cpp TheTokens.cpp Parser.cpp Dumper.cpp Interpreter.cpp CommandWrapper.cpp ActiveObject.cpp
 OBJECTS=$(SOURCES:.cpp=.o)
@@ -13,7 +14,11 @@ $(EXECUTABLE): $(OBJECTS)
 	$(CC) $(OBJECTS) -o $@ $(LDFLAGS)
 
 .cpp.o:
-	$(CC) $(CFLAGS) $< -o $@
+	$(CC) $(CFLAGS) ${SDL_CFLAGS} $< -o $@
+
+install:
+	install -d $(PREFIX)/bin
+	install -m 755 ../XAMOS $(PREFIX)/bin
 
 clean:
 	rm -rf $(EXECUTABLE) *.o
-- 
2.21.0

