diff -urN allegro-4.3.10plus/addons/allegrogl/fix.sh allegro-4.3.10plus-haiku/addons/allegrogl/fix.sh --- allegro-4.3.10plus/addons/allegrogl/fix.sh 2008-10-15 14:42:13.000000000 +0000 +++ allegro-4.3.10plus-haiku/addons/allegrogl/fix.sh 2008-10-15 15:04:09.000000000 +0000 @@ -27,7 +27,7 @@ echo " Usage: fix [--dtou|--utod|--quick]" echo "" echo " is one of: djgpp, mingw32, unix, macosx," - echo " macosx-universal" + echo " macosx-universal, beos, haiku" echo "" echo " --dtou converts from DOS/Win32 format to Unix" echo " --utod converts from Unix format to DOS/Win32" @@ -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.10plus/addons/jpgalleg/fix.sh allegro-4.3.10plus-haiku/addons/jpgalleg/fix.sh --- allegro-4.3.10plus/addons/jpgalleg/fix.sh 2008-10-15 14:40:17.000000000 +0000 +++ allegro-4.3.10plus-haiku/addons/jpgalleg/fix.sh 2008-10-15 15:01:00.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.10plus/addons/loadpng/fix.sh allegro-4.3.10plus-haiku/addons/loadpng/fix.sh --- allegro-4.3.10plus/addons/loadpng/fix.sh 2008-10-15 14:39:18.000000000 +0000 +++ allegro-4.3.10plus-haiku/addons/loadpng/fix.sh 2008-10-15 15:04:58.000000000 +0000 @@ -8,7 +8,7 @@ echo echo "Usage: $0 [--quick|--dtou|--utod]" echo - echo "Where platform is one of: djgpp, mingw32, unix, macosx, macosx-universal" + echo "Where platform is one of: djgpp, mingw32, unix, macosx, macosx-universal, beos, haiku" 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.10plus/addons/logg/fix.sh allegro-4.3.10plus-haiku/addons/logg/fix.sh --- allegro-4.3.10plus/addons/logg/fix.sh 2008-10-15 14:42:14.000000000 +0000 +++ allegro-4.3.10plus-haiku/addons/logg/fix.sh 2008-10-15 15:07:15.000000000 +0000 @@ -8,7 +8,8 @@ echo echo "Usage: $0 [--quick|--dtou|--utod]" echo - echo "Where platform is one of: mingw32, unix, macosx, macosx-universal" + echo "Where platform is one of: mingw32, unix, macosx, macosx-universal," + echo " beos, haiku" 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 +81,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.10plus/fix.sh allegro-4.3.10plus-haiku/fix.sh --- allegro-4.3.10plus/fix.sh 2008-10-15 14:44:47.000000000 +0000 +++ allegro-4.3.10plus-haiku/fix.sh 2008-10-15 15:01:00.000000000 +0000 @@ -9,7 +9,7 @@ echo echo "Usage: $0 [--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.10plus/include/allegro/internal/aintern.h allegro-4.3.10plus-haiku/include/allegro/internal/aintern.h --- allegro-4.3.10plus/include/allegro/internal/aintern.h 2008-10-15 14:42:48.000000000 +0000 +++ allegro-4.3.10plus-haiku/include/allegro/internal/aintern.h 2008-10-15 15:01:00.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.10plus/include/allegro/internal/alconfig.h allegro-4.3.10plus-haiku/include/allegro/internal/alconfig.h --- allegro-4.3.10plus/include/allegro/internal/alconfig.h 2008-10-15 14:42:48.000000000 +0000 +++ allegro-4.3.10plus-haiku/include/allegro/internal/alconfig.h 2008-10-15 15:01:00.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.10plus/include/allegro/platform/albecfg.h allegro-4.3.10plus-haiku/include/allegro/platform/albecfg.h --- allegro-4.3.10plus/include/allegro/platform/albecfg.h 2008-10-15 14:42:46.000000000 +0000 +++ allegro-4.3.10plus-haiku/include/allegro/platform/albecfg.h 2008-10-15 15:01:00.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.10plus/include/allegro/platform/albeos.h allegro-4.3.10plus-haiku/include/allegro/platform/albeos.h --- allegro-4.3.10plus/include/allegro/platform/albeos.h 2008-10-15 14:42:46.000000000 +0000 +++ allegro-4.3.10plus-haiku/include/allegro/platform/albeos.h 2008-10-15 15:01:00.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.10plus/include/allegro/platform/alunixac.hin allegro-4.3.10plus-haiku/include/allegro/platform/alunixac.hin --- allegro-4.3.10plus/include/allegro/platform/alunixac.hin 2008-10-15 14:42:46.000000000 +0000 +++ allegro-4.3.10plus-haiku/include/allegro/platform/alunixac.hin 2008-10-15 15:01:00.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.10plus/include/allegro/system.h allegro-4.3.10plus-haiku/include/allegro/system.h --- allegro-4.3.10plus/include/allegro/system.h 2008-10-15 14:42:57.000000000 +0000 +++ allegro-4.3.10plus-haiku/include/allegro/system.h 2008-10-15 15:01:00.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.10plus/makefile.all allegro-4.3.10plus-haiku/makefile.all --- allegro-4.3.10plus/makefile.all 2008-10-15 14:44:47.000000000 +0000 +++ allegro-4.3.10plus-haiku/makefile.all 2008-10-15 15:01:00.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.10plus/makefile.be allegro-4.3.10plus-haiku/makefile.be --- allegro-4.3.10plus/makefile.be 2008-10-15 14:44:47.000000000 +0000 +++ allegro-4.3.10plus-haiku/makefile.be 2008-10-15 15:01:00.000000000 +0000 @@ -10,11 +10,20 @@ # -------- define some variables that the primary makefile will use -------- +OS=$(shell uname -s) + +ifeq ($(OS),BeOS) PLATFORM = BeOS +endif + +ifeq ($(OS),Haiku) +PLATFORM = Haiku +endif + CC = gcc EXE = OBJ = .o -HTML = html +#HTML = html PLATFORM_DIR = obj/beos @@ -109,7 +118,7 @@ # ------ build a C-only version ------ VPATH += src/c -MY_OBJECTS = $(C_OBJECTS) cmiscs +MY_OBJECTS = $(C_OBJECTS) CFLAGS += -DALLEGRO_NO_ASM else @@ -123,7 +132,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 @@ -135,11 +150,21 @@ # -------- rules for installing and removing the library files -------- +ifeq ($(OS),BeOS) INSTALLDIR = /boot/develop LIBDIR = lib/x86 INCDIR = headers SHARED_LIBDIR = /boot/home/config/lib +endif + +ifeq ($(OS),Haiku) +INSTALLDIR = /boot/common +LIBDIR = lib +INCDIR = include + +SHARED_LIBDIR = /boot/common/lib +endif ifdef STATICLINK @@ -167,7 +192,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.10plus/misc/mkunixdists.sh allegro-4.3.10plus-haiku/misc/mkunixdists.sh --- allegro-4.3.10plus/misc/mkunixdists.sh 2008-10-15 14:43:09.000000000 +0000 +++ allegro-4.3.10plus-haiku/misc/mkunixdists.sh 2008-10-15 15:01:00.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.10plus/misc/zipup.sh allegro-4.3.10plus-haiku/misc/zipup.sh --- allegro-4.3.10plus/misc/zipup.sh 2008-10-15 14:43:09.000000000 +0000 +++ allegro-4.3.10plus-haiku/misc/zipup.sh 2008-10-15 15:01:00.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.10plus/setup/keyconf.c allegro-4.3.10plus-haiku/setup/keyconf.c --- allegro-4.3.10plus/setup/keyconf.c 2008-10-15 14:43:30.000000000 +0000 +++ allegro-4.3.10plus-haiku/setup/keyconf.c 2008-10-15 15:01:00.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.10plus/src/beos/baccel.cpp allegro-4.3.10plus-haiku/src/beos/baccel.cpp --- allegro-4.3.10plus/src/beos/baccel.cpp 2008-10-15 14:29:35.000000000 +0000 +++ allegro-4.3.10plus-haiku/src/beos/baccel.cpp 2008-10-15 15:01:00.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.10plus/src/beos/bdispsw.cpp allegro-4.3.10plus-haiku/src/beos/bdispsw.cpp --- allegro-4.3.10plus/src/beos/bdispsw.cpp 2008-10-15 14:29:35.000000000 +0000 +++ allegro-4.3.10plus-haiku/src/beos/bdispsw.cpp 2008-10-15 15:01:00.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.10plus/src/beos/bdwindow.cpp allegro-4.3.10plus-haiku/src/beos/bdwindow.cpp --- allegro-4.3.10plus/src/beos/bdwindow.cpp 2008-10-15 14:29:35.000000000 +0000 +++ allegro-4.3.10plus-haiku/src/beos/bdwindow.cpp 2008-10-15 15:01:00.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 @@ -260,8 +260,10 @@ cmap[i] = BScreen().IndexForColor(((i >> 4) & 0xF0) | (i >> 8), (i & 0xF0) | ((i >> 4) & 0xF), (i & 0xF) | ((i & 0xF) << 4)); } } +#if 0 TRACE(PREFIX_I "Color conversion mode set: %d->%d\n", (int)screen_depth, (int)display_depth); +#endif } if (rects) { diff -urN allegro-4.3.10plus/src/beos/bgfx.c allegro-4.3.10plus-haiku/src/beos/bgfx.c --- allegro-4.3.10plus/src/beos/bgfx.c 2008-10-15 14:29:36.000000000 +0000 +++ allegro-4.3.10plus-haiku/src/beos/bgfx.c 2008-10-15 15:01:00.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.10plus/src/beos/bgfxapi.cpp allegro-4.3.10plus-haiku/src/beos/bgfxapi.cpp --- allegro-4.3.10plus/src/beos/bgfxapi.cpp 2008-10-15 14:29:35.000000000 +0000 +++ allegro-4.3.10plus-haiku/src/beos/bgfxapi.cpp 2008-10-15 15:01:00.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.10plus/src/beos/bgfxdrv.c allegro-4.3.10plus-haiku/src/beos/bgfxdrv.c --- allegro-4.3.10plus/src/beos/bgfxdrv.c 2008-10-15 14:29:35.000000000 +0000 +++ allegro-4.3.10plus-haiku/src/beos/bgfxdrv.c 2008-10-15 15:01:00.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.10plus/src/beos/bjoy.c allegro-4.3.10plus-haiku/src/beos/bjoy.c --- allegro-4.3.10plus/src/beos/bjoy.c 2008-10-15 14:29:35.000000000 +0000 +++ allegro-4.3.10plus-haiku/src/beos/bjoy.c 2008-10-15 15:01:00.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.10plus/src/beos/bjoyapi.cpp allegro-4.3.10plus-haiku/src/beos/bjoyapi.cpp --- allegro-4.3.10plus/src/beos/bjoyapi.cpp 2008-10-15 14:29:36.000000000 +0000 +++ allegro-4.3.10plus-haiku/src/beos/bjoyapi.cpp 2008-10-15 15:01:00.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; @@ -64,12 +64,12 @@ device_config = get_config_string("joystick", "joystick_device", ""); /* Let's try to open selected device */ - if ((device_config[0] == '\0') || (be_joy->Open(device_config) < 0)) { + if ((device_config[0] == '\0') || (be_joy->Open(device_config, true) < 0)) { /* ok, let's try to open first available device */ if (be_joy->GetDeviceName(0, device_name) != B_OK) { goto cleanup; } - if (be_joy->Open(device_name) == B_ERROR) { + if (be_joy->Open(device_name, true) == B_ERROR) { goto cleanup; } } diff -urN allegro-4.3.10plus/src/beos/bjoydrv.c allegro-4.3.10plus-haiku/src/beos/bjoydrv.c --- allegro-4.3.10plus/src/beos/bjoydrv.c 2008-10-15 14:29:35.000000000 +0000 +++ allegro-4.3.10plus-haiku/src/beos/bjoydrv.c 2008-10-15 15:01:00.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.10plus/src/beos/bkey.c allegro-4.3.10plus-haiku/src/beos/bkey.c --- allegro-4.3.10plus/src/beos/bkey.c 2008-10-15 14:29:36.000000000 +0000 +++ allegro-4.3.10plus-haiku/src/beos/bkey.c 2008-10-15 15:01:00.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.10plus/src/beos/bkeyapi.cpp allegro-4.3.10plus-haiku/src/beos/bkeyapi.cpp --- allegro-4.3.10plus/src/beos/bkeyapi.cpp 2008-10-15 14:29:35.000000000 +0000 +++ allegro-4.3.10plus-haiku/src/beos/bkeyapi.cpp 2008-10-15 15:01:00.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 @@ -260,7 +260,9 @@ key_info_old = key_info_new; } +#if 0 TRACE(PREFIX_I "keyboard thread exited\n"); +#endif return 0; } diff -urN allegro-4.3.10plus/src/beos/bkeydrv.c allegro-4.3.10plus-haiku/src/beos/bkeydrv.c --- allegro-4.3.10plus/src/beos/bkeydrv.c 2008-10-15 14:29:35.000000000 +0000 +++ allegro-4.3.10plus-haiku/src/beos/bkeydrv.c 2008-10-15 15:01:01.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.10plus/src/beos/bmidi.c allegro-4.3.10plus-haiku/src/beos/bmidi.c --- allegro-4.3.10plus/src/beos/bmidi.c 2008-10-15 14:29:35.000000000 +0000 +++ allegro-4.3.10plus-haiku/src/beos/bmidi.c 2008-10-15 15:01:01.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.10plus/src/beos/bmidiapi.cpp allegro-4.3.10plus-haiku/src/beos/bmidiapi.cpp --- allegro-4.3.10plus/src/beos/bmidiapi.cpp 2008-10-15 14:29:35.000000000 +0000 +++ allegro-4.3.10plus-haiku/src/beos/bmidiapi.cpp 2008-10-15 15:01:01.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.10plus/src/beos/bmididrv.c allegro-4.3.10plus-haiku/src/beos/bmididrv.c --- allegro-4.3.10plus/src/beos/bmididrv.c 2008-10-15 14:29:35.000000000 +0000 +++ allegro-4.3.10plus-haiku/src/beos/bmididrv.c 2008-10-15 15:01:01.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.10plus/src/beos/bmousapi.cpp allegro-4.3.10plus-haiku/src/beos/bmousapi.cpp --- allegro-4.3.10plus/src/beos/bmousapi.cpp 2008-10-15 14:29:35.000000000 +0000 +++ allegro-4.3.10plus-haiku/src/beos/bmousapi.cpp 2008-10-15 15:01:01.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 @@ -78,7 +78,9 @@ if (mouse_thread_running == false) { release_sem(_be_mouse_view_attached); +#if 0 TRACE(PREFIX_I "mouse thread exited\n"); +#endif return 0; } diff -urN allegro-4.3.10plus/src/beos/bmousdrv.c allegro-4.3.10plus-haiku/src/beos/bmousdrv.c --- allegro-4.3.10plus/src/beos/bmousdrv.c 2008-10-15 14:29:35.000000000 +0000 +++ allegro-4.3.10plus-haiku/src/beos/bmousdrv.c 2008-10-15 15:01:01.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.10plus/src/beos/bmouse.c allegro-4.3.10plus-haiku/src/beos/bmouse.c --- allegro-4.3.10plus/src/beos/bmouse.c 2008-10-15 14:29:36.000000000 +0000 +++ allegro-4.3.10plus-haiku/src/beos/bmouse.c 2008-10-15 15:01:01.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.10plus/src/beos/boverlay.cpp allegro-4.3.10plus-haiku/src/beos/boverlay.cpp --- allegro-4.3.10plus/src/beos/boverlay.cpp 2008-10-15 14:29:35.000000000 +0000 +++ allegro-4.3.10plus-haiku/src/beos/boverlay.cpp 2008-10-15 15:01:01.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.10plus/src/beos/bsnd.c allegro-4.3.10plus-haiku/src/beos/bsnd.c --- allegro-4.3.10plus/src/beos/bsnd.c 2008-10-15 14:29:36.000000000 +0000 +++ allegro-4.3.10plus-haiku/src/beos/bsnd.c 2008-10-15 15:01:01.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.10plus/src/beos/bsndapi.cpp allegro-4.3.10plus-haiku/src/beos/bsndapi.cpp --- allegro-4.3.10plus/src/beos/bsndapi.cpp 2008-10-15 14:29:35.000000000 +0000 +++ allegro-4.3.10plus-haiku/src/beos/bsndapi.cpp 2008-10-15 15:01:01.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.10plus/src/beos/bsnddrv.c allegro-4.3.10plus-haiku/src/beos/bsnddrv.c --- allegro-4.3.10plus/src/beos/bsnddrv.c 2008-10-15 14:29:35.000000000 +0000 +++ allegro-4.3.10plus-haiku/src/beos/bsnddrv.c 2008-10-15 15:01:01.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.10plus/src/beos/bsysapi.cpp allegro-4.3.10plus-haiku/src/beos/bsysapi.cpp --- allegro-4.3.10plus/src/beos/bsysapi.cpp 2008-10-15 14:29:35.000000000 +0000 +++ allegro-4.3.10plus-haiku/src/beos/bsysapi.cpp 2008-10-15 15:01:01.000000000 +0000 @@ -27,9 +27,9 @@ #include #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" @@ -144,7 +144,9 @@ _be_allegro_app->Run(); +#if 0 TRACE(PREFIX_I "system thread exited\n"); +#endif return 0; } @@ -201,8 +203,6 @@ uname(&os_name); os_type = OSTYPE_BEOS; os_multitasking = TRUE; - os_version = atoi(strtok(os_name.release, ".")); - os_revision = atoi(strtok(NULL, ".")); chdir(app_path); diff -urN allegro-4.3.10plus/src/beos/bsysdrv.c allegro-4.3.10plus-haiku/src/beos/bsysdrv.c --- allegro-4.3.10plus/src/beos/bsysdrv.c 2008-10-15 14:29:36.000000000 +0000 +++ allegro-4.3.10plus-haiku/src/beos/bsysdrv.c 2008-10-15 15:01:01.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.10plus/src/beos/bsystem.c allegro-4.3.10plus-haiku/src/beos/bsystem.c --- allegro-4.3.10plus/src/beos/bsystem.c 2008-10-15 14:29:36.000000000 +0000 +++ allegro-4.3.10plus-haiku/src/beos/bsystem.c 2008-10-15 15:01:01.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.10plus/src/beos/btimeapi.cpp allegro-4.3.10plus-haiku/src/beos/btimeapi.cpp --- allegro-4.3.10plus/src/beos/btimeapi.cpp 2008-10-15 14:29:36.000000000 +0000 +++ allegro-4.3.10plus-haiku/src/beos/btimeapi.cpp 2008-10-15 15:01:01.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.10plus/src/beos/btimedrv.c allegro-4.3.10plus-haiku/src/beos/btimedrv.c --- allegro-4.3.10plus/src/beos/btimedrv.c 2008-10-15 14:29:35.000000000 +0000 +++ allegro-4.3.10plus-haiku/src/beos/btimedrv.c 2008-10-15 15:01:01.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.10plus/src/beos/btimer.c allegro-4.3.10plus-haiku/src/beos/btimer.c --- allegro-4.3.10plus/src/beos/btimer.c 2008-10-15 14:29:35.000000000 +0000 +++ allegro-4.3.10plus-haiku/src/beos/btimer.c 2008-10-15 15:01:01.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.10plus/src/beos/bwindow.cpp allegro-4.3.10plus-haiku/src/beos/bwindow.cpp --- allegro-4.3.10plus/src/beos/bwindow.cpp 2008-10-15 14:29:35.000000000 +0000 +++ allegro-4.3.10plus-haiku/src/beos/bwindow.cpp 2008-10-15 15:01:01.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 @@ -117,7 +117,7 @@ /* _be_gfx_bwindow_read_write_bank: * Returns new line and marks it as dirty. */ -extern "C" unsigned long _be_gfx_bwindow_read_write_bank(BITMAP *bmp, int line) +extern "C" uintptr_t _be_gfx_bwindow_read_write_bank(BITMAP *bmp, int line) { if (!bmp->id & BMP_ID_LOCKED) { bmp->id |= (BMP_ID_LOCKED | BMP_ID_AUTOLOCK); diff -urN allegro-4.3.10plus/src/beos/bwscreen.cpp allegro-4.3.10plus-haiku/src/beos/bwscreen.cpp --- allegro-4.3.10plus/src/beos/bwscreen.cpp 2008-10-15 14:29:35.000000000 +0000 +++ allegro-4.3.10plus-haiku/src/beos/bwscreen.cpp 2008-10-15 15:01:01.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 @@ -474,7 +474,7 @@ /* be_gfx_bwindowscreen_read_write_bank: * Returns new line and synchronizes framebuffer if needed. */ -extern "C" unsigned long be_gfx_bwindowscreen_read_write_bank(BITMAP *bmp, int line) +extern "C" uintptr_t be_gfx_bwindowscreen_read_write_bank(BITMAP *bmp, int line) { if (!(bmp->id & BMP_ID_LOCKED)) { _be_sync_func(); @@ -490,7 +490,7 @@ */ extern "C" void be_gfx_bwindowscreen_unwrite_bank(BITMAP *bmp) { - if (bmp->id & BMP_AUTOLOCK) { + if (bmp->id & BMP_ID_AUTOLOCK) { bmp->id &= ~(BMP_ID_LOCKED | BMP_ID_AUTOLOCK); } } diff -urN allegro-4.3.10plus/src/i386/asmdefs.inc allegro-4.3.10plus-haiku/src/i386/asmdefs.inc --- allegro-4.3.10plus/src/i386/asmdefs.inc 2008-10-15 14:31:06.000000000 +0000 +++ allegro-4.3.10plus-haiku/src/i386/asmdefs.inc 2008-10-15 15:01:01.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.10plus/src/midi.c allegro-4.3.10plus-haiku/src/midi.c --- allegro-4.3.10plus/src/midi.c 2008-10-15 14:33:58.000000000 +0000 +++ allegro-4.3.10plus-haiku/src/midi.c 2008-10-15 15:01:01.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.10plus/tools/dat2c.c allegro-4.3.10plus-haiku/tools/dat2c.c --- allegro-4.3.10plus/tools/dat2c.c 2008-10-15 14:36:09.000000000 +0000 +++ allegro-4.3.10plus-haiku/tools/dat2c.c 2008-10-15 15:01:01.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.10plus/tools/datedit.c allegro-4.3.10plus-haiku/tools/datedit.c --- allegro-4.3.10plus/tools/datedit.c 2008-10-15 14:36:09.000000000 +0000 +++ allegro-4.3.10plus-haiku/tools/datedit.c 2008-10-15 15:01:01.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.10plus/tools/grabber.c allegro-4.3.10plus-haiku/tools/grabber.c --- allegro-4.3.10plus/tools/grabber.c 2008-10-15 14:36:09.000000000 +0000 +++ allegro-4.3.10plus-haiku/tools/grabber.c 2008-10-15 15:01:01.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;