this patch is against 4.3.10-svn-oct-4-2008, done using the -4 patch and fixing it where it get applied right.

This commit is contained in:
Scott McCreary
2008-10-05 04:14:38 +00:00
parent fb1be826a0
commit 59bb6b2adc

View File

@@ -0,0 +1,792 @@
diff -urN allegro-4.3.10/addons/allegrogl/fix.sh allegro-4.3.10-haiku/addons/allegrogl/fix.sh
--- allegro-4.3.10/addons/allegrogl/fix.sh 2008-10-04 20:41:29.000000000 +0000
+++ allegro-4.3.10-haiku/addons/allegrogl/fix.sh 2008-10-04 21:07:34.000000000 +0000
@@ -26,7 +26,7 @@
echo "Compilation target adjustment."
echo " Usage: fix <platform> [--dtou|--utod|--quick]"
echo ""
- echo " <platform> is one of: djgpp, mingw32, unix, macosx,"
+ echo " <platform> is one of: djgpp, haiku, mingw32, unix, macosx,"
echo " macosx-universal"
echo ""
echo " --dtou converts from DOS/Win32 format to Unix"
@@ -81,6 +81,7 @@
case "$1" in
djgpp ) proc_fix "DJGPP" "makefile.dj";;
+ haiku ) proc_fix "Haiku" "makefile.gen";;
mingw ) proc_fix "Mingw32" "makefile.mgw";;
mingw32 ) proc_fix "Mingw32" "makefile.mgw";;
# used only by allegro's zipup.sh in packaging process
diff -urN allegro-4.3.10/addons/jpgalleg/fix.sh allegro-4.3.10-haiku/addons/jpgalleg/fix.sh
--- allegro-4.3.10/addons/jpgalleg/fix.sh 2008-10-04 20:41:12.000000000 +0000
+++ allegro-4.3.10-haiku/addons/jpgalleg/fix.sh 2008-10-04 21:01:19.000000000 +0000
@@ -85,6 +85,7 @@
"mingw" ) proc_fix "MinGW32" "makefile.mgw";;
"msvc" ) proc_fix "MSVC" "makefile.vc";;
"beos" ) proc_fix "BeOS" "makefile.be";;
+ "haiku" ) proc_fix "Haiku" "makefile.be";;
"unix" ) proc_fix "Unix" "makefile.uni";;
"macosx" ) proc_fix "MacOS X" "makefile.osx";;
"macosx-universal" ) proc_fix_osx_ub ;;
diff -urN allegro-4.3.10/addons/loadpng/fix.sh allegro-4.3.10-haiku/addons/loadpng/fix.sh
--- allegro-4.3.10/addons/loadpng/fix.sh 2008-10-04 20:41:10.000000000 +0000
+++ allegro-4.3.10-haiku/addons/loadpng/fix.sh 2008-10-04 21:08:47.000000000 +0000
@@ -8,7 +8,7 @@
echo
echo "Usage: $0 <platform> [--quick|--dtou|--utod]"
echo
- echo "Where platform is one of: djgpp, mingw32, unix, macosx, macosx-universal"
+ echo "Where platform is one of: djgpp, haiku, mingw32, unix, macosx, macosx-universal"
echo "The --quick parameter turns off text file conversion, --dtou converts from"
echo "DOS/Win32 format to Unix, --utod converts from Unix to DOS/Win32 format."
echo "If no parameter is specified --quick is assumed."
@@ -88,7 +88,9 @@
fi
case "$1" in
+ "beos" ) proc_fix "BeOS" "Makefile.be";;
"djgpp" ) proc_fix "DOS (djgpp)" "Makefile.dj";;
+ "haiku" ) proc_fix "Haiku" "Makefile.be";;
"mingw" ) proc_fix "Windows (MinGW)" "Makefile.mgw";;
"mingw32" ) proc_fix "Windows (MinGW)" "Makefile.mgw";;
"unix" ) proc_fix "Unix" "Makefile.unx";;
diff -urN allegro-4.3.10/addons/logg/fix.sh allegro-4.3.10-haiku/addons/logg/fix.sh
--- allegro-4.3.10/addons/logg/fix.sh 2008-10-04 20:41:29.000000000 +0000
+++ allegro-4.3.10-haiku/addons/logg/fix.sh 2008-10-04 21:12:47.000000000 +0000
@@ -8,7 +8,7 @@
echo
echo "Usage: $0 <platform> [--quick|--dtou|--utod]"
echo
- echo "Where platform is one of: mingw32, unix, macosx, macosx-universal"
+ echo "Where platform is one of: beos, haiku, mingw32, unix, macosx, macosx-universal"
echo "The --quick parameter turns off text file conversion, --dtou converts from"
echo "DOS/Win32 format to Unix, --utod converts from Unix to DOS/Win32 format."
echo "If no parameter is specified --quick is assumed."
@@ -80,6 +80,8 @@
fi
case "$1" in
+ "beos" ) proc_fix "BeOS" "Makefile.be";;
+ "haiku" ) proc_fix "Haiku" "Makefile.be";;
"mingw" ) proc_fix "Windows (MinGW)" "Makefile.migw";;
"mingw32" ) proc_fix "Windows (MinGW)" "Makefile.migw";;
"unix" ) proc_fix "Unix" "Makefile.unix";;
diff -urN allegro-4.3.10/fix.sh allegro-4.3.10-haiku/fix.sh
--- allegro-4.3.10/fix.sh 2008-10-04 20:41:32.000000000 +0000
+++ allegro-4.3.10-haiku/fix.sh 2008-10-04 21:01:20.000000000 +0000
@@ -9,7 +9,7 @@
echo
echo "Usage: $0 <platform> [--quick|--dtou|--utod]"
echo
- echo "Where platform is one of: bcc32, beos, djgpp, mingw, qnx, unix"
+ echo "Where platform is one of: bcc32, beos, djgpp, haiku, mingw, qnx, unix"
echo "mac, macosx, macosx-universal and watcom."
echo "The --quick parameter turns off text file conversion, --dtou converts from"
echo "DOS/Win32 format to Unix, --utod converts from Unix to DOS/Win32 format."
@@ -90,6 +90,7 @@
"bcc32" ) proc_fix "Windows (BCC32)" "makefile.bcc" "ALLEGRO_BCC32";;
"beos" ) proc_fix "BeOS" "makefile.be" "ALLEGRO_BEOS";;
"djgpp" ) proc_fix "DOS (djgpp)" "makefile.dj" "ALLEGRO_DJGPP";;
+ "haiku" ) proc_fix "Haiku" "makefile.be" "ALLEGRO_HAIKU";;
"mingw" ) proc_fix "Windows (MinGW)" "makefile.mgw" "ALLEGRO_MINGW32";;
"mingw32" ) proc_fix "Windows (MinGW)" "makefile.mgw" "ALLEGRO_MINGW32";;
# The 'msvc' target is undocumented in the help message, but is used
diff -urN allegro-4.3.10/include/allegro/internal/aintern.h allegro-4.3.10-haiku/include/allegro/internal/aintern.h
--- allegro-4.3.10/include/allegro/internal/aintern.h 2008-10-04 20:41:30.000000000 +0000
+++ allegro-4.3.10-haiku/include/allegro/internal/aintern.h 2008-10-04 21:01:20.000000000 +0000
@@ -190,7 +190,7 @@
#if (defined ALLEGRO_DOS) || (defined ALLEGRO_DJGPP) || (defined ALLEGRO_WATCOM) || \
- (defined ALLEGRO_QNX) || (defined ALLEGRO_BEOS)
+ (defined ALLEGRO_QNX) || (defined ALLEGRO_BEOS) || (defined ALLEGRO_HAIKU)
AL_ARRAY(char *, _pckeys_names);
diff -urN allegro-4.3.10/include/allegro/internal/alconfig.h allegro-4.3.10-haiku/include/allegro/internal/alconfig.h
--- allegro-4.3.10/include/allegro/internal/alconfig.h 2008-10-04 20:41:30.000000000 +0000
+++ allegro-4.3.10-haiku/include/allegro/internal/alconfig.h 2008-10-04 21:01:20.000000000 +0000
@@ -48,6 +48,8 @@
#include "allegro/platform/albcc32.h"
#elif defined ALLEGRO_MSVC
#include "allegro/platform/almsvc.h"
+ #elif defined ALLEGRO_HAIKU
+ #include "allegro/platform/albecfg.h"
#elif defined ALLEGRO_BEOS
#include "allegro/platform/albecfg.h"
#elif defined ALLEGRO_MPW
diff -urN allegro-4.3.10/include/allegro/platform/albecfg.h allegro-4.3.10-haiku/include/allegro/platform/albecfg.h
--- allegro-4.3.10/include/allegro/platform/albecfg.h 2008-10-04 20:41:30.000000000 +0000
+++ allegro-4.3.10-haiku/include/allegro/platform/albecfg.h 2008-10-04 21:01:20.000000000 +0000
@@ -31,7 +31,13 @@
#define ALLEGRO_HAVE_SYS_TIME_H 1
/* describe this platform */
-#define ALLEGRO_PLATFORM_STR "BeOS"
+#if defined __BEOS__ && !defined __HAIKU__
+ #define ALLEGRO_PLATFORM_STR "BeOS"
+#endif
+#if defined __HAIKU__
+ #define ALLEGRO_PLATFORM_STR "Haiku"
+ #define ALLEGRO_HAVE_LIBPTHREAD 1
+#endif
#define ALLEGRO_LITTLE_ENDIAN
#define ALLEGRO_CONSOLE_OK
#define ALLEGRO_USE_CONSTRUCTOR
diff -urN allegro-4.3.10/include/allegro/platform/albeos.h allegro-4.3.10-haiku/include/allegro/platform/albeos.h
--- allegro-4.3.10/include/allegro/platform/albeos.h 2008-10-04 20:41:30.000000000 +0000
+++ allegro-4.3.10-haiku/include/allegro/platform/albeos.h 2008-10-04 21:01:20.000000000 +0000
@@ -74,3 +74,7 @@
#define JOYSTICK_DRIVER_BEOS \
{ JOYSTICK_BEOS, &joystick_beos, TRUE },
+#if defined __HAIKU__
+#define TIMERDRV_UNIX_PTHREADS AL_ID('P','T','H','R')
+#endif
+
diff -urN allegro-4.3.10/include/allegro/platform/alunixac.hin allegro-4.3.10-haiku/include/allegro/platform/alunixac.hin
--- allegro-4.3.10/include/allegro/platform/alunixac.hin 2008-10-04 20:41:30.000000000 +0000
+++ allegro-4.3.10-haiku/include/allegro/platform/alunixac.hin 2008-10-04 21:01:20.000000000 +0000
@@ -68,7 +68,7 @@
#undef ALLEGRO_DARWIN
/* Define if you have the pthread library. */
-#undef ALLEGRO_HAVE_LIBPTHREAD
+/* #undef ALLEGRO_HAVE_LIBPTHREAD */
/* Define if constructor attribute is supported. */
#undef ALLEGRO_USE_CONSTRUCTOR
@@ -159,7 +159,7 @@
/* Define as the return type of signal handlers (`int' or `void'). */
/* TODO: rename this */
-#undef RETSIGTYPE
+/* #undef RETSIGTYPE */
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
diff -urN allegro-4.3.10/include/allegro/system.h allegro-4.3.10-haiku/include/allegro/system.h
--- allegro-4.3.10/include/allegro/system.h 2008-10-04 20:41:30.000000000 +0000
+++ allegro-4.3.10-haiku/include/allegro/system.h 2008-10-04 21:01:20.000000000 +0000
@@ -61,6 +61,7 @@
#define OSTYPE_QNX AL_ID('Q','N','X',' ')
#define OSTYPE_UNIX AL_ID('U','N','I','X')
#define OSTYPE_BEOS AL_ID('B','E','O','S')
+#define OSTYPE_HAIKU AL_ID('H','A','I','K')
#define OSTYPE_MACOS AL_ID('M','A','C',' ')
#define OSTYPE_MACOSX AL_ID('M','A','C','X')
diff -urN allegro-4.3.10/makefile.all allegro-4.3.10-haiku/makefile.all
--- allegro-4.3.10/makefile.all 2008-10-04 20:41:32.000000000 +0000
+++ allegro-4.3.10-haiku/makefile.all 2008-10-04 21:01:20.000000000 +0000
@@ -8,7 +8,7 @@
# DEBUGMODE=2 selects a build intended to debug Allegro itself.
# PROFILEMODE=1 selects a profiling build.
# WARNMODE=1 selects strict compiler warnings.
-# STATICLINK=1 use static linking (MinGW32, MSVC, BeOS).
+# STATICLINK=1 use static linking (MinGW32, MSVC, BeOS, Haiku).
# STATICRUNTIME=1 link to a static C runtime library (/MT) (MSVC)
# TARGET_ARCH_COMPAT optimize for the given processor while preserving backwards
# compatibility with older processors (GCC-based platforms).
@@ -132,7 +132,7 @@
# XXX this is duplicated in makefile.in
DOCBASEFILES = ahack changes faq mistakes help thanks allegro const abi api packfile \
readme makedoc datafile grabber dat dat2c dat2s license addons targets
-DOCBUILDFILES = bcc32 beos darwin djgpp dmc linux macosx mingw32 msvc qnx unix watcom
+DOCBUILDFILES = bcc32 beos darwin djgpp dmc haiku linux macosx mingw32 msvc qnx unix watcom
DOCTXTBUILDFILES = $(addprefix docs/build/,$(addsuffix .txt,$(DOCBUILDFILES)))
DOCS = $(addprefix docs/txt/,$(addsuffix .txt,$(filter-out changes thanks readme, $(DOCBASEFILES))))
diff -urN allegro-4.3.10/makefile.be allegro-4.3.10-haiku/makefile.be
--- allegro-4.3.10/makefile.be 2008-10-04 20:41:32.000000000 +0000
+++ allegro-4.3.10-haiku/makefile.be 2008-10-04 21:01:20.000000000 +0000
@@ -10,7 +10,15 @@
# -------- define some variables that the primary makefile will use --------
+
+ifeq ($(OS),BeOS)
PLATFORM = BeOS
+endif
+
+ifeq ($(OS),Haiku)
+PLATFORM = Haiku
+endif
+
CC = gcc
EXE =
OBJ = .o
@@ -123,7 +131,13 @@
OBJECT_LIST = $(COMMON_OBJECTS) $(MY_OBJECTS) $(basename $(notdir $(ALLEGRO_SRC_BEOS_FILES)))
+ifeq ($(OS),BeOS)
LIBRARIES = -lbe -lgame -ldevice -lmidi -lmedia -lnet
+endif
+
+ifeq ($(OS),Haiku)
+LIBRARIES = -lbe -lgame -ldevice -lmidi -lmedia -lnetwork
+endif
PROGRAMS = bfixicon
@@ -167,7 +181,14 @@
sed -e "s/@LIBS@/$(LIBRARIES)/" temp2 > temp
sed -e "s/include/headers/" temp >temp2
sed -e "s/ -l\$${lib_type}_unsharable//" temp2 >temp
+
+ifeq ($(OS),BeOS)
sed -e "s/libdirs=-L\$${exec_prefix}\/lib/libdirs=\"-L\$${exec_prefix}\/lib\/x86 -L\/boot\/home\/config\/lib\"/" temp >/bin/allegro-config
+endif
+ifeq ($(OS),Haiku)
+ sed -e "s/libdirs=-L\$${exec_prefix}\/lib/libdirs=\"-L\$${exec_prefix}\/lib\/x86 -L\/boot\/common\/lib\"/" temp >/bin/allegro-config
+endif
+
rm -f temp temp2
chmod a+x /bin/allegro-config
diff -urN allegro-4.3.10/misc/mkunixdists.sh allegro-4.3.10-haiku/misc/mkunixdists.sh
--- allegro-4.3.10/misc/mkunixdists.sh 2008-10-04 20:41:30.000000000 +0000
+++ allegro-4.3.10-haiku/misc/mkunixdists.sh 2008-10-04 21:01:20.000000000 +0000
@@ -73,9 +73,9 @@
# Hack'n'slash
echo "Stripping to form end-user distribution"
(cd $dir/$basename && {
- (cd src && rm -rf beos qnx dos mac ppc win)
- (cd obj && rm -rf bcc32 beos qnx djgpp mingw32 msvc watcom)
- (cd lib && rm -rf bcc32 beos qnx djgpp mingw32 msvc watcom)
+ (cd src && rm -rf beos haiku qnx dos mac ppc win)
+ (cd obj && rm -rf bcc32 beos haiku qnx djgpp mingw32 msvc watcom)
+ (cd lib && rm -rf bcc32 beos haiku qnx djgpp mingw32 msvc watcom)
(cd include && rm -f bealleg.h qnxalleg.h macalleg.h winalleg.h)
(cd misc && rm -f cmplog.pl dllsyms.lst findtext.sh fixpatch.sh fixver.sh)
(cd misc && rm -f allegro-config-qnx.sh zipup.sh zipwin.sh *.bat *.c)
@@ -94,8 +94,8 @@
(cd addons/jpgalleg && rm -f makefile.be makefile.mgw makefile.dj)
(cd addons/jpgalleg && rm -f makefile.osx makefile.vc fix.bat readme.txt)
(cd addons/jpgalleg/misc && rm -f fixver.sh runner.c)
- (cd addons/jpgalleg/lib && rm -rf beos djgpp macosx mingw32 msvc)
- (cd addons/jpgalleg/obj && rm -rf beos djgpp macosx mingw32 msvc)
+ (cd addons/jpgalleg/lib && rm -rf beos djgpp haiku macosx mingw32 msvc)
+ (cd addons/jpgalleg/obj && rm -rf beos djgpp haiku macosx mingw32 msvc)
# logg addon
(cd addons/logg && rm -f Makefile.mingw play_ogg.c stream_ogg.c fix.bat)
diff -urN allegro-4.3.10/misc/zipup.sh allegro-4.3.10-haiku/misc/zipup.sh
--- allegro-4.3.10/misc/zipup.sh 2008-10-04 20:41:30.000000000 +0000
+++ allegro-4.3.10-haiku/misc/zipup.sh 2008-10-04 21:01:20.000000000 +0000
@@ -125,6 +125,12 @@
make depend UNIX_TOOLS=1 CC=gcc
+# generate dependencies for Haiku
+echo "Generating Haiku dependencies..."
+
+./fix.sh haiku --quick
+
+make depend UNIX_TOOLS=1 CC=gcc
# generate dependencies for QNX
echo "Generating QNX dependencies..."
@@ -164,7 +170,7 @@
for base in abi ahack allegro const faq help mistakes; do
./_makedoc.exe -ascii docs/txt/$base.txt docs/src/$base._tx
done
-for base in bcc32 beos darwin djgpp linux macosx mingw32 msvc qnx unix watcom; do
+for base in bcc32 beos darwin djgpp haiku linux macosx mingw32 msvc qnx unix watcom; do
./_makedoc.exe -ascii docs/build/$base.txt docs/src/build/$base._tx
done
diff -urN allegro-4.3.10/setup/keyconf.c allegro-4.3.10-haiku/setup/keyconf.c
--- allegro-4.3.10/setup/keyconf.c 2008-10-04 20:41:31.000000000 +0000
+++ allegro-4.3.10-haiku/setup/keyconf.c 2008-10-04 21:01:20.000000000 +0000
@@ -25,8 +25,8 @@
/* The code can't link on platforms that don't use src/misc/pckeys.c (everything
- * but DOS, QNX, BEOS). */
-#if (defined ALLEGRO_DOS) || (defined ALLEGRO_QNX) || (defined ALLEGRO_BEOS)
+ * but DOS, QNX, BEOS, HAIKU). */
+#if (defined ALLEGRO_DOS) || (defined ALLEGRO_QNX) || (defined ALLEGRO_BEOS) || (defined ALLEGRO_HAIKU)
char *ascii_name[32] =
diff -urN allegro-4.3.10/src/beos/baccel.cpp allegro-4.3.10-haiku/src/beos/baccel.cpp
--- allegro-4.3.10/src/beos/baccel.cpp 2008-10-04 20:40:55.000000000 +0000
+++ allegro-4.3.10-haiku/src/beos/baccel.cpp 2008-10-04 21:01:20.000000000 +0000
@@ -20,7 +20,7 @@
#include "allegro/internal/aintern.h"
#include "allegro/platform/aintbeos.h"
-#ifndef ALLEGRO_BEOS
+#if !defined ALLEGRO_BEOS && !defined ALLEGRO_HAIKU
#error something is wrong with the makefile
#endif
diff -urN allegro-4.3.10/src/beos/bdispsw.cpp allegro-4.3.10-haiku/src/beos/bdispsw.cpp
--- allegro-4.3.10/src/beos/bdispsw.cpp 2008-10-04 20:40:55.000000000 +0000
+++ allegro-4.3.10-haiku/src/beos/bdispsw.cpp 2008-10-04 21:01:20.000000000 +0000
@@ -19,7 +19,7 @@
#include "allegro/internal/aintern.h"
#include "allegro/platform/aintbeos.h"
-#ifndef ALLEGRO_BEOS
+#if !defined ALLEGRO_BEOS && !defined ALLEGRO_HAIKU
#error something is wrong with the makefile
#endif
diff -urN allegro-4.3.10/src/beos/bdwindow.cpp allegro-4.3.10-haiku/src/beos/bdwindow.cpp
--- allegro-4.3.10/src/beos/bdwindow.cpp 2008-10-04 20:40:55.000000000 +0000
+++ allegro-4.3.10-haiku/src/beos/bdwindow.cpp 2008-10-04 21:01:20.000000000 +0000
@@ -21,7 +21,7 @@
#include "allegro/internal/aintern.h"
#include "allegro/platform/aintbeos.h"
-#ifndef ALLEGRO_BEOS
+#if !defined ALLEGRO_BEOS && !defined ALLEGRO_HAIKU
#error something is wrong with the makefile
#endif
diff -urN allegro-4.3.10/src/beos/bgfx.c allegro-4.3.10-haiku/src/beos/bgfx.c
--- allegro-4.3.10/src/beos/bgfx.c 2008-10-04 20:40:55.000000000 +0000
+++ allegro-4.3.10-haiku/src/beos/bgfx.c 2008-10-04 21:01:20.000000000 +0000
@@ -19,9 +19,9 @@
#include "allegro/internal/aintern.h"
#include "allegro/platform/aintbeos.h"
-#ifndef ALLEGRO_BEOS
+#if !defined ALLEGRO_BEOS && !defined ALLEGRO_HAIKU
#error something is wrong with the makefile
-#endif
+#endif
diff -urN allegro-4.3.10/src/beos/bgfxapi.cpp allegro-4.3.10-haiku/src/beos/bgfxapi.cpp
--- allegro-4.3.10/src/beos/bgfxapi.cpp 2008-10-04 20:40:55.000000000 +0000
+++ allegro-4.3.10-haiku/src/beos/bgfxapi.cpp 2008-10-04 21:01:20.000000000 +0000
@@ -19,7 +19,7 @@
#include "allegro/internal/aintern.h"
#include "allegro/platform/aintbeos.h"
-#ifndef ALLEGRO_BEOS
+#if !defined ALLEGRO_BEOS && !defined ALLEGRO_HAIKU
#error something is wrong with the makefile
#endif
diff -urN allegro-4.3.10/src/beos/bgfxdrv.c allegro-4.3.10-haiku/src/beos/bgfxdrv.c
--- allegro-4.3.10/src/beos/bgfxdrv.c 2008-10-04 20:40:55.000000000 +0000
+++ allegro-4.3.10-haiku/src/beos/bgfxdrv.c 2008-10-04 21:01:20.000000000 +0000
@@ -18,9 +18,9 @@
#include "allegro.h"
#include "allegro/internal/aintern.h"
-#ifndef ALLEGRO_BEOS
+#if !defined ALLEGRO_BEOS && !defined ALLEGRO_HAIKU
#error something is wrong with the makefile
-#endif
+#endif
BEGIN_GFX_DRIVER_LIST
GFX_DRIVER_BEOS
diff -urN allegro-4.3.10/src/beos/bjoy.c allegro-4.3.10-haiku/src/beos/bjoy.c
--- allegro-4.3.10/src/beos/bjoy.c 2008-10-04 20:40:55.000000000 +0000
+++ allegro-4.3.10-haiku/src/beos/bjoy.c 2008-10-04 21:01:20.000000000 +0000
@@ -19,7 +19,7 @@
#include "allegro/internal/aintern.h"
#include "allegro/platform/aintbeos.h"
-#ifndef ALLEGRO_BEOS
+#if !defined ALLEGRO_BEOS && !defined ALLEGRO_HAIKU
#error something is wrong with the makefile
#endif
diff -urN allegro-4.3.10/src/beos/bjoyapi.cpp allegro-4.3.10-haiku/src/beos/bjoyapi.cpp
--- allegro-4.3.10/src/beos/bjoyapi.cpp 2008-10-04 20:40:55.000000000 +0000
+++ allegro-4.3.10-haiku/src/beos/bjoyapi.cpp 2008-10-04 21:01:20.000000000 +0000
@@ -19,9 +19,9 @@
#include "allegro/internal/aintern.h"
#include "allegro/platform/aintbeos.h"
-#ifndef ALLEGRO_BEOS
+#if !defined ALLEGRO_BEOS && !defined ALLEGRO_HAIKU
#error something is wrong with the makefile
-#endif
+#endif
static BJoystick *be_joy = NULL;
static int32 num_devices, num_axes, num_hats, num_buttons;
diff -urN allegro-4.3.10/src/beos/bjoydrv.c allegro-4.3.10-haiku/src/beos/bjoydrv.c
--- allegro-4.3.10/src/beos/bjoydrv.c 2008-10-04 20:40:55.000000000 +0000
+++ allegro-4.3.10-haiku/src/beos/bjoydrv.c 2008-10-04 21:01:20.000000000 +0000
@@ -18,9 +18,9 @@
#include "allegro.h"
#include "allegro/internal/aintern.h"
-#ifndef ALLEGRO_BEOS
+#if !defined ALLEGRO_BEOS && !defined ALLEGRO_HAIKU
#error something is wrong with the makefile
-#endif
+#endif
BEGIN_JOYSTICK_DRIVER_LIST
JOYSTICK_DRIVER_BEOS
diff -urN allegro-4.3.10/src/beos/bkey.c allegro-4.3.10-haiku/src/beos/bkey.c
--- allegro-4.3.10/src/beos/bkey.c 2008-10-04 20:40:55.000000000 +0000
+++ allegro-4.3.10-haiku/src/beos/bkey.c 2008-10-04 21:01:20.000000000 +0000
@@ -19,9 +19,9 @@
#include "allegro/internal/aintern.h"
#include "allegro/platform/aintbeos.h"
-#ifndef ALLEGRO_BEOS
+#if !defined ALLEGRO_BEOS && !defined ALLEGRO_HAIKU
#error something is wrong with the makefile
-#endif
+#endif
diff -urN allegro-4.3.10/src/beos/bkeyapi.cpp allegro-4.3.10-haiku/src/beos/bkeyapi.cpp
--- allegro-4.3.10/src/beos/bkeyapi.cpp 2008-10-04 20:40:55.000000000 +0000
+++ allegro-4.3.10-haiku/src/beos/bkeyapi.cpp 2008-10-04 21:01:20.000000000 +0000
@@ -22,9 +22,9 @@
#include "allegro/internal/aintern.h"
#include "allegro/platform/aintbeos.h"
-#ifndef ALLEGRO_BEOS
+#if !defined ALLEGRO_BEOS && !defined ALLEGRO_HAIKU
#error something is wrong with the makefile
-#endif
+#endif
#define KEY_ID_PC101 0 // the docs say it should be 0x83ab, but they lie
diff -urN allegro-4.3.10/src/beos/bkeydrv.c allegro-4.3.10-haiku/src/beos/bkeydrv.c
--- allegro-4.3.10/src/beos/bkeydrv.c 2008-10-04 20:40:55.000000000 +0000
+++ allegro-4.3.10-haiku/src/beos/bkeydrv.c 2008-10-04 21:01:20.000000000 +0000
@@ -18,9 +18,9 @@
#include "allegro.h"
#include "allegro/internal/aintern.h"
-#ifndef ALLEGRO_BEOS
+#if !defined ALLEGRO_BEOS && !defined ALLEGRO_HAIKU
#error something is wrong with the makefile
-#endif
+#endif
_DRIVER_INFO _keyboard_driver_list[] =
{
diff -urN allegro-4.3.10/src/beos/bmidi.c allegro-4.3.10-haiku/src/beos/bmidi.c
--- allegro-4.3.10/src/beos/bmidi.c 2008-10-04 20:40:55.000000000 +0000
+++ allegro-4.3.10-haiku/src/beos/bmidi.c 2008-10-04 21:01:20.000000000 +0000
@@ -19,9 +19,9 @@
#include "allegro/internal/aintern.h"
#include "allegro/platform/aintbeos.h"
-#ifndef ALLEGRO_BEOS
+#if !defined ALLEGRO_BEOS && !defined ALLEGRO_HAIKU
#error something is wrong with the makefile
-#endif
+#endif
MIDI_DRIVER midi_beos =
{
diff -urN allegro-4.3.10/src/beos/bmidiapi.cpp allegro-4.3.10-haiku/src/beos/bmidiapi.cpp
--- allegro-4.3.10/src/beos/bmidiapi.cpp 2008-10-04 20:40:55.000000000 +0000
+++ allegro-4.3.10-haiku/src/beos/bmidiapi.cpp 2008-10-04 21:01:20.000000000 +0000
@@ -19,9 +19,9 @@
#include "allegro/internal/aintern.h"
#include "allegro/platform/aintbeos.h"
-#ifndef ALLEGRO_BEOS
+#if !defined ALLEGRO_BEOS && !defined ALLEGRO_HAIKU
#error something is wrong with the makefile
-#endif
+#endif
BMidiSynth *_be_midisynth = NULL;
diff -urN allegro-4.3.10/src/beos/bmididrv.c allegro-4.3.10-haiku/src/beos/bmididrv.c
--- allegro-4.3.10/src/beos/bmididrv.c 2008-10-04 20:40:55.000000000 +0000
+++ allegro-4.3.10-haiku/src/beos/bmididrv.c 2008-10-04 21:01:20.000000000 +0000
@@ -18,9 +18,9 @@
#include "allegro.h"
#include "allegro/internal/aintern.h"
-#ifndef ALLEGRO_BEOS
+#if !defined ALLEGRO_BEOS && !defined ALLEGRO_HAIKU
#error something is wrong with the makefile
-#endif
+#endif
BEGIN_MIDI_DRIVER_LIST
MIDI_DRIVER_BEOS
diff -urN allegro-4.3.10/src/beos/bmousapi.cpp allegro-4.3.10-haiku/src/beos/bmousapi.cpp
--- allegro-4.3.10/src/beos/bmousapi.cpp 2008-10-04 20:40:55.000000000 +0000
+++ allegro-4.3.10-haiku/src/beos/bmousapi.cpp 2008-10-04 21:01:20.000000000 +0000
@@ -23,9 +23,9 @@
#include "allegro/internal/aintern.h"
#include "allegro/platform/aintbeos.h"
-#ifndef ALLEGRO_BEOS
+#if !defined ALLEGRO_BEOS && !defined ALLEGRO_HAIKU
#error something is wrong with the makefile
-#endif
+#endif
#define MOUSE_THREAD_NAME "mouse driver"
#define MOUSE_THREAD_PRIORITY 60
diff -urN allegro-4.3.10/src/beos/bmousdrv.c allegro-4.3.10-haiku/src/beos/bmousdrv.c
--- allegro-4.3.10/src/beos/bmousdrv.c 2008-10-04 20:40:55.000000000 +0000
+++ allegro-4.3.10-haiku/src/beos/bmousdrv.c 2008-10-04 21:01:20.000000000 +0000
@@ -18,9 +18,9 @@
#include "allegro.h"
#include "allegro/internal/aintern.h"
-#ifndef ALLEGRO_BEOS
+#if !defined ALLEGRO_BEOS && !defined ALLEGRO_HAIKU
#error something is wrong with the makefile
-#endif
+#endif
diff -urN allegro-4.3.10/src/beos/bmouse.c allegro-4.3.10-haiku/src/beos/bmouse.c
--- allegro-4.3.10/src/beos/bmouse.c 2008-10-04 20:40:55.000000000 +0000
+++ allegro-4.3.10-haiku/src/beos/bmouse.c 2008-10-04 21:01:20.000000000 +0000
@@ -19,9 +19,9 @@
#include "allegro/internal/aintern.h"
#include "allegro/platform/aintbeos.h"
-#ifndef ALLEGRO_BEOS
+#if !defined ALLEGRO_BEOS && !defined ALLEGRO_HAIKU
#error something is wrong with the makefile
-#endif
+#endif
diff -urN allegro-4.3.10/src/beos/boverlay.cpp allegro-4.3.10-haiku/src/beos/boverlay.cpp
--- allegro-4.3.10/src/beos/boverlay.cpp 2008-10-04 20:40:55.000000000 +0000
+++ allegro-4.3.10-haiku/src/beos/boverlay.cpp 2008-10-04 21:01:20.000000000 +0000
@@ -19,7 +19,7 @@
#include "allegro/internal/aintern.h"
#include "allegro/platform/aintbeos.h"
-#ifndef ALLEGRO_BEOS
+#if !defined ALLEGRO_BEOS && !defined ALLEGRO_HAIKU
#error something is wrong with the makefile
#endif
diff -urN allegro-4.3.10/src/beos/bsnd.c allegro-4.3.10-haiku/src/beos/bsnd.c
--- allegro-4.3.10/src/beos/bsnd.c 2008-10-04 20:40:55.000000000 +0000
+++ allegro-4.3.10-haiku/src/beos/bsnd.c 2008-10-04 21:01:21.000000000 +0000
@@ -19,9 +19,9 @@
#include "allegro/internal/aintern.h"
#include "allegro/platform/aintbeos.h"
-#ifndef ALLEGRO_BEOS
+#if !defined ALLEGRO_BEOS && !defined ALLEGRO_HAIKU
#error something is wrong with the makefile
-#endif
+#endif
DIGI_DRIVER digi_beos =
{
diff -urN allegro-4.3.10/src/beos/bsndapi.cpp allegro-4.3.10-haiku/src/beos/bsndapi.cpp
--- allegro-4.3.10/src/beos/bsndapi.cpp 2008-10-04 20:40:55.000000000 +0000
+++ allegro-4.3.10-haiku/src/beos/bsndapi.cpp 2008-10-04 21:01:21.000000000 +0000
@@ -20,7 +20,7 @@
#include "allegro/internal/aintern.h"
#include "allegro/platform/aintbeos.h"
-#ifndef ALLEGRO_BEOS
+#if !defined ALLEGRO_BEOS && !defined ALLEGRO_HAIKU
#error something is wrong with the makefile
#endif
diff -urN allegro-4.3.10/src/beos/bsnddrv.c allegro-4.3.10-haiku/src/beos/bsnddrv.c
--- allegro-4.3.10/src/beos/bsnddrv.c 2008-10-04 20:40:55.000000000 +0000
+++ allegro-4.3.10-haiku/src/beos/bsnddrv.c 2008-10-04 21:01:21.000000000 +0000
@@ -19,9 +19,9 @@
#include "allegro/internal/aintern.h"
-#ifndef ALLEGRO_BEOS
+#if !defined ALLEGRO_BEOS && !defined ALLEGRO_HAIKU
#error something is wrong with the makefile
-#endif
+#endif
BEGIN_DIGI_DRIVER_LIST
DIGI_DRIVER_BEOS
diff -urN allegro-4.3.10/src/beos/bsysapi.cpp allegro-4.3.10-haiku/src/beos/bsysapi.cpp
--- allegro-4.3.10/src/beos/bsysapi.cpp 2008-10-04 20:40:55.000000000 +0000
+++ allegro-4.3.10-haiku/src/beos/bsysapi.cpp 2008-10-04 21:01:21.000000000 +0000
@@ -27,9 +27,9 @@
#include <sys/utsname.h>
#endif
-#ifndef ALLEGRO_BEOS
+#if !defined ALLEGRO_BEOS && !defined ALLEGRO_HAIKU
#error something is wrong with the makefile
-#endif
+#endif
#define SYS_THREAD_PRIORITY B_NORMAL_PRIORITY
#define SYS_THREAD_NAME "system driver"
diff -urN allegro-4.3.10/src/beos/bsysdrv.c allegro-4.3.10-haiku/src/beos/bsysdrv.c
--- allegro-4.3.10/src/beos/bsysdrv.c 2008-10-04 20:40:55.000000000 +0000
+++ allegro-4.3.10-haiku/src/beos/bsysdrv.c 2008-10-04 21:01:21.000000000 +0000
@@ -18,9 +18,9 @@
#include "allegro.h"
#include "allegro/internal/aintern.h"
-#ifndef ALLEGRO_BEOS
+#if !defined ALLEGRO_BEOS && !defined ALLEGRO_HAIKU
#error something is wrong with the makefile
-#endif
+#endif
_DRIVER_INFO _system_driver_list[] =
{
diff -urN allegro-4.3.10/src/beos/bsystem.c allegro-4.3.10-haiku/src/beos/bsystem.c
--- allegro-4.3.10/src/beos/bsystem.c 2008-10-04 20:40:55.000000000 +0000
+++ allegro-4.3.10-haiku/src/beos/bsystem.c 2008-10-04 21:01:21.000000000 +0000
@@ -19,11 +19,9 @@
#include "allegro/internal/aintern.h"
#include "allegro/platform/aintbeos.h"
-#ifndef ALLEGRO_BEOS
+#if !defined ALLEGRO_BEOS && !defined ALLEGRO_HAIKU
#error something is wrong with the makefile
-#endif
-
-
+#endif
SYSTEM_DRIVER system_beos = {
SYSTEM_BEOS,
diff -urN allegro-4.3.10/src/beos/btimeapi.cpp allegro-4.3.10-haiku/src/beos/btimeapi.cpp
--- allegro-4.3.10/src/beos/btimeapi.cpp 2008-10-04 20:40:55.000000000 +0000
+++ allegro-4.3.10-haiku/src/beos/btimeapi.cpp 2008-10-04 21:01:21.000000000 +0000
@@ -19,7 +19,7 @@
#include "allegro/internal/aintern.h"
#include "allegro/platform/aintbeos.h"
-#ifndef ALLEGRO_BEOS
+#if !defined ALLEGRO_BEOS && !defined ALLEGRO_HAIKU
#error something is wrong with the makefile
#endif
diff -urN allegro-4.3.10/src/beos/btimedrv.c allegro-4.3.10-haiku/src/beos/btimedrv.c
--- allegro-4.3.10/src/beos/btimedrv.c 2008-10-04 20:40:55.000000000 +0000
+++ allegro-4.3.10-haiku/src/beos/btimedrv.c 2008-10-04 21:01:21.000000000 +0000
@@ -18,9 +18,9 @@
#include "allegro.h"
#include "allegro/internal/aintern.h"
-#ifndef ALLEGRO_BEOS
+#if !defined ALLEGRO_BEOS && !defined ALLEGRO_HAIKU
#error something is wrong with the makefile
-#endif
+#endif
_DRIVER_INFO _timer_driver_list[] = {
{TIMER_BEOS, &timer_beos, TRUE},
diff -urN allegro-4.3.10/src/beos/btimer.c allegro-4.3.10-haiku/src/beos/btimer.c
--- allegro-4.3.10/src/beos/btimer.c 2008-10-04 20:40:55.000000000 +0000
+++ allegro-4.3.10-haiku/src/beos/btimer.c 2008-10-04 21:01:21.000000000 +0000
@@ -19,7 +19,7 @@
#include "allegro/internal/aintern.h"
#include "allegro/platform/aintbeos.h"
-#ifndef ALLEGRO_BEOS
+#if !defined ALLEGRO_BEOS && !defined ALLEGRO_HAIKU
#error something is wrong with the makefile
#endif
diff -urN allegro-4.3.10/src/beos/bwindow.cpp allegro-4.3.10-haiku/src/beos/bwindow.cpp
--- allegro-4.3.10/src/beos/bwindow.cpp 2008-10-04 20:40:55.000000000 +0000
+++ allegro-4.3.10-haiku/src/beos/bwindow.cpp 2008-10-04 21:01:21.000000000 +0000
@@ -19,7 +19,7 @@
#include "allegro/internal/aintern.h"
#include "allegro/platform/aintbeos.h"
-#ifndef ALLEGRO_BEOS
+#if !defined ALLEGRO_BEOS && !defined ALLEGRO_HAIKU
#error something is wrong with the makefile
#endif
diff -urN allegro-4.3.10/src/beos/bwscreen.cpp allegro-4.3.10-haiku/src/beos/bwscreen.cpp
--- allegro-4.3.10/src/beos/bwscreen.cpp 2008-10-04 20:40:55.000000000 +0000
+++ allegro-4.3.10-haiku/src/beos/bwscreen.cpp 2008-10-04 21:01:21.000000000 +0000
@@ -19,7 +19,7 @@
#include "allegro/internal/aintern.h"
#include "allegro/platform/aintbeos.h"
-#ifndef ALLEGRO_BEOS
+#if !defined ALLEGRO_BEOS && !defined ALLEGRO_HAIKU
#error something is wrong with the makefile
#endif
diff -urN allegro-4.3.10/src/i386/asmdefs.inc allegro-4.3.10-haiku/src/i386/asmdefs.inc
--- allegro-4.3.10/src/i386/asmdefs.inc 2008-10-04 20:40:57.000000000 +0000
+++ allegro-4.3.10-haiku/src/i386/asmdefs.inc 2008-10-04 21:01:21.000000000 +0000
@@ -31,6 +31,8 @@
#include "obj/msvc/asmdef.inc"
#elif defined ALLEGRO_WATCOM
#include "obj/watcom/asmdef.inc"
+#elif defined ALLEGRO_HAIKU
+ #include "obj/beos/asmdef.inc"
#elif defined ALLEGRO_BEOS
#include "obj/beos/asmdef.inc"
#elif defined ALLEGRO_QNX
diff -urN allegro-4.3.10/src/midi.c allegro-4.3.10-haiku/src/midi.c
--- allegro-4.3.10/src/midi.c 2008-10-04 20:41:01.000000000 +0000
+++ allegro-4.3.10-haiku/src/midi.c 2008-10-04 21:01:21.000000000 +0000
@@ -1122,7 +1122,7 @@
running_status = 0;
while (p < end) { /* work through data stream */
-#ifdef ALLEGRO_BEOS
+#if defined ALLEGRO_BEOS || defined ALLEGRO_HAIKU
/* Is there a bug in this routine, or in gcc under BeOS/x86? --PW */
{ int i; for (i=1; i; i--); }
#endif
diff -urN allegro-4.3.10/tools/dat2c.c allegro-4.3.10-haiku/tools/dat2c.c
--- allegro-4.3.10/tools/dat2c.c 2008-10-04 20:41:07.000000000 +0000
+++ allegro-4.3.10-haiku/tools/dat2c.c 2008-10-04 21:01:21.000000000 +0000
@@ -342,7 +342,7 @@
}
if (dat2c->lformat == lineformat_default)
-#if (defined ALLEGRO_UNIX || defined ALLEGRO_QNX || defined ALLEGRO_BEOS || defined ALLEGRO_MACOSX)
+#if (defined ALLEGRO_UNIX || defined ALLEGRO_QNX || defined ALLEGRO_BEOS || defined ALLEGRO_HAIKU || defined ALLEGRO_MACOSX)
dat2c->lformat = lineformat_unix;
#elif (defined ALLEGRO_WINDOWS || defined ALLEGRO_DOS)
dat2c->lformat = lineformat_dos;
diff -urN allegro-4.3.10/tools/datedit.c allegro-4.3.10-haiku/tools/datedit.c
--- allegro-4.3.10/tools/datedit.c 2008-10-04 20:41:07.000000000 +0000
+++ allegro-4.3.10-haiku/tools/datedit.c 2008-10-04 21:01:21.000000000 +0000
@@ -121,6 +121,8 @@
#include "obj/dmc/plugins.h"
#elif defined ALLEGRO_BEOS
#include "obj/beos/plugins.h"
+ #elif defined ALLEGRO_HAIKU
+ #include "obj/beos/plugins.h"
#elif defined ALLEGRO_BCC32
#include "obj/bcc32/plugins.h"
#elif defined ALLEGRO_MPW
diff -urN allegro-4.3.10/tools/grabber.c allegro-4.3.10-haiku/tools/grabber.c
--- allegro-4.3.10/tools/grabber.c 2008-10-04 20:41:07.000000000 +0000
+++ allegro-4.3.10-haiku/tools/grabber.c 2008-10-04 21:01:21.000000000 +0000
@@ -3132,6 +3132,7 @@
case OSTYPE_QNX: s = "QNX"; break;
case OSTYPE_UNIX: s = "Unix"; break;
case OSTYPE_BEOS: s = "BeOS"; break;
+ case OSTYPE_HAIKU: s = "Haiku"; break;
case OSTYPE_MACOS: s = "MacOS"; break;
case OSTYPE_MACOSX: s = "MacOS X"; break;
default: s = "Unknown"; break;