Re: xmldocs.make and friends



John Fleck wrote:

Folks -

During the run-up to GNOME 2.0, there was discussion of some sort of
gnome-docs package that would include things like the xmldocs.make, the
omf.make and whatever else we needed consistently deployed across
packages.

Jody made the argument (a smart one) that we would be bitten by the
problem of having to maintain a bunch of separate copies (by my count at
least 16 of 'em right now).

Of course Jody was right, as Tommi's most recent addition to
http://bugzilla.gnome.org/show_bug.cgi?id=78484 shows.

I'd like to restart the discussion about how to deal with this so that
we can come up with an answer and take care of the problem in the GNOME
2.2 time frame. I don't have the auto* expertise to suggest the specific
syntax needed in our build files. I can only assume the suggested fixed
offered by James and Tommi on the bug report are correct. I do see more
dragons ahead down the path we're on if we keep trying to fix this one
xmldocs.make file at a time.
The current practice of include'ing the desired rules seems sound, the problem to solve is to only have to maintain the file in a single location. In the past, we have used a number of different methods for this.

For instance, with the dreaded "macros" directory, we used cvs includes, which has its own problems. The main one was that of branching. People would branch their module, and end up branching the macros directory as well. This meant that they would effectively stop seeing updates to the macros, because the people maintaining the macros wouldn't merge changes to their branches. So this solution would leave us with the same problems in some cases. Just take a look at the "cvs status -v" output for some files in the macros directory to see how much of a problem this could be (about 200 branches so far ...).

The other way is to copy the files into the build tree as part of the autogen.sh process. This would probably involve hackers needing to install a gnome-doc-tools package of some form, and having a script that would copy/symlink the files into the build tree, that could be called during autogen (I am guessing this is what Jody was suggesting). This shouldn't suffer from any of the problems with the macros directory.

Btw, if you are wondering why I ran into the spaces/tabs problem in sgmldocs.make and xmldocs.make, it is probably because I was using automake-1.6. It handles the include statement in Makefile.am's differently from 1.4 -- it actually performs the inclusion itself, rather than letting make handle it. This may be useful to you, as it meanas you can use automake syntax in included makefile fragments (which could help simplify the rules).

James.

--
Email: james daa com au              | Linux.conf.au   http://linux.conf.au/
WWW: http://www.daa.com.au/~james/ | Jan 22-25 Perth, Western Australia.





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