From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH] graphs: add option to remove transitive dependencies in dependency graph
Date: Fri, 9 May 2014 16:38:30 +0200 [thread overview]
Message-ID: <20140509143830.GF3173@free.fr> (raw)
In-Reply-To: <CAHXCMMLkk-0FxgrcExWQukmpZcwC4qELaRexRYDGnapyzPECFQ@mail.gmail.com>
Samuel, All,
On 2014-05-09 16:09 +0200, Samuel Martin spake thusly:
> On Fri, May 9, 2014 at 3:34 PM, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
> > too) as make targets so it was easier for users to generate the graphs
> > rather than directly call the scripts (since the scripts could even
> > reside in another dir when building out-of-tree, and it would be more
> > complex to reach for the scripts).
>
> Arf! I forgot this.
>
> In this case, I would do:
> - to get the default graph:
> make foo-graph-depends
> - to get a customized graph:
> make foo-graph-depends BR2_GRAPH_DEPS_OPTS="..."
A single variable is not enough, since we have options:
- for support/scripts/graph-depends: maximum depth, transitive deps or
not
- the 'dot' utilities: draw top-down or left-right, and so on...
So either greaph-depends has to understand a subset (or all) of dot's
options (Eeek!), or we offer two variables.
> And I'd expect to find some help somewhere in the doc to know what are
> the supported options,
Already in the manual, section 3.5, "Daily use" and sub-sections:
3.5.7. Graphing the dependencies between packages
http://buildroot.net/downloads/manual/manual.html#_graphing_the_dependencies_between_packages
3.5.8. Graphing the build duration
http://buildroot.net/downloads/manual/manual.html#_graphing_the_build_duration
3.5.5. Environment variables
http://buildroot.net/downloads/manual/manual.html#env-vars
> or how to get the graph-depends help, so via
> the manual or in the help message of the BR2_GRAPH_DEPS_OPTS kconfig
> entry.
We already document the mere existence of graph-build, graph-depends and
PKG-graph-depends inthe output of make help:
<package>-graph-depends - generate graph of the dependency tree
for package
graph-build - generate graphs of the build times
graph-depends - generate graph of the dependency tree
But the variables are only documented in the manual (see above.)
> So, in the end, the call to graph-depends script would just be:
> $(TOPDIR)/support/scripts/graph-depends $(BR2_GRAPH_DEPS_OPTS)
> or:
> $(TOPDIR)/support/scripts/graph-depends -p $(1) $(BR2_GRAPH_DEPS_OPTS)
Not really, it currently is (roughly):
$(TOPDIR)/support/scripts/graph-depends -d $(DEPTH) \
|tee $(O)/graphs/$(@).dot \
|dot $(DOT_OPTS) -o$(O)/graphs/$(@).$(BR_GRAPH_OUT)
support/scripts/graph-depends /only/ generates a dot program, not the
graph itself.
> No black magics with the args... just keep it simple ;-)
> "Buildroot is a simple, efficient and easy-to-use tool" (not from me,
> from http://buildroot.org/ :-])
Yes, but all the alternate solutions are ending being more complex that
mere environment variables.
Grantes, I do not like the environment variables much, since it is easy
to forget them on a subsequent make. That's why my series (I still have
to post it) gets rid of as many variables as possible.
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
next prev parent reply other threads:[~2014-05-09 14:38 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-06 22:44 [Buildroot] [PATCH] graphs: add option to remove transitive dependencies in dependency graph Yann E. MORIN
2014-05-09 9:52 ` Yann E. MORIN
2014-05-09 10:00 ` Peter Korsgaard
2014-05-09 10:20 ` Yann E. MORIN
2014-05-09 11:16 ` Samuel Martin
2014-05-09 13:34 ` Yann E. MORIN
2014-05-09 14:09 ` Samuel Martin
2014-05-09 14:38 ` Yann E. MORIN [this message]
2014-05-09 15:07 ` Samuel Martin
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=20140509143830.GF3173@free.fr \
--to=yann.morin.1998@free.fr \
--cc=buildroot@busybox.net \
/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