LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Jiri Olsa <jolsa@kernel.org>
To: linux-kernel@vger.kernel.org
Cc: Jiri Olsa <jolsa@kernel.org>,
Adrian Hunter <adrian.hunter@intel.com>,
Alexis Berlemont <alexis.berlemont@gmail.com>,
Andi Kleen <ak@linux.intel.com>,
Anton Blanchard <anton@samba.org>,
Arnaldo Carvalho de Melo <acme@redhat.com>,
Borislav Petkov <bp@alien8.de>, Borislav Petkov <bp@suse.de>,
Cody P Schafer <cody@linux.vnet.ibm.com>,
Corey Ashford <cjashfor@linux.vnet.ibm.com>,
David Ahern <dsahern@gmail.com>,
Florian Fainelli <florian@openwrt.org>,
Frederic Weisbecker <fweisbec@gmail.com>,
Ingo Molnar <mingo@kernel.org>,
Jean Pihet <jean.pihet@linaro.org>,
Mark Salter <msalter@redhat.com>,
Namhyung Kim <namhyung@kernel.org>,
Paul Mackerras <paulus@samba.org>,
Peter Zijlstra <peterz@infradead.org>,
"S. Lockwood-Childs" <sjl@vctlabs.com>,
Sam Ravnborg <sam@ravnborg.org>,
Sasha Levin <sasha.levin@oracle.com>,
Stephane Eranian <eranian@google.com>,
Steven Rostedt <rostedt@goodmis.org>,
Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>,
Will Deacon <will.deacon@arm.com>
Subject: [PATCHv2 00/36] perf tools: New build framework
Date: Thu, 15 Jan 2015 13:54:56 +0100 [thread overview]
Message-ID: <1421326532-25660-1-git-send-email-jolsa@kernel.org> (raw)
hi,
I'm following up on latest post from Alexis:
http://marc.info/?l=linux-kernel&m=141427580405357&w=2
v2 changes:
- build Makefiles librarized and moved to 'tools/build' [Ingo]
- several minor fixies [Namhyung]
- tested on other archs now - x86_64, i386, powerpc
- moved tools/lib/* under new build framework to show
that it's possible ;-)
included traceevent/lockdep maintainers to get the feedback
- omitted last 2 patches
The patchset is also available in:
git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git
perf/build
All tests/make tests passed.
Any feedback from ARM guys would be great ;-)
Since it's actually small portion of kbuild that perf needs,
I realized it's actually better to steal it than 'reconfigure'
kbuild to be usable for perf.
Also this patchset is kind of incremental version of the latest:
perf tools: Add kbuild support into Makefile.kbuild
so it should be easier to review.
NOTE I couldn't find any copyright/credit messages in the kbuild
system, but would be happy to include it if someone suggests one.
The stolen parts are in files:
Makefile.kbuild
Build.include
The idea and more details are explained in the 'Documentation/Build'
file. The basic idea is the same as in kbuild system, with some minor
changes to allow for multiple binaries build definitions.
User provides 'Build' files with objects definitions like:
perf-y += perf.o
perf-y += builtin-bench.o
...
libperf-y += util/
...
and the build framework outputs files:
perf-in.o
libperf-in.o
which are then linked into appropriate binaries/libraries.
(perf libperf.a libperf-gtk.so)
Also now we have the full dependency check ((gcc -Wp,-MD,... stuff) and
build command line is stored/checked automatically by the build system.
thanks for comments,
jirka
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexis Berlemont <alexis.berlemont@gmail.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Anton Blanchard <anton@samba.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Borislav Petkov <bp@suse.de>
Cc: Cody P Schafer <cody@linux.vnet.ibm.com>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Florian Fainelli <florian@openwrt.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jean Pihet <jean.pihet@linaro.org>
Cc: Mark Salter <msalter@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: S. Lockwood-Childs <sjl@vctlabs.com>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Sasha Levin <sasha.levin@oracle.com>
Cc: Stephane Eranian <eranian@google.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Cc: Will Deacon <will.deacon@arm.com>
---
Jiri Olsa (36):
tools build: Add new build support
tools build: Add detected config support
tools build: Add subdir support
perf tools: Remove api fs object from python build
perf build: Disable make's built-in rules and variables
perf build: Add bench objects building
perf build: Add tests objects building
perf build: Add builtin objects building
perf build: Add libperf objects building
perf build: Add probe objects building
perf build: Add dwarf objects building
perf build: Add dwarf unwind objects building
perf build: Add ui objects building
perf build: Add slang objects building
perf build: Add gtk objects building
perf build: Add scripts objects building
perf build: Add perf regs objects building
perf build: Add zlib objects building
perf build: Add perf.o object building
perf build: Add arch x86 objects building
perf build: Add arch arm objects building
perf build: Add arch arm64 objects building
perf build: Add arch powerpc objects building
perf build: Add arch s390 objects building
perf build: Add arch sh objects building
perf build: Add arch sparc objects building
perf build: Add single target build framework support
perf build: Remove directory dependency rules
perf build: Remove uneeded variables
perf build: Remove PERF-CFLAGS file
perf build: Add build documentation
tools lib api: Use tools build framework
tools lib api: Rename libapikfs.a to libapi.a
tools lib traceevent: Use tools build framework
tools lib lockdep: Use tools build framework
perf build: Display make commands on V=1
tools/build/Build.include | 75 +++
tools/build/Documentation/Build.txt | 75 +++
tools/build/Makefile.build | 122 +++++
tools/lib/api/Build | 2 +
tools/lib/api/Makefile | 57 +--
tools/lib/api/fd/Build | 1 +
tools/lib/api/fs/Build | 2 +
tools/lib/lockdep/Build | 1 +
tools/lib/lockdep/Makefile | 132 +-----
tools/lib/traceevent/Build | 17 +
tools/lib/traceevent/Makefile | 161 ++-----
tools/perf/Build | 43 ++
tools/perf/Documentation/Build.txt | 49 ++
tools/perf/MANIFEST | 1 +
tools/perf/Makefile.perf | 600 +++---------------------
tools/perf/arch/Build | 2 +
tools/perf/arch/arm/Build | 2 +
tools/perf/arch/arm/Makefile | 11 -
tools/perf/arch/arm/tests/Build | 2 +
tools/perf/arch/arm/util/Build | 4 +
tools/perf/arch/arm64/Build | 3 +
tools/perf/arch/arm64/Makefile | 4 -
tools/perf/arch/arm64/util/Build | 2 +
tools/perf/arch/powerpc/Build | 1 +
tools/perf/arch/powerpc/Makefile | 3 -
tools/perf/arch/powerpc/util/Build | 4 +
tools/perf/arch/s390/Build | 1 +
tools/perf/arch/s390/Makefile | 3 -
tools/perf/arch/s390/util/Build | 4 +
tools/perf/arch/sh/Build | 1 +
tools/perf/arch/sh/Makefile | 1 -
tools/perf/arch/sh/util/Build | 1 +
tools/perf/arch/sparc/Build | 1 +
tools/perf/arch/sparc/Makefile | 1 -
tools/perf/arch/sparc/util/Build | 1 +
tools/perf/arch/x86/Build | 2 +
tools/perf/arch/x86/Makefile | 15 -
tools/perf/arch/x86/tests/Build | 2 +
tools/perf/arch/x86/util/Build | 8 +
tools/perf/bench/Build | 11 +
tools/perf/config/Makefile | 44 ++
tools/perf/scripts/Build | 2 +
tools/perf/scripts/perl/Perf-Trace-Util/Build | 3 +
tools/perf/scripts/python/Perf-Trace-Util/Build | 3 +
tools/perf/tests/Build | 42 ++
tools/perf/ui/Build | 14 +
tools/perf/ui/browsers/Build | 10 +
tools/perf/ui/gtk/Build | 9 +
tools/perf/ui/tui/Build | 4 +
tools/perf/util/Build | 137 ++++++
tools/perf/util/python-ext-sources | 1 -
tools/perf/util/scripting-engines/Build | 6 +
52 files changed, 875 insertions(+), 828 deletions(-)
create mode 100644 tools/build/Build.include
create mode 100644 tools/build/Documentation/Build.txt
create mode 100644 tools/build/Makefile.build
create mode 100644 tools/lib/api/Build
create mode 100644 tools/lib/api/fd/Build
create mode 100644 tools/lib/api/fs/Build
create mode 100644 tools/lib/lockdep/Build
create mode 100644 tools/lib/traceevent/Build
create mode 100644 tools/perf/Build
create mode 100644 tools/perf/Documentation/Build.txt
create mode 100644 tools/perf/arch/Build
create mode 100644 tools/perf/arch/arm/Build
create mode 100644 tools/perf/arch/arm/tests/Build
create mode 100644 tools/perf/arch/arm/util/Build
create mode 100644 tools/perf/arch/arm64/Build
create mode 100644 tools/perf/arch/arm64/util/Build
create mode 100644 tools/perf/arch/powerpc/Build
create mode 100644 tools/perf/arch/powerpc/util/Build
create mode 100644 tools/perf/arch/s390/Build
create mode 100644 tools/perf/arch/s390/util/Build
create mode 100644 tools/perf/arch/sh/Build
create mode 100644 tools/perf/arch/sh/util/Build
create mode 100644 tools/perf/arch/sparc/Build
create mode 100644 tools/perf/arch/sparc/util/Build
create mode 100644 tools/perf/arch/x86/Build
create mode 100644 tools/perf/arch/x86/tests/Build
create mode 100644 tools/perf/arch/x86/util/Build
create mode 100644 tools/perf/bench/Build
create mode 100644 tools/perf/scripts/Build
create mode 100644 tools/perf/scripts/perl/Perf-Trace-Util/Build
create mode 100644 tools/perf/scripts/python/Perf-Trace-Util/Build
create mode 100644 tools/perf/tests/Build
create mode 100644 tools/perf/ui/Build
create mode 100644 tools/perf/ui/browsers/Build
create mode 100644 tools/perf/ui/gtk/Build
create mode 100644 tools/perf/ui/tui/Build
create mode 100644 tools/perf/util/Build
create mode 100644 tools/perf/util/scripting-engines/Build
next reply other threads:[~2015-01-15 13:06 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-15 12:54 Jiri Olsa [this message]
2015-01-15 12:54 ` [PATCH 01/36] tools build: Add new build support Jiri Olsa
2015-01-15 12:54 ` [PATCH 02/36] tools build: Add detected config support Jiri Olsa
2015-01-15 15:50 ` David Ahern
2015-01-15 16:21 ` Jiri Olsa
2015-01-15 12:54 ` [PATCH 03/36] tools build: Add subdir support Jiri Olsa
2015-01-15 12:55 ` [PATCH 04/36] perf tools: Remove api fs object from python build Jiri Olsa
2015-01-15 12:55 ` [PATCH 05/36] perf build: Disable make's built-in rules and variables Jiri Olsa
2015-01-15 16:01 ` David Ahern
2015-01-15 16:24 ` Jiri Olsa
2015-01-15 12:55 ` [PATCH 06/36] perf build: Add bench objects building Jiri Olsa
2015-01-15 12:55 ` [PATCH 07/36] perf build: Add tests " Jiri Olsa
2015-01-15 12:55 ` [PATCH 08/36] perf build: Add builtin " Jiri Olsa
2015-01-15 12:55 ` [PATCH 09/36] perf build: Add libperf " Jiri Olsa
2015-01-15 12:55 ` [PATCH 10/36] perf build: Add probe " Jiri Olsa
2015-01-15 12:55 ` [PATCH 11/36] perf build: Add dwarf " Jiri Olsa
2015-01-15 12:55 ` [PATCH 12/36] perf build: Add dwarf unwind " Jiri Olsa
2015-01-15 12:55 ` [PATCH 13/36] perf build: Add ui " Jiri Olsa
2015-01-15 12:55 ` [PATCH 14/36] perf build: Add slang " Jiri Olsa
2015-01-15 12:55 ` [PATCH 15/36] perf build: Add gtk " Jiri Olsa
2015-01-15 12:55 ` [PATCH 16/36] perf build: Add scripts " Jiri Olsa
2015-01-15 12:55 ` [PATCH 17/36] perf build: Add perf regs " Jiri Olsa
2015-01-15 12:55 ` [PATCH 18/36] perf build: Add zlib " Jiri Olsa
2015-01-15 12:55 ` [PATCH 19/36] perf build: Add perf.o object building Jiri Olsa
2015-01-15 12:55 ` [PATCH 20/36] perf build: Add arch x86 objects building Jiri Olsa
2015-01-15 12:55 ` [PATCH 21/36] perf build: Add arch arm " Jiri Olsa
2015-01-15 12:55 ` [PATCH 22/36] perf build: Add arch arm64 " Jiri Olsa
2015-01-15 12:55 ` [PATCH 23/36] perf build: Add arch powerpc " Jiri Olsa
2015-01-15 12:55 ` [PATCH 24/36] perf build: Add arch s390 " Jiri Olsa
2015-01-15 12:55 ` [PATCH 25/36] perf build: Add arch sh " Jiri Olsa
2015-01-15 12:55 ` [PATCH 26/36] perf build: Add arch sparc " Jiri Olsa
2015-01-15 12:55 ` [PATCH 27/36] perf build: Add single target build framework support Jiri Olsa
2015-01-15 12:55 ` [PATCH 28/36] perf build: Remove directory dependency rules Jiri Olsa
2015-01-15 12:55 ` [PATCH 29/36] perf build: Remove uneeded variables Jiri Olsa
2015-01-15 12:55 ` [PATCH 30/36] perf build: Remove PERF-CFLAGS file Jiri Olsa
2015-01-15 12:55 ` [PATCH 31/36] perf build: Add build documentation Jiri Olsa
2015-01-15 12:55 ` [PATCH 32/36] tools lib api: Use tools build framework Jiri Olsa
2015-01-15 12:55 ` [PATCH 33/36] tools lib api: Rename libapikfs.a to libapi.a Jiri Olsa
2015-01-15 12:55 ` [PATCH 34/36] tools lib traceevent: Use tools build framework Jiri Olsa
2015-01-15 12:55 ` [PATCH 35/36] tools lib lockdep: " Jiri Olsa
2015-01-15 12:55 ` [PATCH 36/36] perf build: Display make commands on V=1 Jiri Olsa
2015-01-15 16:08 ` [PATCHv2 00/36] perf tools: New build framework David Ahern
2015-01-15 16:31 ` Jiri Olsa
2015-01-16 11:39 ` Will Deacon
2015-01-16 12:12 ` Mark Rutland
2015-01-16 12:22 ` Will Deacon
2015-01-16 12:30 ` Jiri Olsa
2015-01-16 12:43 ` Jiri Olsa
2015-01-16 13:41 ` Will Deacon
2015-01-16 13:49 ` Mark Rutland
2015-01-16 14:15 ` Jiri Olsa
2015-01-19 12:13 ` Jiri Olsa
2015-01-16 12:29 ` Jiri Olsa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1421326532-25660-1-git-send-email-jolsa@kernel.org \
--to=jolsa@kernel.org \
--cc=acme@redhat.com \
--cc=adrian.hunter@intel.com \
--cc=ak@linux.intel.com \
--cc=alexis.berlemont@gmail.com \
--cc=anton@samba.org \
--cc=bp@alien8.de \
--cc=bp@suse.de \
--cc=cjashfor@linux.vnet.ibm.com \
--cc=cody@linux.vnet.ibm.com \
--cc=dsahern@gmail.com \
--cc=eranian@google.com \
--cc=florian@openwrt.org \
--cc=fweisbec@gmail.com \
--cc=jean.pihet@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=msalter@redhat.com \
--cc=namhyung@kernel.org \
--cc=paulus@samba.org \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=sam@ravnborg.org \
--cc=sasha.levin@oracle.com \
--cc=sjl@vctlabs.com \
--cc=sukadev@linux.vnet.ibm.com \
--cc=will.deacon@arm.com \
--subject='Re: [PATCHv2 00/36] perf tools: New build framework' \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).