diff -r 52a8137e2726 SConstruct
--- a/SConstruct	Mon Jan 07 23:17:58 2008 +0100
+++ b/SConstruct	Mon Jan 07 22:14:45 2008 -0500
@@ -1,13 +1,16 @@ def establish_options(env):
+import sys;
+
 def establish_options(env):
     opts = Options('options_cache.py')
     opts.Add("CXXFLAGS", "Manually add to the CXXFLAGS", "-g")
+    opts.Add("CFLAGS", "Manually add to the CFLAGS", "-g")
     opts.Add("LINKFLAGS", "Manually add to the LINKFLAGS", "")
     opts.Add("INSTALLDIR", "Installation Directory", "/usr/local/share")
     opts.Add("BINDIR", "Binary Installation Directory", "/usr/local/bin")
     opts.Add(BoolOption("release", "Build for release", 0))
     opts.Add(BoolOption("profile", 'Build with profiling on', 0))
     opts.Add(BoolOption("mingw", "Build with mingw enabled if not auto-detected", 0))
-    opts.Add(BoolOption("osx", "Build for OSX", 0))
+    opts.Add(BoolOption("osx", "Build for OSX", (sys.platform=="darwin")))
     Help(opts.GenerateHelpText(env))
     opts.Update(env)
     opts.Save('options_cache.py', env)
@@ -50,8 +53,11 @@ def configure(env):
     if not conf.CheckLib('SDL_net'):
         print "Could not find libSDL_net"
         Exit(1)
-    if not conf.CheckLib('speex') or not conf.CheckCHeader('speex/speex.h'):
-        print "Could not find libspeex or could not find 'speex/speex.h'"
+    if not conf.CheckLib('speex'):
+        print "Could not find libspeex"
+        Exit(1)
+    if not conf.CheckCHeader('speex/speex.h'):
+        print "Could not find 'speex/speex.h'"
         Exit(1)
     if not conf.CheckLib('vorbisfile'):
         print "Could not find libvorbisfile to link against"
@@ -68,13 +74,16 @@ def configure(env):
             print "Coulf not find libz or zlib1.dll"
             Exit(1)
 
+    if not conf.CheckCXXHeader('boost/thread/thread.hpp'):
+        print "Could not find boost/thread/thread.hpp (part of boost_thread)"
+        Exit(1)
     boost_thread = ''
-    if conf.CheckLib('boost_thread') and conf.CheckCXXHeader('boost/thread/thread.hpp'):
+    if conf.CheckLib('boost_thread'):
         boost_thread='boost_thread'
-    elif conf.CheckLib('boost_thread-mt') and conf.CheckCXXHeader('boost/thread/thread.hpp'):
+    elif conf.CheckLib('boost_thread-mt'):
         boost_thread='boost_thread-mt'
     else:
-        print "Could not find libboost_thread or libboost_thread-mt or boost/thread/thread.hpp"
+        print "Could not find libboost_thread or libboost_thread-mt"
         Exit(1)
     env.Append(LIBS=[boost_thread])
     
@@ -97,20 +106,22 @@ def configure(env):
      
     #Do checks for OpenGL, which is different on every system
     gl_libraries = []
-    if conf.CheckLib('GL') and conf.CheckCHeader('GL/gl.h'):
+    if env['osx']:
+	    [] # skip check, use -framework OpenGL below
+    elif conf.CheckLib('GL') and conf.CheckCHeader('GL/gl.h'):
         gl_libraries.append("GL")
     elif conf.CheckLib('GL') and conf.CheckCHeader('OpenGL/gl.h'):
         gl_libraries.append("GL")
     elif conf.CheckLib('opengl32') and conf.CheckCHeader('GL/gl.h'):
         gl_libraries.append("opengl32")
     else:
-        #Quick fix for OSX, ignore libraries not found
-        if not env['osx']:
-            print "Could not find libGL or opengl32, or could not find GL/gl.h or OpenGL/gl.h"
-            Exit(1)
+        print "Could not find libGL or opengl32, or could not find GL/gl.h or OpenGL/gl.h"
+        Exit(1)
     
     #Do checks for GLU, which is different on every system
-    if conf.CheckLib('GLU') and conf.CheckCHeader("GL/glu.h"):
+    if env['osx']:
+	    [] # skip check, use -framework OpenGL below
+    elif conf.CheckLib('GLU') and conf.CheckCHeader("GL/glu.h"):
         gl_libraries.append("GLU")
     elif conf.CheckLib('GLU') and conf.CheckCHeader("OpenGL/glu.h"):
         gl_libraries.append("GLU")
@@ -154,7 +165,7 @@ def main():
         env.Append(CXXFLAGS=' -O3')
     if env['mingw'] or env['PLATFORM'] == 'win32':
         #These four options must be present before the object files when compiling in mingw
-        env.Append(LINKFLAGS="-lmingw32 -lSDLmain -lSDL -mwindows")
+        env.Append(LINKFLAGS=["-lmingw32","-lSDLmain","-lSDL","-mwindows"])
         env.Append(LIBS=['wsock32'])
         env.ParseConfig("sh sdl-config --cflags")
         env.ParseConfig("sh sdl-config --libs")
@@ -162,7 +173,7 @@ def main():
         env.ParseConfig("sdl-config --cflags")
         env.ParseConfig("sdl-config --libs")
     if env['osx']:
-        env.Append(CXXFLAGS="-framework OpenGL")
+        env.Append(LINKFLAGS=["-framework","OpenGL"])
     env.Append(LIBS=['vorbisfile', 'SDL_ttf', 'SDL_image', 'SDL_net', 'speex'])
     
     env["TARFILE"] = env.Dir("#").abspath + "/glob2-" + env["VERSION"] + ".tar.gz"
