Re: problem with genmarshal rules in libbonobo



Darin Adler <darin bentspoon com> writes:
> I noticed that the genmarshal rules in libbonobo use a cmp command
> to check if gnome-canvas-marshal.h is the same as last time, and
> leave it untouched if so.
> 
> The problem with this is that if bonobo-marshal.list is newer than
> bonobo-marshal, this means that genmarshal will be run every single
> time, since bonobo-marshal.h will never get touched. So I think the
> "don't overwrite if identical" optimization doesn't really make
> things better. I' m not sure how to get this right. It may be
> impossible, given how make works, or some trick with a timestamp
> file might work (unlikely, since the dependency on bonobo-marshal.h
> is part of the automatic header depedencies) .
> 

Copy the Makefile.am for gdk-pixbuf in GTK HEAD.

The key points are to use a stampfile, and have a bizarre rule like
this:

  gdk-pixbuf-marshal.h: stamp-gdk-pixbuf-marshal.h
          @true

Then the stampfile depends on the marshal list:

  stamp-gdk-pixbuf-marshal.h: $(srcdir)/gdk-pixbuf-marshal.list

libbonobo seems to have removed the stampfile.

Havoc




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