+def detect_compiler(fname):
+ gcc_version = None
+ clang_version = None
+ with open(fname, 'r') as f:
+ gcc_version_pattern = re.compile("CONFIG_GCC_VERSION=[0-9]*")
+ clang_version_pattern = re.compile("CONFIG_CLANG_VERSION=[0-9]*")
+ for line in f.readlines():
+ if gcc_version_pattern.match(line):
+ gcc_version = line[19:-1]
+ if clang_version_pattern.match(line):
+ clang_version = line[21:-1]
+ if not gcc_version or not clang_version:
+ return None, 'no CONFIG_GCC_VERSION or CONFIG_CLANG_VERSION'
+ if gcc_version == '0' and clang_version != '0':
+ return 'CLANG ' + clang_version, 'OK'
+ if gcc_version != '0' and clang_version == '0':
+ return 'GCC ' + gcc_version, 'OK'
+ sys.exit('[!] ERROR: invalid GCC_VERSION and CLANG_VERSION: {} {}'.format(gcc_version, clang_version))
+
+