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