This repository has been archived by the owner. It is now read-only.
Permalink
Browse files

build: detect cc version with -dumpversion

The heuristic introduced in f78ce08 ("build: handle output of localized gcc or
clang") does not handle "branded" versions of gcc, i.e. a gcc whose output has
been customized by the distro vendor.

Fixes #3601.
  • Loading branch information...
1 parent a25a278 commit a0add919873d6af805f3d70da57600f49a8f8cb3 @bnoordhuis bnoordhuis committed Jul 3, 2012
Showing with 3 additions and 11 deletions.
  1. +3 −11 configure
View
@@ -265,19 +265,11 @@ def target_arch():
def compiler_version():
proc = subprocess.Popen(CC.split() + ['--version'], stdout=subprocess.PIPE)
- version_line = proc.communicate()[0].split('\n')[0]
+ is_clang = 'clang' in proc.communicate()[0].split('\n')[0]
- if 'clang' in version_line:
- version, is_clang = version_line.split()[2], True
- elif 'gcc' in version_line:
- version, is_clang = version_line.split()[-1], False
- else:
- raise Exception(
- 'Unknown compiler. Please open an issue at ' +
- 'https://github.com/joyent/node/issues and ' +
- 'include the output of `%s --version`' % CC)
+ proc = subprocess.Popen(CC.split() + ['-dumpversion'], stdout=subprocess.PIPE)
+ version = tuple(map(int, proc.communicate()[0].split('.')))
- version = tuple(map(int, version.split('.')))
return (version, is_clang)

0 comments on commit a0add91

Please sign in to comment.