Dependencies and build order



When gnome 1.4 was released, there was a fair amount of discussion about
what order the various components should be compiled in if they were
building from source.  Some people posted lists that showed build orders
that worked, but it wasn't clear what you needed if you wanted to use a
particular package.

I think it might be a nice idea to put a link to a script like the one
attached, which can be used to print build orders and dependency lists for
gnome packages.  It is nice and short, so shouldn't be a problem for
people to download before they start compiling stuff.

It doesn't include dependency information about all the packages in
gnome-1.4, but should give an idea of what it can do.  It requires GNU
make (it would be possible to make it work with any make by not using the
pattern rules, but then the script would look less elegant).  Sample
output is below:
  $ ./deps gtk+
  glib
  gtk+

  $ ./deps gnome-libs libxml
  glib
  gtk+
  imlib
  ORBit
  audiofile
  esound
  gnome-libs
  libxml

Does this sort of thing sound like a good idea for future releases?

James.

-- 
Email: james daa com au
WWW:   http://www.daa.com.au/~james/

#!/usr/bin/make -f
# -*- makefile -*-

# these are `task' packages.  They don't print anything when run.
# at a minimum, have a task for base gnome system and office suite.
task-all: gnome-core gnome-applets

# list deps for all packages.  When each rule is processed,
# it prints its target.
libxml:
libghttp:
audiofile:
esound: audiofile

glib:
gtk+: glib
imlib: gtk+
gdk-pixbuf: gtk+

ORBit: glib
gnome-libs: gtk+ imlib ORBit esound
libgtop: gnome-libs
gnome-print: gnome-libs libxml
libglade: gnome-libs libxml

control-center: gnome-libs ORBit
gnome-core: gnome-libs control-center ORBit
gnome-applets: gnome-core ghttp libgtop

oaf: libxml ORBit
bonobo: gnome-libs oaf gnome-print

abiword: gnome-libs 

# the rule that actually prints stuff
%: ; @echo "$@"
task-%: ; @:


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]