diff -urN pygame-1.9.1release/config.py pygame-1.9.1release-haiku/config.py
--- pygame-1.9.1release/config.py	2009-07-09 06:13:20.025952256 +0000
+++ pygame-1.9.1release-haiku/config.py	2010-09-17 09:54:05.000000000 +0000
@@ -119,6 +119,9 @@
     elif sys.platform == 'win32':
         print_('Using WINDOWS mingw/msys configuration...\n')
         import config_msys as CFG
+    elif sys.platform == 'haiku1':
+        print_('Using Haiku configuration...\n')
+        import config_haiku as CFG
     elif sys.platform == 'darwin':
         print_('Using Darwin configuration...\n')
         import config_darwin as CFG
diff -urN pygame-1.9.1release/config_haiku.py pygame-1.9.1release-haiku/config_haiku.py
--- pygame-1.9.1release/config_haiku.py	1970-01-01 00:00:00.000000000 +0000
+++ pygame-1.9.1release-haiku/config_haiku.py	2010-09-17 10:02:14.000000000 +0000
@@ -0,0 +1,187 @@
+"""Config on Haiku"""
+
+import os, sys
+from glob import glob
+from distutils.sysconfig import get_python_inc
+
+# Python 2.x/3.x compatibility
+try:
+    raw_input
+except NameError:
+    raw_input = input
+
+configcommand = os.environ.get('SDL_CONFIG', 'sdl-config',)
+configcommand = configcommand + ' --version --cflags --libs'
+localbase = os.environ.get('LOCALBASE', '')
+
+#these get prefixes with '/usr' and '/usr/local' or the $LOCALBASE
+origincdirs = ['/include', '/include/SDL', '/include/SDL',
+               '/include/smpeg' ]
+origlibdirs = ['/lib','/lib64','/X11R6/lib']
+
+def confirm(message):
+    "ask a yes/no question, return result"
+    reply = raw_input('\n' + message + ' [Y/n]:')
+    if reply and (reply[0].lower()) == 'n':
+        return 0
+    return 1
+
+class DependencyProg:
+    def __init__(self, name, envname, exename, minver, defaultlibs):
+        self.name = name
+        command = os.environ.get(envname, exename)
+        self.lib_dir = ''
+        self.inc_dir = ''
+        self.libs = []
+        self.cflags = ''
+        try:
+            config = os.popen(command + ' --version --cflags --libs').readlines()
+            flags = ' '.join(config[1:]).split()
+
+            # remove this GNU_SOURCE if there... since python has it already,
+            #   it causes a warning.
+            if '-D_GNU_SOURCE=1' in flags:
+                flags.remove('-D_GNU_SOURCE=1')
+            self.ver = config[0].strip()
+            if minver and self.ver < minver:
+                err= 'WARNING: requires %s version %s (%s found)' % (self.name, self.ver, minver)
+                raise ValueError(err)
+            self.found = 1
+            self.cflags = ''
+            for f in flags:
+                if f[:2] in ('-l', '-D', '-I', '-L'):
+                    self.cflags += f + ' '
+                elif f[:3] == '-Wl':
+                    self.cflags += '-Xlinker ' + f + ' '
+            if self.name == 'SDL':
+                inc = '-I' + '/usr/X11R6/include'
+                self.cflags = inc + ' ' + self.cflags
+        except:
+            print ('WARNING: "%s" failed!' % command)
+            self.found = 0
+            self.ver = '0'
+            self.libs = defaultlibs
+
+    def configure(self, incdirs, libdir):
+        if self.found:
+            print (self.name + '        '[len(self.name):] + ': found ' + self.ver)
+            self.found = 1
+        else:
+            print (self.name + '        '[len(self.name):] + ': not found')
+
+class Dependency:
+    def __init__(self, name, checkhead, checklib, libs):
+        self.name = name
+        self.inc_dir = None
+        self.lib_dir = None
+        self.libs = libs
+        self.found = 0
+        self.checklib = checklib
+        self.checkhead = checkhead
+        self.cflags = ''
+    
+    def configure(self, incdirs, libdirs):
+        incname = self.checkhead
+        libnames = self.checklib, self.name.lower()
+        
+        if incname:
+            for dir in incdirs:
+                path = os.path.join(dir, incname)
+                if os.path.isfile(path):
+                    self.inc_dir = dir
+
+        for dir in libdirs:
+            for name in libnames:
+                path = os.path.join(dir, name)
+                if filter(os.path.isfile, glob(path+'*')):
+                    self.lib_dir = dir
+
+        if (incname and self.lib_dir and self.inc_dir) or (not incname and self.lib_dir):
+            print (self.name + '        '[len(self.name):] + ': found')
+            self.found = 1
+        else:
+            print (self.name + '        '[len(self.name):] + ': not found')
+
+class DependencyPython:
+    def __init__(self, name, module, header):
+        self.name = name
+        self.lib_dir = ''
+        self.inc_dir = ''
+        self.libs = []
+        self.cflags = ''
+        self.found = 0
+        self.ver = '0'
+        self.module = module
+        self.header = header
+ 
+    def configure(self, incdirs, libdirs):
+        self.found = 1
+        if self.module:
+            try:
+                self.ver = __import__(self.module).__version__
+            except ImportError:
+                self.found = 0
+        if self.found and self.header:
+            fullpath = os.path.join(get_python_inc(0), self.header)
+            if not os.path.isfile(fullpath):
+                self.found = 0
+            else:
+                self.inc_dir = os.path.split(fullpath)[0]
+        if self.found:
+            print (self.name + '        '[len(self.name):] + ': found', self.ver)
+        else:
+            print (self.name + '        '[len(self.name):] + ': not found')
+
+sdl_lib_name = 'SDL'
+
+def main():
+    print ('\nHunting dependencies...')
+    DEPS = [
+        DependencyProg('SDL', 'SDL_CONFIG', 'sdl-config', '1.2', ['sdl']),
+        Dependency('FONT', 'SDL_ttf.h', 'libSDL_ttf.so', ['SDL_ttf']),
+        Dependency('IMAGE', 'SDL_image.h', 'libSDL_image.so', ['SDL_image']),
+        Dependency('MIXER', 'SDL_mixer.h', 'libSDL_mixer.so', ['SDL_mixer']),
+        DependencyProg('SMPEG', 'SMPEG_CONFIG', 'smpeg-config', '0.4.3', ['smpeg']),
+        Dependency('PNG', 'png.h', 'libpng', ['png']),
+        Dependency('JPEG', 'jpeglib.h', 'libjpeg', ['jpeg']),
+        Dependency('SCRAP', '', 'libX11', ['X11']),
+        Dependency('PORTMIDI', 'portmidi.h', 'libportmidi.so', ['portmidi']),
+        Dependency('PORTTIME', 'porttime.h', 'libporttime.so', ['porttime']),
+        #Dependency('GFX', 'SDL_gfxPrimitives.h', 'libSDL_gfx.so', ['SDL_gfx']),
+    ]
+    if not DEPS[0].found:
+        print ('Unable to run "sdl-config". Please make sure a development version of SDL is installed.')
+        raise SystemExit
+
+    if localbase:
+        incdirs = [localbase+d for d in origincdirs]
+        libdirs = [localbase+d for d in origlibdirs]
+    else:
+        incdirs = []
+        libdirs = []
+    incdirs += ["/boot/common"+d for d in origincdirs]
+    libdirs += ["/boot/common"+d for d in origlibdirs]
+
+    for arg in DEPS[0].cflags.split():
+        if arg[:2] == '-I':
+            incdirs.append(arg[2:])
+        elif arg[:2] == '-L':
+            libdirs.append(arg[2:])
+    for d in DEPS:
+        d.configure(incdirs, libdirs)
+
+    for d in DEPS[1:]:
+        if not d.found:
+            if not confirm("""
+Warning, some of the pygame dependencies were not found. Pygame can still
+compile and install, but games that depend on those missing dependencies
+will not run. Would you like to continue the configuration?"""):
+                raise SystemExit
+            break
+
+    return DEPS
+
+if __name__ == '__main__':
+    print ("""This is the configuration subscript for Unix.
+Please run "config.py" for full configuration.""")
+
