|
GNOME Goal: Nicer Builds
Summary
Make building GNOME clearer by using automake1.11 AM_SILENT_RULES.
Dolt was suggested to faster compilation, but seems that libtool 2.2 is fast enough (see this thread or this bug report)
This new automake rule turns the usual messy output of autotools into a pretty Kbuild-like one. For example:
$ make Making all in foo Making all in internal CC internal-file0.o LINK libinternal.la CC lib-file0.o CC lib-file1.o LINK libfoo.la
If you need to see the details, just run make V=1.
Guidelines
Only add
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
to your configure.{in,ac} and you get a pretty Kbuild-like output if you have automake1.11 installed. The macro is compatible with earlier automake versions too.
Also, you can use $(AM_V_GEN) to make custom commands silent (instead $(QUIET_GEN)) . See an example in this evince bug or in this gnome-panel commit
Read this for details: http://www.flameeyes.eu/autotools-mythbuster/automake/silent.html
Comments before approval
Shave (a external tool to make clearer compilations) is already used by clutter, empathy, evince, gnome-desktop, gnome-games, gnome-media, gnome-menus, gnome-panel, gnome-session, gnome-utils, GStreamer, libgweather, libunique, libwnck, nautilus, PulseAudio, seed and others. Dolt is already used by epiphany and webkit. Switching to AM_SILENT_RULES/libtool 2.2 is encouraged
VincentUntz: let's do it the right way and use gnome-common for this. See bug #580062 and bug #582955
JavierJardon: As pointed in bug #580062, automake1.11 has a feature that do the same as shave do.
JavierJardon: There already are automake1.11 packages for Debian and Ubuntu
Status of this goal
|
|
State |
Markup |
todo |
<: #ff8080> todo |
patch |
<: #ffc849> [[GnomeBug:xxxxx|patch]] |
done |
<: #80ff80> [[GnomeBug:xxxxx|done]] |
not needed |
<: #80ff80> not needed |
Above are the states and corresponding markup to update the modules state table below.
Tarball |
Shave or AM_SILENT_RULES |
|
Desktop |
||
alacarte |
to do |
|
brasero |
done |
|
bug-buddy |
to do |
|
dasher |
to do |
|
to do |
||
to do |
||
patch for AM_SILENT_RULES |
||
evolution-data-server |
||
evolution-exchange |
||
evolution-mapi |
||
evolution-webcal |
to do |
|
file-roller |
to do |
|
gcalctool |
to do |
|
gconf-editor |
to do |
|
to do |
||
to do |
||
gnome-backgrounds |
to do |
|
gnome-control-center |
to do |
|
gnome-desktop |
AM_SILENT_RULES |
|
gnome-desktop-sharp |
to do |
|
to do |
||
gnome-icon-theme |
to do |
|
gnome-keyring |
AM_SILENT_RULES |
|
gnome-netstatus |
to do |
|
gnome-nettool |
to do |
|
gnome-mag |
to do |
|
shave |
||
gnome-menus |
AM_SILENT_RULES |
|
gnome-power-manager |
||
gnome-python-desktop |
to do |
|
to do |
||
gnome-session |
AM_SILENT_RULES |
|
gnome-settings-daemon |
to do |
|
gnome-sharp |
AM_SILENT_RULES |
|
to do |
||
gnome-system-monitor |
to do |
|
to do |
||
gnome-terminal |
AM_SILENTE_RULES |
|
AM_SILENTE_RULES |
||
gnome-user-docs |
to do |
|
gnome-user-share |
AM_SILENTE_RULES |
|
shave |
||
to do |
||
shave |
||
gst-plugins-base |
shave |
|
gst-plugins-good |
shave |
|
to do |
||
gtkhtml |
||
AM_SILENTE_RULES |
||
gvfs |
to do |
|
hamster-applet |
to do |
|
libgail-gnome |
to do |
|
libgnomekbd |
to do |
|
libgtop |
to do |
|
AM_SILENT_RULES |
||
liboobs |
to do |
|
librsvg |
to do |
|
libwnck |
AM_SILENT_RULES |
|
metacity |
to do |
|
mousetweaks |
||
shave |
||
orca |
to do |
|
pygtksourceview |
to do |
|
to do |
||
swfdec-gnome |
to do |
|
tomboy |
to do |
|
totem-pl-parser |
to do |
|
vinagre |
to do |
|
vino |
to do |
|
vte |
||
to do |
||
to do |
||
Platform |
||
GConf |
to do |
|
at-spi |
to do |
|
atk |
to do |
|
glib |
||
gtk-doc |
to do |
|
pango |
||
Admin |
||
AM_SILENT_RULES |
||
sabayon |
to do |
|
Development Tools |
||
accerciser |
to do |
|
anjuta |
to do |
|
devhelp |
||
gdl |
to do |
|
glade3 |
||
gnome-devel-docs |
to do |
|
Bindings (C++) |
||
glibmm |
AM_SILENT_RULES |
|
pangomm |
AM_SILENT_RULES |
|
gtkmm |
AM_SILENT_RULES |
|
libglademm |
to do |
|
gconfmm |
to do |
|
libgnomecanvasmm |
to do |
|
libgnome-vfsmm |
to do |
|
libgnomemm |
to do |
|
libgnomeuimm |
to do |
|
libxml++ |
to do |
|
Bindings (java) |
||
glib-java (jg-common) |
to do |
|
libgtk-java |
to do |
|
libgnome-java |
to do |
|
libgconf-java |
to do |
|
libglade-java |
to do |
|
Bindings (mono) |
||
gtk-sharp |
AM_SILENT_RULES |
|
Bindings (perl) |
||
Glib |
not needed |
Uses own mechanism |
Gtk2 |
not needed |
|
Gtk2-GladeXML |
not needed |
|
Gnome2-GConf |
not needed |
|
Gnome2-Canvas |
not needed |
|
Gnome2-VFS |
not needed |
|
Gnome2 |
not needed |
|
Bindings (python) |
||
pygobject |
to do |
|
to do |
||
pyorbit |
to do |
|
to do |
||
Mobile |
||
GConf (dbus-based) |
to do |
|
evolution-data-server (dbus-based) |
to do |
|
clutter-gst |
to do |
|
External Dependencies |
||
avahi |
to do |
|
cairo |
to do |
|
cairomm |
to do |
|
clutter |
shave and AM_SILENT_RULES |
|
clutter-cairo |
to do |
|
clutter-gtk |
to do |
|
conduit |
to do |
|
dbus |
to do |
|
dbus-glib |
to do |
|
dbus-python |
to do |
|
desktop-file-utils |
to do |
|
Devicekit-power |
to do |
|
enchant |
to do |
|
expat |
to do |
|
farsight2 |
to do |
|
fontconfig |
to do |
|
gamin |
to do |
|
gnutls |
to do |
|
gpgme |
to do |
|
gtk-vnc |
to do |
|
hal |
to do |
|
hicolor-icon-theme |
to do |
|
icon-naming-utils |
to do |
|
intltool |
to do |
|
iso-codes |
to do |
|
libcanberra |
to do |
|
libcolorblind |
to do |
|
libcroco |
to do |
|
libgda |
to do |
|
libgdata |
||
libggz, ggz-client-libs |
to do |
|
libgpg-error |
to do |
|
libgcrypt |
to do |
|
libgsf |
to do |
|
libical |
to do |
|
libmapi |
to do |
|
libmusicbrainz |
to do |
|
libnotify |
to do |
|
liboil |
to do |
|
libproxy |
to do |
|
libtasn1 |
to do |
|
libtelepathy |
to do |
|
libxklavier |
to do |
|
libxml2 |
to do |
|
libxslt |
to do |
|
Mono.Addins |
to do |
|
mozilla (firefox) |
to do |
|
ndesk-dbus |
to do |
|
ndesk-dbus-glib |
to do |
|
opal |
to do |
|
pkg-config |
to do |
|
to do |
||
PolicyKit-gnome |
to do |
|
pulseaudio |
shave |
|
poppler |
to do |
|
pycairo |
to do |
|
ptlib |
to do |
|
Python |
to do |
|
rarian |
to do |
|
shared-mime-info |
to do |
|
sqlite |
to do |
|
startup-notification |
to do |
|
swfdec |
to do |
|
system-tools-backends |
to do |
|
telepathy-glib |
to do |
|
telepathy-mission-control |
to do |
|
unique |
shave |
|
webkit |
AM_SILENT_RULES |
|
Other |
||
abiword |
shave |
|
anjal |
||
atomix |
to do |
|
balsa |
||
banshee |
to do |
|
to do |
||
to do |
||
contact-lookup-applet |
to do |
|
to do |
||
eggcups |
to do |
|
f-spot |
to do |
|
giggle |
||
gimp |
||
gitg |
||
gnome-blog |
to do |
|
to do |
||
gnome-cups-manager |
to do |
|
gnome-main-menu |
to do |
|
to do |
||
GParted |
to do |
|
GNOME Phone Manager |
to do |
|
AM_SILENT_RULES |
||
to do |
||
gtetrinet |
to do |
|
gthumb |
||
libbtctl |
to do |
|
libchamplain |
||
libgda |
to do |
|
libgnomekbd |
to do |
|
libgoffice |
AM_SILENT_RULES |
|
libgsf |
to do |
|
liferea |
||
modest |
||
mutter |
||
nautilus-sendto |
to do |
|
nautilus-vcs |
to do |
|
nemiver |
||
to do |
||
tinymail |
||
