--- a
+++ b/configure
@@ -0,0 +1,141 @@
+#!/bin/bash
+
+#######################################################################
+# OS Setup Routines
+#######################################################################
+setup_win32()
+{
+    echo "Build environment... Microsoft Windows";
+    BUILD_FOR='Win32'
+    PORTAUDIO_MAKEOPTS='-lwinmm'
+    MORELIBS="$MORELIBS -lwinmm -mwindows"
+#   MOREDEPS="$MOREDEPS \$(BINDIR)nojack.o"
+}
+
+
+setup_linux_gnu()
+{
+    echo "Build environment... GNU/Linux";
+    BUILD_FOR='LinuxGNU'
+    PORTAUDIO_MAKEOPTS='-pthread'
+}
+
+
+setup_linux_win32()
+{
+    echo "Build environment... Microsoft Windows (Linux)"
+    BUILD_FOR='Win32Linux'
+    PORTAUDIO_MAKEOPTS='-lwinmm'
+    GCC='i586-mingw32msvc-gcc'
+}
+
+
+setup_darwin()
+{
+    echo "Build environment... Macintosh OS X";
+    BUILD_FOR='Darwin'
+    JACK_MAKEOPTS='-L/sw/lib -I/sw/include'
+    PORTAUDIO_MAKEOPTS='-L/sw/lib -I/sw/include'
+    export CFLAGS="-no-cpp-precomp -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk"
+    export CXXFLAGS="-no-cpp-precomp -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk"
+}
+
+
+#######################################################################
+# Library Tests
+#######################################################################
+find_fltk()
+{
+    TEST=`fltk-config --version | awk \
+        'BEGIN {FS="=";version="Unavailable"} 1==1 {version=$1}  END {print version}'`
+
+    if [ $? == 0 ]; then
+        echo "Searching for FLTK... found $TEST"
+        TMPCCARGS="$TMPCCARGS -DLIBFLTK=\"$TEST\""
+    else
+        echo "Searching for FLTK... not found"
+        echo "Can't continue."
+        exit 1
+    fi
+}
+
+
+#######################################################################
+# Main Configure Routine
+#######################################################################
+main()
+{
+    [[ -e Makefile ]] && make clean
+
+    MORELIBS=''  # Extra libraries
+    MOREDEPS=''  # Extra dependencies
+    BUILD_FOR='' # Build architecture
+    GCC='gcc'    # GCC Command (different if building Win32 on Linux)
+    TMPCCARGS=''    # Extra CC Arguments
+
+    # Check for Windows
+    if [[ $BUILD_FOR == '' && \
+        ($WINDIR == "C:\\WINNT" || $WINDIR == "C:\\WINDOWS") ]]; 
+    then
+        setup_win32
+    fi
+
+    # Check for Linux or Win32 building on Linux
+    if [[ $BUILD_FOR == '' && \
+        `if [ -e /proc/version ]; then cat /proc/version | grep Linux; fi` != "" ]]
+    then
+        if [ "$1" = "--os=win32" ]; then
+            setup_linux_win32
+        else
+            setup_linux_gnu
+        fi
+    fi
+
+    # Check for Mac OS X
+    if [[ $BUILD_FOR == '' && \
+        ("`echo $version|grep powerpc-apple-darwin`" != "" || \
+         "`echo $OSTYPE|grep darwin`" != "") ]]
+    then
+        setup_darwin $1
+    fi
+
+    # Check for Essential Libraries
+    find_fltk
+
+    if [[ "$1" == "--debug" ]]; then
+       echo "Enabling debugging. $1"
+       DEBUGGING=" -g -DHD24DEBUG=1"
+    fi
+
+    if [[ "$1" == "--debug=all" ]]; then
+           echo "Debugging EVERYTHING."
+           DEBUGGING=" -g -DHD24DEBUG=1 -DDEVGENDEBUG=1 -DSMPTE_DEBUG=1 -DRECORDERDEBUG=1 -DHD24FSDEBUG=1 -DHD24FSDEBUG_DEVSCAN=1 -DHD24FSDEBUG_QUICKFORMAT=1 -DHD24FSDEBUG_BITSET=1 -DHD24FSDEBUG_COMMIT=1 -DHD24FSDEBUG_CLUSTERddCALC=1 -DPROJDEBUG=1 -DSONGDEBUG=1 -DHD24SNDFILEDEBUG=1 -DHD24TRANSFERDEBUG=1 -DHD24TRACACTDEBUG=1 -DMEMDEBUG=1 "
+    fi
+
+    if [[ "$1" == "--debug=fs" ]]; then
+           echo "Debugging FS related issues."
+           DEBUGGING=" -g -DHD24FSDEBUG=1 -DHD24FSDEBUG_QUICKFORMAT=1 -DHD24FSDEBUG_BITSET=1 -DHD24FSDEBUG_COMMIT=1 -DHD24FSDEBUG_CLUSTERddCALC=1 "
+    fi
+    
+    if [[ "$1" == "--debug=recorder" ]]; then
+           echo "Debugging recorder related issues."
+           DEBUGGING=" -g -DRECORDERDEBUG=1 "
+    fi
+
+    # Create the Makefile
+    echo "BUILD_ARCH=$BUILD_FOR" > Makefile
+    echo "MORELIBS=$MORELIBS" >> Makefile
+    echo "MOREDEPS=$MOREDEPS" >> Makefile
+    echo "TMPCCARGS=$TMPCCARGS" >> Makefile
+    echo "DEBUGGING=$DEBUGGING" >> Makefile
+
+    if [[ $1 == '--with-universal' ]]; then
+        echo "UNIVERSAL=true" >> Makefile
+    fi
+
+    cat Makefile.in >> Makefile
+
+    echo -e "\nConfiguration complete. If all looked OK, now run make.";
+}
+
+main $1