Matt Armstrong <[EMAIL PROTECTED]> writes:
> So, I think I'll start over and proceed along these lines. Lemme
> know if either (a) you are an automake guru and would like to take
> over where I left off or (b) you have any other thoughts.
Well, perhaps we should talk about this. How substantial are the
advantages to staying with strict automake?
If they're pretty pursuasive, then we have some other good options to
consider. The only reason that g-wrap is in lib is because I didn't
want to add yet another dependency to GnuCash (that might or might not
turn out to be useful long term), and because I had hacked up g-wrap
to add some functions not found upstream. But I'm happy with g-wrap,
and I expect it to stay around for quite a while.
Although my patches are going to be incorporated upstream, that
doesn't help us now, and since we don't want to add another system
dependency right now, it wouldn't matter even if the patches had been
incorporated.
However, we could seriously consider unbundling lib/g-wrap and just
placing it alongside the gnucash tar file on the download sites, and
storing it as a separate module in CVS. Then configure could be
augmented to take an argument --with-g-wrap-src-dir=foo that tells
configure where to find the g-wrap src dir. The default location
could just be ../g-wrap, and the "failure to locate warning" could
read
g-wrap not found: You must get the gnucash version of g-wrap and
tell me where it is. First download it from ... or check it out
from CVS like this ... and then add --with-g-wrap-src-dir=location
to the configure command.
This should allow you to proceed with a strict automake approach
(presuming you think that's the best idea) without causing any serious
confusion for the builders. Since failures include explicit
instructions for how to fix the problem, they should be pretty easy to
remedy.
Further, once my patches are incorporated upstream, we could add
another clause to the build system that checks to see if the system
already has a suitably smart version of g-wrap installed, and if so,
it wouldn't bother looking for another copy.
The only other thing we'd need to add right now is a few steps in the
top level makefile.in that look something like this:
G_WRAP_INSTALL_DIR=@top_srcdir@/lib/g-wrap-install
all: stamp.g-wrap-built
...
stamp.g-wrap-built
...
cd ../${G_WRAP_DIR} && ./configure --prefix=${G_WRAP_INSTALL_DIR}
cd ../${G_WRAP_DIR} && ${MAKE}
cd ../${G_WRAP_DIR} && ${MAKE} install
touch stamp.g-wrap-build
clean:
...
rm -f stamp.g-wrap-built
rm -rf ${G_WRAP_INSTALL_DIR}
cd ../${G_WRAP_DIR} && make clean
And of course, everyone would need to depend on stamp.g-wrap-built, or
perhaps @top_srcdir@/stamp.g-wrap-built depending on how you structure
things.
Thoughts?
--
Rob Browning <[EMAIL PROTECTED]> PGP=E80E0D04F521A094 532B97F5D64E3930
----- %< -------------------------------------------- >% ------
The GnuCash / X-Accountant Mailing List
To unsubscribe, send mail to [EMAIL PROTECTED] and
put "unsubscribe gnucash-devel [EMAIL PROTECTED]" in the body