diff options
Diffstat (limited to 'tools/perf/util/setup.py')
| -rw-r--r-- | tools/perf/util/setup.py | 8 | 
1 files changed, 6 insertions, 2 deletions
| diff --git a/tools/perf/util/setup.py b/tools/perf/util/setup.py index 483f05004e68..c255a2c90cd6 100644 --- a/tools/perf/util/setup.py +++ b/tools/perf/util/setup.py @@ -1,12 +1,14 @@ -from os import getenv +from os import getenv, path  from subprocess import Popen, PIPE  from re import sub  cc = getenv("CC")  cc_is_clang = b"clang version" in Popen([cc.split()[0], "-v"], stderr=PIPE).stderr.readline() +src_feature_tests  = getenv('srctree') + '/tools/build/feature'  def clang_has_option(option): -    return [o for o in Popen([cc, option], stderr=PIPE).stderr.readlines() if b"unknown argument" in o] == [ ] +    cc_output = Popen([cc, option, path.join(src_feature_tests, "test-hello.c") ], stderr=PIPE).stderr.readlines() +    return [o for o in cc_output if ((b"unknown argument" in o) or (b"is not supported" in o))] == [ ]  if cc_is_clang:      from distutils.sysconfig import get_config_vars @@ -23,6 +25,8 @@ if cc_is_clang:              vars[var] = sub("-fstack-protector-strong", "", vars[var])          if not clang_has_option("-fno-semantic-interposition"):              vars[var] = sub("-fno-semantic-interposition", "", vars[var]) +        if not clang_has_option("-ffat-lto-objects"): +            vars[var] = sub("-ffat-lto-objects", "", vars[var])  from distutils.core import setup, Extension |