Rob Browning <[EMAIL PROTECTED]> writes:

> > To do use autoconf properly, I think the "make gnome" -vs- "make
> > motif" options should be turned into ./configure time options.
> > (perhaps I've stumbled across a way to contribute to GnuCash!)
> 
> I'm not sure I understand.  Why would this be an improvement?

It is not an improvement as long as all the different make
configurations require the same things from the build environment.

But that isn't the case with GnuCash.  "make gnome" needs to link with
gnome libraries and "make motif" needs motif libraries, etc.

Once you get into this kind of situation, configure can no longer
insist on finding all the libraries and header files it needs (since
configure can't know what will be needed).


> We went to some trouble to make sure that you could compile both
> simultaneously.  This is fairly nice when you're developing and you
> need to flip back and forth between the two versions to compare
> behaviors.  If you had to go through a full configure (and a make
> clean) everytime you wanted to switch over, it would slow things
> down quite a bit.

Traditionally autoconf'd packages solve this problem by requiring the
developer to use a VPATH capable make program (usually gmake) to find
the source in a separate dir from the build tree.  This allows to
./configure in multiple build directories from the same source tree
simultaneously.

In your motif build dir, you'd run "../gnucash/configure --use-motif"
and in your gnome build dir, you'd run "../gnucash/configure
--use-gnome."  The build dirs wouldn't have any source in them.

This is how emacs, gdb, gcc, zsh, etc. choose between major bits of
functionality (toolkit used, target and host architecture, dynamically
or statically built, etc.).


> However, I do agree that things should be strucured so that
> configure outright fails when it can't find something it needs.
> Wherever it doesn't, I consider that a bug.

I agree.  To reach this goal, you need to specify at ./configure time
any build parameters that affect the libraries or headers the source
will require.  Otherwise, configure can't insist upon thier presence.


If we reach a consensus on how to beef up the configure/make system to
be friendlier to first time compilers, I'm willing to work on it.  I
think it is important to lower GnuCash's "compile barrier."


-- 
matt - http://www.lickey.com
----- %< -------------------------------------------- >% ------
The GnuCash / X-Accountant Mailing List
To unsubscribe, send mail to [EMAIL PROTECTED] and
put "unsubscribe gnucash-devel [EMAIL PROTECTED]" in the body

Reply via email to