Browse Source

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.
v0.8.7-release
Ben Noordhuis 13 years ago
parent
commit
a0add91987
  1. 14
      configure

14
configure

@ -265,19 +265,11 @@ def target_arch():
def compiler_version(): def compiler_version():
proc = subprocess.Popen(CC.split() + ['--version'], stdout=subprocess.PIPE) 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: proc = subprocess.Popen(CC.split() + ['-dumpversion'], stdout=subprocess.PIPE)
version, is_clang = version_line.split()[2], True version = tuple(map(int, proc.communicate()[0].split('.')))
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)
version = tuple(map(int, version.split('.')))
return (version, is_clang) return (version, is_clang)

Loading…
Cancel
Save