diff --git a/SConstruct b/SConstruct
index 89c044ab..a6d02072 100644
--- a/SConstruct
+++ b/SConstruct
@@ -2064,7 +2064,6 @@ if env.TargetOSIs('posix'):
     env.Append( CCFLAGS=["-fno-omit-frame-pointer",
                          "-fno-strict-aliasing",
                          "-fasynchronous-unwind-tables",
-                         "-ggdb" if not env.TargetOSIs('emscripten') else "-g",
                          "-pthread",
                          "-Wall",
                          "-Wsign-compare",
@@ -2076,6 +2075,9 @@ if env.TargetOSIs('posix'):
             env.Append( CCFLAGS=["-Werror"] )
 
     env.Append( CXXFLAGS=["-Woverloaded-virtual"] )
+    env.Append( CXXFLAGS=os.environ['CXXFLAGS'] )
+    env.Append( LINKFLAGS=os.environ['LDFLAGS'] )
+
     if env.ToolchainIs('clang'):
         env.Append( CXXFLAGS=['-Werror=unused-result'] )
 
@@ -2096,8 +2098,8 @@ if env.TargetOSIs('posix'):
 
     env.Append( LIBS=[] )
 
-    #make scons colorgcc friendly
-    for key in ('HOME', 'TERM'):
+    #make scons colorgcc, distcc, ccache friendly
+    for key in ('HOME', 'PATH', 'TERM'):
         try:
             env['ENV'][key] = os.environ[key]
         except KeyError: