Can't save in r12331

Chris Shoemaker c.shoemaker at cox.net
Fri Jan 13 19:36:25 EST 2006


On Fri, Jan 13, 2006 at 10:45:06PM +0100, Thomas Klausner wrote:
> > QOF uses a compile-time path
> > (QOF_LIB_DIR) to find libraries.
> 
> This part of the analysis is true.
> 
> The problem is (for me) that, while QOF_LIB_DIR is defined properly
> (all Makefiles contain "QOF_LIB_DIR = /home/wiz/gctest//lib"),
> it is not passed to the compiler. The attached diff fixes the problem
> for me.
> 
> Cheers,
>  Thomas

> Index: src/engine/Makefile.am
> ===================================================================
> --- src/engine/Makefile.am	(revision 12339)
> +++ src/engine/Makefile.am	(working copy)
> @@ -10,6 +10,7 @@
>  	-I${top_srcdir}/src/gnc-module \
>  	-I${top_srcdir}/src/business/business-core/ \
>  	${QOF_CFLAGS} \
> +	-DQOF_LIB_DIR=\"${QOF_LIB_DIR}\" \
>  	${GNUCASH_ENGINE_CFLAGS}
>  
>  libgncmod_engine_la_SOURCES = \

Like Derek said, the symbol is already defined.  It's just wrong.
This patch raises an interesting question, though.  What does cpp do
if you supply a macro definition as a command line argument _and_ in a
#define?  I have no idea, but I'm curious.

Anyway, either method is valid by itself, and I happen to like this
method better for a symbol that only needs to be visible in a few
places rather than many.  And I prefer a real #define in some header
for a symbol that is used in many places.

I think the simplest solution to the current problem is along these lines:

+   -DQOF_LIB_DIR=\"${libdir}\" \

and just forget the configure.in stuff.  I'm going to test something
like this shortly.

-chris


More information about the gnucash-devel mailing list