From: Borislav Petkov <bp@alien8.de>
To: Frederic Weisbecker <fweisbec@gmail.com>
Cc: LKML <linux-kernel@vger.kernel.org>,
Steven Rostedt <srostedt@redhat.com>,
Steven Rostedt <rostedt@goodmis.org>,
Ingo Molnar <mingo@kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Peter Zijlstra <peterz@infradead.org>,
Arnaldo Carvalho de Melo <acme@infradead.org>,
Jiri Olsa <jolsa@redhat.com>, Arun Sharma <asharma@fb.com>,
Namhyung Kim <namhyung.kim@lge.com>
Subject: Re: [PATCH 03/15] perf: Build libtraceevent.a
Date: Fri, 6 Apr 2012 17:51:09 +0200 [thread overview]
Message-ID: <20120406155109.GA2693@x1.osrc.amd.com> (raw)
In-Reply-To: <CAFTL4hzvy1wgm8e7_h2S6Fa_A+QybUsssetLaWyUu3tB5a2m1w@mail.gmail.com>
On Fri, Apr 06, 2012 at 05:26:35PM +0200, Frederic Weisbecker wrote:
> 2012/4/6 Borislav Petkov <bp@alien8.de>:
> > On Fri, Apr 06, 2012 at 12:47:54AM +0200, Frederic Weisbecker wrote:
> >> From: Steven Rostedt <srostedt@redhat.com>
> >>
> >> Have building perf also build libtraceevent.a. Currently, perf does
> >> not use the code within libtraceevent.a, but it soon will.
> >>
> >> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
> >> Cc: Ingo Molnar <mingo@kernel.org>
> >> Cc: Thomas Gleixner <tglx@linutronix.de>
> >> Cc: Peter Zijlstra <peterz@infradead.org>
> >> Cc: Arnaldo Carvalho de Melo <acme@infradead.org>
> >> Cc: Steven Rostedt <rostedt@goodmis.org>
> >> Cc: Borislav Petkov <bp@alien8.de>
> >> Cc: Jiri Olsa <jolsa@redhat.com>
> >> Cc: Arun Sharma <asharma@fb.com>
> >> Cc: Namhyung Kim <namhyung.kim@lge.com>
> >> Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
> >> ---
> >> tools/perf/Makefile | 11 ++++++++++-
> >> 1 files changed, 10 insertions(+), 1 deletions(-)
> >>
> >> diff --git a/tools/perf/Makefile b/tools/perf/Makefile
> >> index 6f93a99..8e60e51 100644
> >> --- a/tools/perf/Makefile
> >> +++ b/tools/perf/Makefile
> >> @@ -1,5 +1,6 @@
> >> ifeq ("$(origin O)", "command line")
> >> OUTPUT := $(O)/
> >> + COMMAND_O := O=$(O)
> >> endif
> >>
> >> # The default target of this Makefile is...
> >> @@ -211,6 +212,9 @@ $(OUTPUT)python/perf.so: $(PYRF_OBJS) $(PYTHON_EXT_SRCS) $(PYTHON_EXT_DEPS)
> >>
> >> SCRIPTS = $(patsubst %.sh,%,$(SCRIPT_SH))
> >>
> >> +EVENT_PARSE_DIR = ../lib/traceevent/
> >> +LIBTRACEEVENT = $(OUTPUT)$(EVENT_PARSE_DIR)libtraceevent.a
> >> +
> >> #
> >> # Single 'perf' binary right now:
> >> #
> >> @@ -335,6 +339,7 @@ LIB_H += util/cpumap.h
> >> LIB_H += util/top.h
> >> LIB_H += $(ARCH_INCLUDE)
> >> LIB_H += util/cgroup.h
> >> +LIB_H += $(EVENT_PARSE_DIR)event-parse.h
> >>
> >> LIB_OBJS += $(OUTPUT)util/abspath.o
> >> LIB_OBJS += $(OUTPUT)util/alias.o
> >> @@ -741,7 +746,7 @@ $(OUTPUT)perf.o: perf.c $(OUTPUT)common-cmds.h $(OUTPUT)PERF-CFLAGS
> >> '-DPERF_HTML_PATH="$(htmldir_SQ)"' \
> >> $(ALL_CFLAGS) -c $(filter %.c,$^) -o $@
> >>
> >> -$(OUTPUT)perf: $(OUTPUT)perf.o $(BUILTIN_OBJS) $(PERFLIBS)
> >> +$(OUTPUT)perf: $(OUTPUT)perf.o $(BUILTIN_OBJS) $(PERFLIBS) $(LIBTRACEEVENT)
> >> $(QUIET_LINK)$(CC) $(ALL_CFLAGS) $(ALL_LDFLAGS) $(OUTPUT)perf.o \
> >> $(BUILTIN_OBJS) $(LIBS) -o $@
> >>
> >> @@ -847,6 +852,10 @@ $(sort $(dir $(DIRECTORY_DEPS))):
> >> $(LIB_FILE): $(LIB_OBJS)
> >> $(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $(LIB_OBJS)
> >>
> >> +# libparsevent.a
> >> +$(LIBTRACEEVENT):
> >> + make -C $(EVENT_PARSE_DIR) $(COMMAND_O) libtraceevent.a
> >> +
> >
> > With a toplevel Makefile in tools/, this should be made into its own
> > target residing in tools/lib/traceevent/Makefile and a perf build should
> > be dependent on it instead of adding a perf-specific libtraceevent
> > target here.
>
> Not sure what you mean. The libtraceevent makefile is standalone and
> perf is dependant on it.
> What am I missing?
Right, what I meant was to add the $(LIBTRACEEVENT): target above to the
toplevel Makefile so that when you're in the kernel source tree, you do
$ make tools/perf
it has a target $(LIBTRACEEVENT) dependent on it in the toplevel
Makefile instead of perf's Makefile to avoid duplication. Then, when
perf is rebuilt, it simply links with this lib. IOW, not have the "make
-C" call in perf's Makefile but in the toplevel Makefile because other
tools will want to use libtraceevent.a too and link against it.
Oh well, the toplevel Makefile patches aren't upstream either so we're
wasting cycles here, I'll fix that up when the times comes.
Thanks.
--
Regards/Gruss,
Boris.
next prev parent reply other threads:[~2012-04-06 15:51 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-05 22:47 [RFC][PATCH 00/15] tools: Unify perf and trace-cmd trace event format parsing v2 Frederic Weisbecker
2012-04-05 22:47 ` [PATCH 01/15] perf: Separate out trace-cmd parse-events from perf files Frederic Weisbecker
2012-04-06 11:36 ` Borislav Petkov
2012-04-06 15:23 ` Frederic Weisbecker
2012-04-05 22:47 ` [PATCH 02/15] tools/events: Add files to create libtraceevent.a Frederic Weisbecker
2012-04-06 0:08 ` David Ahern
2012-04-06 0:18 ` Steven Rostedt
2012-04-06 0:24 ` David Ahern
2012-04-06 11:40 ` Borislav Petkov
2012-04-06 13:21 ` Borislav Petkov
2012-04-06 22:15 ` Steven Rostedt
2012-04-07 9:08 ` Borislav Petkov
2012-04-11 15:20 ` Arnaldo Carvalho de Melo
2012-04-11 15:38 ` Steven Rostedt
2012-04-11 17:47 ` Frederic Weisbecker
2012-04-11 17:54 ` Arnaldo Carvalho de Melo
2012-04-05 22:47 ` [PATCH 03/15] perf: Build libtraceevent.a Frederic Weisbecker
2012-04-06 11:45 ` Borislav Petkov
2012-04-06 15:26 ` Frederic Weisbecker
2012-04-06 15:51 ` Borislav Petkov [this message]
2012-04-09 17:10 ` Frederic Weisbecker
2012-04-05 22:47 ` [PATCH 04/15] events: Update tools/lib/traceevent to work with perf Frederic Weisbecker
2012-04-06 11:48 ` Borislav Petkov
2012-04-09 17:11 ` Frederic Weisbecker
2012-04-05 22:47 ` [PATCH 05/15] perf: Have perf use the new libtraceevent.a library Frederic Weisbecker
2012-04-05 22:47 ` [PATCH 06/15] perf/events: Add flag to produce nsec output Frederic Weisbecker
2012-04-05 22:47 ` [PATCH 07/15] perf/events: Add flag/symbol format_flags Frederic Weisbecker
2012-04-05 22:47 ` [PATCH 08/15] perf/events: Correct size given to memset Frederic Weisbecker
2012-04-06 11:24 ` Borislav Petkov
2012-04-06 12:00 ` Borislav Petkov
2012-04-06 12:27 ` Steven Rostedt
2012-04-05 22:48 ` [PATCH 09/15] parse-events: Handle invalid opcode parsing gracefully Frederic Weisbecker
2012-04-05 22:48 ` [PATCH 10/15] parse-events: Handle opcode parsing error Frederic Weisbecker
2012-04-05 22:48 ` [PATCH 11/15] parse-events: Let pevent_free() take a NULL pointer Frederic Weisbecker
2012-04-05 22:48 ` [PATCH 12/15] parse-events: Support '+' opcode in print format Frederic Weisbecker
2012-04-05 22:48 ` [PATCH 13/15] parse-events: Allow '*' and '/' operations in TP_printk Frederic Weisbecker
2012-04-05 22:48 ` [PATCH 14/15] parse-event: Fix memset pointer size bug in handle Frederic Weisbecker
2012-04-05 22:48 ` [PATCH 15/15] parse-events: Rename struct record to struct pevent_record Frederic Weisbecker
2012-04-06 3:07 ` [RFC][PATCH 00/15] tools: Unify perf and trace-cmd trace event format parsing v2 David Sharp
2012-04-06 15:11 ` Frederic Weisbecker
2012-04-09 10:13 ` Namhyung Kim
2012-04-23 14:47 ` Our failure on tracing tools unification (Was: Re: [RFC][PATCH 00/15] tools: Unify perf and trace-cmd trace event format parsing v2) Frederic Weisbecker
2012-04-23 15:08 ` Peter Zijlstra
2012-04-23 15:31 ` Steven Rostedt
2012-04-23 16:07 ` Borislav Petkov
2012-04-24 9:10 ` Thomas Gleixner
2012-04-25 8:05 ` Ingo Molnar
2012-04-25 12:39 ` Frederic Weisbecker
2012-04-25 14:19 ` Our failure on tracing tools unification Frank Ch. Eigler
2012-04-25 16:37 ` Arnaldo Carvalho de Melo
-- strict thread matches above, loose matches on Subject: below --
2012-04-25 12:26 [PATCH 00/15] tools: Unify perf and trace-cmd trace event format parsing v3 Frederic Weisbecker
2012-04-25 12:26 ` [PATCH 03/15] perf: Build libtraceevent.a Frederic Weisbecker
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=20120406155109.GA2693@x1.osrc.amd.com \
--to=bp@alien8.de \
--cc=acme@infradead.org \
--cc=asharma@fb.com \
--cc=fweisbec@gmail.com \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung.kim@lge.com \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=srostedt@redhat.com \
--cc=tglx@linutronix.de \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).