summaryrefslogtreecommitdiffstats
path: root/support/scripts/graph-depends
Commit message (Collapse)AuthorAgeFilesLines
* graph-depends: optimize execution speedThomas Petazzoni2013-01-021-45/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | Until now, graph-depends was calling "make <pkg>-show-depends" individually for eack package, which was very slow. Now, it calls "make <pkg1>-show-depends <pkg2>-show-depends ... <pkgN>-show-depends" for all packages it knows, and then does that recursively. It reduces the number of make invocations to the deepest dependency chain in the current configuration, instead of having a number of make invocations equal to the number of enabled packages. For a configuration with xvkbd enabled (which brings a significant number of X.org dependencies) and a tar root filesystem, the time to execute graph-depends was: real 5m14.944s user 4m53.590s sys 0m14.069s After our optimizations, it is now: real 0m33.096s user 0m30.878s sys 0m1.472s Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* graph-depends: use a separate TARGET_EXCEPTIONS variableThomas Petazzoni2013-01-021-6/+10
| | | | | | | | | In preparation for more graph-depends improvements, use a TARGET_EXCEPTIONS list to list all the targets that should be ignored while building the dependency graph. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* graph-depends: remove redundant dependenciesThomas Petazzoni2013-01-021-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | When doing a full graph of the dependencies, graph-depends starts by doing a "make show-targets", which lists all the packages registered in the $(TARGETS) variable. This variable contains all packages that are enabled according to the .config file. Then, for each of those packages, we used to create a "all" -> "package" dependency, even if in fact most of some packages are already dependencies of other packages. This creates a needlessly complex dependency graph. This patch modifies graph-depends so that it filters out the unneeded "all" -> "package" dependencies when "package" is already the dependency of another package. For example, if you have a configuration with libpng (which selects zlib), "make show-targets" displays "libpng zlib", so graph-depends used to create the following dependencies: (all -> libpng, all -> zlib, libpng -> zlib). However, the (all -> zlib) dependency is not really needed, as zlib is already the dependency of libpng. Those dependencies are now filtered out. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* support/graph-depends: fix out-of-tree usageYann E. MORIN2012-08-141-2/+2
| | | | | | | | | | | | | | | | | graph-depends calls make to get the list of packages, and the dependencies of each package. When called out-of-tree, the Makefile is a wrapper that calls the real Makefile, so make will spit out a line like: make -C /path/to/buildroot O=/path/to/build-dir show-targets which graph-depends wrongly believes is part of the target list. Be silent when calling make, as we really only want the target and dependency lists. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* graph-depends: ignore a few more uninteresting targetsThomas Petazzoni2012-07-171-0/+2
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support: move scripts/ to a new support/ directoryThomas Petazzoni2011-09-171-0/+169
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>