+env['GCC'] = False
+env['SUNCC'] = False
+env['ICC'] = False
+env['GCC'] = subprocess.Popen(env['CXX'] + ' --version', shell=True,
+ stdout=subprocess.PIPE, stderr=subprocess.STDOUT,
+ close_fds=True).communicate()[0].find('GCC') >= 0
+env['SUNCC'] = subprocess.Popen(env['CXX'] + ' -V', shell=True,
+ stdout=subprocess.PIPE, stderr=subprocess.STDOUT,
+ close_fds=True).communicate()[0].find('Sun C++') >= 0
+env['ICC'] = subprocess.Popen(env['CXX'] + ' -V', shell=True,
+ stdout=subprocess.PIPE, stderr=subprocess.STDOUT,
+ close_fds=True).communicate()[0].find('Intel') >= 0
+if env['GCC'] + env['SUNCC'] + env['ICC'] > 1:
+ print 'Error: How can we have two at the same time?'
+ Exit(1)
+