  
  #if defined(GLEW_MX)
  GLboolean glxewContextIsSupported (GLXEWContext* ctx, const char* name)
-Index: config/haiku1-config.py
-===================================================================
---- config/haiku1-config.py	(revision 0)
-+++ config/haiku1-config.py	(revision 0)
-@@ -0,0 +1,194 @@
-+import os
-+import subprocess
-+import sys
-+
-+HAIKU_DEVELOP_DIR = '/boot/develop'
-+HAIKU_DEVELOP_LIB = HAIKU_DEVELOP_DIR + '/lib/x86' # TODO arch
-+HAIKU_DEVELOP_INCLUDE = HAIKU_DEVELOP_DIR + '/headers'
-+HAIKU_DEVELOP_INCLUDE_OS = HAIKU_DEVELOP_INCLUDE + '/os'
-+HAIKU_DEVELOP_INCLUDE_3RDPARTY = HAIKU_DEVELOP_INCLUDE + '/3rdparty'
-+HAIKU_COMMON_DIR = '/boot/common'
-+HAIKU_COMMON_LIB = HAIKU_COMMON_DIR + '/lib'
-+HAIKU_COMMON_INCLUDE = HAIKU_COMMON_DIR + '/include'
-+
-+WITH_BF_VERSE = 'false'
-+BF_VERSE_INCLUDE = "#extern/verse/dist"
-+
-+BF_PYTHON = HAIKU_COMMON_DIR
-+BF_PYTHON_VERSION = '2.5'
-+BF_PYTHON_INC = HAIKU_COMMON_INCLUDE + '/python' + BF_PYTHON_VERSION
-+BF_PYTHON_BINARY = BF_PYTHON + '/bin/python' + BF_PYTHON_VERSION
-+BF_PYTHON_LIB = 'python' + BF_PYTHON_VERSION
-+BF_PYTHON_LIBPATH = HAIKU_COMMON_LIB
-+pipe = subprocess.Popen(['python' + BF_PYTHON_VERSION + '-config', '--ldflags'], stdout=subprocess.PIPE)
-+BF_PYTHON_LINKFLAGS = pipe.communicate()[0]
-+pipe.stdout.close()
-+
-+WITH_BF_OPENAL = 'false' # TODO
-+#BF_OPENAL = '/usr'
-+#BF_OPENAL_INC = '${BF_OPENAL}/include'
-+#BF_OPENAL_LIB = 'openal'
-+# some distros have a separate libalut
-+# if you get linker complaints, you need to uncomment the line below
-+# BF_OPENAL_LIB = 'openal alut'  
-+
-+WITH_BF_SDL = 'true' # setting is ignored
-+BF_SDL = HAIKU_COMMON_DIR
-+BF_SDL_INC = HAIKU_COMMON_INCLUDE + '/SDL'
-+BF_SDL_LIB = 'SDL'
-+
-+WITH_BF_FMOD = 'false' # TODO
-+##BF_FMOD = LIBDIR + '/fmod'
-+
-+WITH_BF_OPENEXR = 'false' # TODO
-+#BF_OPENEXR = '/usr'
-+# when compiling with your own openexr lib you might need to set...
-+# BF_OPENEXR_INC = '${BF_OPENEXR}/include/OpenEXR ${BF_OPENEXR}/include'
-+
-+#BF_OPENEXR_INC = '${BF_OPENEXR}/include/OpenEXR'
-+#BF_OPENEXR_LIB = 'Half IlmImf Iex Imath '
-+# BF_OPENEXR_LIBPATH = '${BF_OPENEXR}/lib'
-+
-+WITH_BF_DDS = 'true'
-+
-+WITH_BF_JPEG = 'true' # setting is ignored
-+BF_JPEG = HAIKU_COMMON_DIR
-+BF_JPEG_INC = HAIKU_COMMON_INCLUDE
-+BF_JPEG_LIB = 'jpeg'
-+BF_JPEG_LIBPATH = HAIKU_COMMON_LIB
-+
-+WITH_BF_PNG = 'true'
-+BF_PNG = HAIKU_DEVELOP_DIR
-+BF_PNG_INC = HAIKU_DEVELOP_INCLUDE_3RDPARTY
-+BF_PNG_LIB = 'png'
-+
-+WITH_BF_TIFF = 'true' # setting is ignored
-+BF_TIFF = HAIKU_COMMON_DIR
-+BF_TIFF_INC = HAIKU_COMMON_INCLUDE
-+
-+WITH_BF_ZLIB = 'true'
-+BF_ZLIB = HAIKU_DEVELOP_DIR
-+BF_ZLIB_INC = HAIKU_DEVELOP_INCLUDE_3RDPARTY
-+BF_ZLIB_LIB = 'z'
-+
-+WITH_BF_INTERNATIONAL = 'false' # TODO
-+
-+#BF_GETTEXT = '/usr'
-+#BF_GETTEXT_INC = '${BF_GETTEXT}/include'
-+#BF_GETTEXT_LIB = 'gettextlib'
-+#BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
-+
-+WITH_BF_FTGL = 'false' # TODO
-+#BF_FTGL = '#extern/bFTGL'
-+#BF_FTGL_INC = '${BF_FTGL}/include'
-+#BF_FTGL_LIB = 'extern_ftgl'
-+
-+WITH_BF_GAMEENGINE='false' # TODO
-+
-+WITH_BF_ODE = 'false'
-+##BF_ODE = LIBDIR + '/ode'
-+BF_ODE_INC = BF_ODE + '/include'
-+BF_ODE_LIB = BF_ODE + '/lib/libode.a'
-+
-+WITH_BF_BULLET = 'true'
-+BF_BULLET = '#extern/bullet2/src'
-+BF_BULLET_INC = '${BF_BULLET}'
-+BF_BULLET_LIB = 'extern_bullet'
-+
-+BF_SOLID = '#extern/solid'
-+BF_SOLID_INC = '${BF_SOLID}'
-+BF_SOLID_LIB = 'extern_solid'
-+
-+WITH_BF_YAFRAY = 'true'
-+
-+#WITH_BF_NSPR = 'true'
-+#BF_NSPR = $(LIBDIR)/nspr
-+#BF_NSPR_INC = -I$(BF_NSPR)/include -I$(BF_NSPR)/include/nspr
-+#BF_NSPR_LIB = 
-+
-+# Uncomment the following line to use Mozilla inplace of netscape
-+#CPPFLAGS += -DMOZ_NOT_NET
-+# Location of MOZILLA/Netscape header files...
-+#BF_MOZILLA = $(LIBDIR)/mozilla
-+#BF_MOZILLA_INC = -I$(BF_MOZILLA)/include/mozilla/nspr -I$(BF_MOZILLA)/include/mozilla -I$(BF_MOZILLA)/include/mozilla/xpcom -I$(BF_MOZILLA)/include/mozilla/idl
-+#BF_MOZILLA_LIB =
-+# Will fall back to look in BF_MOZILLA_INC/nspr and BF_MOZILLA_LIB
-+# if this is not set.
-+#
-+# Be paranoid regarding library creation (do not update archives)
-+#BF_PARANOID = 'true'
-+
-+# enable freetype2 support for text objects
-+WITH_BF_FREETYPE = 'false'
-+#BF_FREETYPE = '/usr'
-+#BF_FREETYPE_INC = '${BF_FREETYPE}/include ${BF_FREETYPE}/include/freetype2'
-+#BF_FREETYPE_LIB = 'freetype'
-+
-+WITH_BF_QUICKTIME = 'false'
-+#BF_QUICKTIME = '/usr/local'
-+#BF_QUICKTIME_INC = '${BF_QUICKTIME}/include'
-+
-+WITH_BF_ICONV = 'false' # TODO
-+##BF_ICONV = LIBDIR + "/iconv"
-+#BF_ICONV_INC = '${BF_ICONV}/include'
-+#BF_ICONV_LIB = 'iconv'
-+#BF_ICONV_LIBPATH = '${BF_ICONV}/lib'
-+
-+WITH_BF_BINRELOC = 'false' # TODO?
-+
-+# enable ffmpeg  support
-+WITH_BF_FFMPEG = 'false'  # -DWITH_FFMPEG
-+#BF_FFMPEG = '#extern/ffmpeg'
-+#BF_FFMPEG_LIB = ''
-+# Uncomment the following two lines to use system's ffmpeg
-+# BF_FFMPEG = '/usr'
-+# BF_FFMPEG_LIB = 'avformat avcodec swscale avutil'
-+#BF_FFMPEG_INC = '${BF_FFMPEG}/include'
-+#BF_FFMPEG_LIBPATH='${BF_FFMPEG}/lib'
-+
-+# Mesa Libs should go here if your using them as well....
-+WITH_BF_STATICOPENGL = 'false'
-+#BF_OPENGL = '/usr'
-+BF_OPENGL_INC = '${HAIKU_DEVELOP_INCLUDE_OS}/opengl'
-+BF_OPENGL_LIB = 'GL'
-+BF_OPENGL_LIBPATH = '${HAIKU_DEVELOP_LIB}'
-+#BF_OPENGL_LIB_STATIC = '${BF_OPENGL}/libGL.a ${BF_OPENGL}/libGLU.a ${BF_OPENGL}/libXxf86vm.a ${BF_OPENGL}/libX11.a ${BF_OPENGL}/libXi.a ${BF_OPENGL}/libXext.a ${BF_OPENGL}/libXxf86vm.a'
-+
-+##
-+CC = 'gcc'
-+CXX = 'g++'
-+
-+# TODO CHECK ALL VALUES!
-+##CCFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing']
-+
-+##CPPFLAGS = ['-DXP_UNIX']
-+##CXXFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing']
-+REL_CFLAGS = ['-O2']
-+REL_CCFLAGS = ['-O2']
-+##BF_DEPEND = 'true'
-+##
-+##AR = ar
-+##ARFLAGS = ruv
-+##ARFLAGSQUIET = ru
-+##
-+##C_WARN = '-Wall -Wno-char-subscripts -Wdeclaration-after-statement'
-+
-+##CC_WARN = '-Wall'
-+
-+##FIX_STUBS_WARNINGS = -Wno-unused
-+
-+LLIBS = 'stdc++ network be'
-+##LOPTS = --dynamic
-+##DYNLDFLAGS = -shared $(LDFLAGS)
-+
-+#BF_PROFILE_FLAGS = ['-pg','-g']
-+#BF_PROFILE = 'false'
-+
-+CPPDEFINES = 'GHOST_DEBUG'
-+DEFINES = ['GHOST_DEBUG']
-+
-+BF_DEBUG = 'false'
-+BF_DEBUG_FLAGS = '-g'
-+
-+BF_BUILDDIR = '../build-' + sys.platform
-+BF_INSTALLDIR='../install-' + sys.platform

