--- SConstruct.orig	2013-03-15 13:59:55.000000000 -0500
+++ SConstruct	2013-03-20 03:41:22.000000000 -0500
@@ -491,20 +491,9 @@
     darwin = True
     platform = "osx" # prettier than darwin
 
-    if env["CXX"] is None:
-        if os.path.exists( "/usr/bin/g++-4.2" ):
-            env["CXX"] = "g++-4.2"
-
     nix = True
 
-    if force64:
-       env.Append( EXTRACPPPATH=["/usr/64/include"] )
-       env.Append( EXTRALIBPATH=["/usr/64/lib"] )
-       if installDir == DEFAULT_INSTALL_DIR:
-           installDir = "/usr/64/"
-    else:
-       env.Append( EXTRACPPPATH=filterExists(["/sw/include" , "/opt/local/include"]) )
-       env.Append( EXTRALIBPATH=filterExists(["/sw/lib/", "/opt/local/lib"]) )
+    env.MergeFlags( [ os.getenv("CPPFLAGS"), os.getenv("LDFLAGS"), os.getenv("ARCHFLAGS") ] )
 
 elif os.sys.platform.startswith("linux"):
     linux = True
