* [PATCH 0/2] tools/perf: Python 3 + clang build fixes
@ 2018-10-05 20:40 Eduardo Habkost
2018-10-05 20:40 ` [PATCH 1/2] perf: Make clang_has_option() work on Python 3 Eduardo Habkost
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Eduardo Habkost @ 2018-10-05 20:40 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo; +Cc: linux-kernel
This series contains a couple fixes to make it possible to build
perf with Python 3 and clang.
Eduardo Habkost (2):
perf: Make clang_has_option() work on Python 3
perf: More portable way to make CFLAGS work with clang
tools/perf/util/setup.py | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
--
2.18.0.rc1.1.g3f1ff2140
^ permalink raw reply [flat|nested] 6+ messages in thread* [PATCH 1/2] perf: Make clang_has_option() work on Python 3 2018-10-05 20:40 [PATCH 0/2] tools/perf: Python 3 + clang build fixes Eduardo Habkost @ 2018-10-05 20:40 ` Eduardo Habkost 2018-10-09 5:32 ` [tip:perf/core] perf python: " tip-bot for Eduardo Habkost 2018-10-05 20:40 ` [PATCH 2/2] perf: More portable way to make CFLAGS work with clang Eduardo Habkost 2018-10-05 21:23 ` [PATCH 0/2] tools/perf: Python 3 + clang build fixes Arnaldo Carvalho de Melo 2 siblings, 1 reply; 6+ messages in thread From: Eduardo Habkost @ 2018-10-05 20:40 UTC (permalink / raw) To: Arnaldo Carvalho de Melo; +Cc: linux-kernel Use a bytes literal so it works with Python 3's version of Popen(). Note that the b"..." syntax requires Python 2.6+. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> --- tools/perf/util/setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/perf/util/setup.py b/tools/perf/util/setup.py index 1942f6dd24f6..261a55e7e1b2 100644 --- a/tools/perf/util/setup.py +++ b/tools/perf/util/setup.py @@ -5,7 +5,7 @@ from subprocess import Popen, PIPE from re import sub def clang_has_option(option): - return [o for o in Popen(['clang', option], stderr=PIPE).stderr.readlines() if "unknown argument" in o] == [ ] + return [o for o in Popen(['clang', option], stderr=PIPE).stderr.readlines() if b"unknown argument" in o] == [ ] cc = getenv("CC") if cc == "clang": -- 2.18.0.rc1.1.g3f1ff2140 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [tip:perf/core] perf python: Make clang_has_option() work on Python 3 2018-10-05 20:40 ` [PATCH 1/2] perf: Make clang_has_option() work on Python 3 Eduardo Habkost @ 2018-10-09 5:32 ` tip-bot for Eduardo Habkost 0 siblings, 0 replies; 6+ messages in thread From: tip-bot for Eduardo Habkost @ 2018-10-09 5:32 UTC (permalink / raw) To: linux-tip-commits Cc: ehabkost, mingo, linux-kernel, wangnan0, namhyung, hpa, acme, jolsa, tglx, dsahern, adrian.hunter Commit-ID: e13a5d69c31d35538e80176d54d95b6addf4dcbf Gitweb: https://git.kernel.org/tip/e13a5d69c31d35538e80176d54d95b6addf4dcbf Author: Eduardo Habkost <ehabkost@redhat.com> AuthorDate: Fri, 5 Oct 2018 17:40:57 -0300 Committer: Arnaldo Carvalho de Melo <acme@redhat.com> CommitDate: Mon, 8 Oct 2018 14:30:44 -0300 perf python: Make clang_has_option() work on Python 3 Use a bytes literal so it works with Python 3's version of Popen(). Note that the b"..." syntax requires Python 2.6+. Signed-off-by: Eduardo Habkost <ehabkost@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-2-ehabkost@redhat.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> --- tools/perf/util/setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/perf/util/setup.py b/tools/perf/util/setup.py index 1942f6dd24f6..261a55e7e1b2 100644 --- a/tools/perf/util/setup.py +++ b/tools/perf/util/setup.py @@ -5,7 +5,7 @@ from subprocess import Popen, PIPE from re import sub def clang_has_option(option): - return [o for o in Popen(['clang', option], stderr=PIPE).stderr.readlines() if "unknown argument" in o] == [ ] + return [o for o in Popen(['clang', option], stderr=PIPE).stderr.readlines() if b"unknown argument" in o] == [ ] cc = getenv("CC") if cc == "clang": ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/2] perf: More portable way to make CFLAGS work with clang 2018-10-05 20:40 [PATCH 0/2] tools/perf: Python 3 + clang build fixes Eduardo Habkost 2018-10-05 20:40 ` [PATCH 1/2] perf: Make clang_has_option() work on Python 3 Eduardo Habkost @ 2018-10-05 20:40 ` Eduardo Habkost 2018-10-09 5:32 ` [tip:perf/core] perf python: " tip-bot for Eduardo Habkost 2018-10-05 21:23 ` [PATCH 0/2] tools/perf: Python 3 + clang build fixes Arnaldo Carvalho de Melo 2 siblings, 1 reply; 6+ messages in thread From: Eduardo Habkost @ 2018-10-05 20:40 UTC (permalink / raw) To: Arnaldo Carvalho de Melo; +Cc: linux-kernel 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> --- tools/perf/util/setup.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/tools/perf/util/setup.py b/tools/perf/util/setup.py index 261a55e7e1b2..63f758c655d5 100644 --- a/tools/perf/util/setup.py +++ b/tools/perf/util/setup.py @@ -9,12 +9,14 @@ def clang_has_option(option): cc = getenv("CC") if cc == "clang": - from _sysconfigdata import build_time_vars - build_time_vars["CFLAGS"] = sub("-specs=[^ ]+", "", build_time_vars["CFLAGS"]) - if not clang_has_option("-mcet"): - build_time_vars["CFLAGS"] = sub("-mcet", "", build_time_vars["CFLAGS"]) - if not clang_has_option("-fcf-protection"): - build_time_vars["CFLAGS"] = sub("-fcf-protection", "", build_time_vars["CFLAGS"]) + from distutils.sysconfig import get_config_vars + vars = get_config_vars() + for var in ('CFLAGS', 'OPT'): + vars[var] = sub("-specs=[^ ]+", "", vars[var]) + if not clang_has_option("-mcet"): + 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 -- 2.18.0.rc1.1.g3f1ff2140 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [tip:perf/core] perf python: More portable way to make CFLAGS work with clang 2018-10-05 20:40 ` [PATCH 2/2] perf: More portable way to make CFLAGS work with clang Eduardo Habkost @ 2018-10-09 5:32 ` tip-bot for Eduardo Habkost 0 siblings, 0 replies; 6+ messages in thread From: tip-bot for Eduardo Habkost @ 2018-10-09 5:32 UTC (permalink / raw) To: linux-tip-commits Cc: tglx, linux-kernel, wangnan0, hpa, jolsa, namhyung, ehabkost, dsahern, adrian.hunter, acme, mingo Commit-ID: 8b2f245faa6238e28a1d801e8633515251d1acfc Gitweb: https://git.kernel.org/tip/8b2f245faa6238e28a1d801e8633515251d1acfc Author: Eduardo Habkost <ehabkost@redhat.com> AuthorDate: Fri, 5 Oct 2018 17:40:58 -0300 Committer: Arnaldo Carvalho de Melo <acme@redhat.com> CommitDate: Mon, 8 Oct 2018 14:30:45 -0300 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> --- tools/perf/util/setup.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/tools/perf/util/setup.py b/tools/perf/util/setup.py index 261a55e7e1b2..63f758c655d5 100644 --- a/tools/perf/util/setup.py +++ b/tools/perf/util/setup.py @@ -9,12 +9,14 @@ def clang_has_option(option): cc = getenv("CC") if cc == "clang": - from _sysconfigdata import build_time_vars - build_time_vars["CFLAGS"] = sub("-specs=[^ ]+", "", build_time_vars["CFLAGS"]) - if not clang_has_option("-mcet"): - build_time_vars["CFLAGS"] = sub("-mcet", "", build_time_vars["CFLAGS"]) - if not clang_has_option("-fcf-protection"): - build_time_vars["CFLAGS"] = sub("-fcf-protection", "", build_time_vars["CFLAGS"]) + from distutils.sysconfig import get_config_vars + vars = get_config_vars() + for var in ('CFLAGS', 'OPT'): + vars[var] = sub("-specs=[^ ]+", "", vars[var]) + if not clang_has_option("-mcet"): + 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 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 0/2] tools/perf: Python 3 + clang build fixes 2018-10-05 20:40 [PATCH 0/2] tools/perf: Python 3 + clang build fixes Eduardo Habkost 2018-10-05 20:40 ` [PATCH 1/2] perf: Make clang_has_option() work on Python 3 Eduardo Habkost 2018-10-05 20:40 ` [PATCH 2/2] perf: More portable way to make CFLAGS work with clang Eduardo Habkost @ 2018-10-05 21:23 ` Arnaldo Carvalho de Melo 2 siblings, 0 replies; 6+ messages in thread From: Arnaldo Carvalho de Melo @ 2018-10-05 21:23 UTC (permalink / raw) To: Eduardo Habkost Cc: Adrian Hunter, David Ahern, Jiri Olsa, Namhyung Kim, Wang Nan, linux-kernel Em Fri, Oct 05, 2018 at 05:40:56PM -0300, Eduardo Habkost escreveu: > This series contains a couple fixes to make it possible to build > perf with Python 3 and clang. > > Eduardo Habkost (2): > perf: Make clang_has_option() work on Python 3 > perf: More portable way to make CFLAGS work with clang Thanks! That was fast! Applying and testing, - Arnaldo ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2018-10-09 5:32 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-10-05 20:40 [PATCH 0/2] tools/perf: Python 3 + clang build fixes Eduardo Habkost 2018-10-05 20:40 ` [PATCH 1/2] perf: Make clang_has_option() work on Python 3 Eduardo Habkost 2018-10-09 5:32 ` [tip:perf/core] perf python: " tip-bot for Eduardo Habkost 2018-10-05 20:40 ` [PATCH 2/2] perf: More portable way to make CFLAGS work with clang Eduardo Habkost 2018-10-09 5:32 ` [tip:perf/core] perf python: " tip-bot for Eduardo Habkost 2018-10-05 21:23 ` [PATCH 0/2] tools/perf: Python 3 + clang build fixes Arnaldo Carvalho de Melo
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.