+	GHOST_PRINT("GHOST_SystemHaiku::init()\n");
+	
+	if (GHOST_kSuccess != GHOST_System::init()) {
+		cout << "GHOST_SystemHaiku::init() : GHOST_System::init() failed!" << endl;
+		return GHOST_kFailure;
+	}
+
+	fApplication = new BApplication("application/x-vnd.GHOST.BApplication");
+	
+//	thread_id appThread = spawn_thread(GHOST_SystemHaiku::BApplicationThread,
+//		"GHOST.BApplication", B_NORMAL_PRIORITY, 0);
+//	if (appThread == B_NO_MORE_THREADS) {
+//		GHOST_PRINT("GHOST_SystemHaiku::init() : Reached maximum number of threads!\n");
+//		return GHOST_kFailure;
+//	}
+//	if (appThread == B_NO_MEMORY) {
+//		GHOST_PRINT( "GHOST_SystemHaiku::init() : Not enough memory to allocate the resources for another thread.\n");
+//		return GHOST_kFailure;
+//	}
+	
+	// TODO: It seems the application is not necessary to be Run()ed.
+	/* Resume the initially suspended thread. */
+//	if (B_OK != resume_thread(appThread))
+//		return GHOST_kFailure;
+	
+	fDisplayManager = new GHOST_DisplayManagerHaiku();	
+	
+	return GHOST_kSuccess;

===================================================================
--- intern/ghost/intern/GHOST_SystemHaiku.h	(revision 0)
+++ intern/ghost/intern/GHOST_SystemHaiku.h	(revision 0)
@@ -0,0 +1,139 @@
+#ifndef _GHOST_SYSTEM_HAIKU_H_
+#define _GHOST_SYSTEM_HAIKU_H_
+
