mirror of
https://github.com/torvalds/linux.git
synced 2024-11-27 22:51:35 +00:00
perf python: More portable way to make CFLAGS work with clang
The existing code that tries to make CFLAGS compatible with clang doesn't work with Python 3. Instead of trying to touch _sysconfigdata.build_time_vars directly, change the dictionary returned by disutils.sysconfig.get_config_vars(). This works on both Python 2 and Python 3. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Reported-by: Arnaldo Carvalho de Melo <acme@redhat.com> Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: David Ahern <dsahern@gmail.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Wang Nan <wangnan0@huawei.com> Link: http://lkml.kernel.org/r/20181005204058.7966-3-ehabkost@redhat.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
e13a5d69c3
commit
8b2f245faa
@ -9,12 +9,14 @@ def clang_has_option(option):
|
|||||||
|
|
||||||
cc = getenv("CC")
|
cc = getenv("CC")
|
||||||
if cc == "clang":
|
if cc == "clang":
|
||||||
from _sysconfigdata import build_time_vars
|
from distutils.sysconfig import get_config_vars
|
||||||
build_time_vars["CFLAGS"] = sub("-specs=[^ ]+", "", build_time_vars["CFLAGS"])
|
vars = get_config_vars()
|
||||||
if not clang_has_option("-mcet"):
|
for var in ('CFLAGS', 'OPT'):
|
||||||
build_time_vars["CFLAGS"] = sub("-mcet", "", build_time_vars["CFLAGS"])
|
vars[var] = sub("-specs=[^ ]+", "", vars[var])
|
||||||
if not clang_has_option("-fcf-protection"):
|
if not clang_has_option("-mcet"):
|
||||||
build_time_vars["CFLAGS"] = sub("-fcf-protection", "", build_time_vars["CFLAGS"])
|
vars[var] = sub("-mcet", "", vars[var])
|
||||||
|
if not clang_has_option("-fcf-protection"):
|
||||||
|
vars[var] = sub("-fcf-protection", "", vars[var])
|
||||||
|
|
||||||
from distutils.core import setup, Extension
|
from distutils.core import setup, Extension
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user