diff --git a/SConstruct b/SConstruct
index 623bc5d8ef2ca99fe5ad79c5307426104078c736..78090c3a451b8e9b562407d55fc03fe948dcc824 100644
--- a/SConstruct
+++ b/SConstruct
@@ -68,10 +68,15 @@ if GetOption("coverage"):
                LDFLAGS=["-fprofile-arcs", "-ftest-coverage"],
                LIBS=['gcov'])
 
+env["CC"] = os.getenv("CC") or env["CC"]
+env["CXX"] = os.getenv("CXX") or env["CXX"]
+
 if os.getenv("CC") == "clang" or env['PLATFORM'] == 'darwin':
     env.Replace(CC="clang",
                 CXX="clang++")
 
+env["ENV"].update(x for x in os.environ.items() if x[0].startswith("CCC_"))
+
 #rootpath = env['ROOTPATH'] = os.path.abspath('.')
 #env.Append(CPPPATH=os.path.join('#', "hammer"))