qof/qsf/gnucash backend clarification (was: installation paths, option definition)

Christian Stimming stimming at tuhh.de
Sat Sep 3 17:00:07 EDT 2005

Am Freitag, 2. September 2005 18:19 schrieb Neil Williams:
> > Err... can you draw a picture which part depends on which part
> > here, and where "Gnucash GUI", "GNC backend", QSF, and QOF all fit into
> > that picture?
> The outline picture is here:
> http://www.data-freedom.org/explain.html#example
> The only difference is that Programs A and B actually use the same backend
> (which makes it kinda hard to draw). A1 == B1 because objects A == objects
> B. However, ProgramA != ProgramB.
> PilotQOF calls libqof which provides QSF as no other backend is defined.
> Gnucash GUI calls the gnc file backend and adds the QSF backend. Much as it
> has always done. CashUtil does the same. 

Okay so far. I'd just like to ask you for some name clarification here: What 
you call "gnucash backend" used to be called "gnucash XML file module", 
right? Then please give it a name that makes this clear, because the gnucash 
code from src/engine (called "gnucash engine") is also totally 
GUI-independent but from what I understand is not part of what you call 
"gnucash backend". When gnucash uses libqof as object framework then there is 
still a lot of non-GUI modules in the remaining gnucash application. You 
should therefore be quite careful about what you call what.

> > In particular, which part depends on which one *at compile
> > time*? That is not a problem, but just a bit confusion on my side.
> GnuCash depends on QSF via a dependency on QOF. It also depends on
> libcashobjects.la and libgnc-backend-file.la via the new shared package.

*Cough* A dependency on libxyz.la by definition is a dependency at runtime, 
not at compile time. I asked particularly about the dependency at compile 
time, more precisely: Which package's headers have to be available when 
compiling the other package? That is the interesting part for the compile 
time dependency. From what I gathered: The gnucash-file-backend-of-libqof 
depends on libqof headers; the gnucash-application-with-gui-and-other-stuff 
depends on libqof headers. Is this correct?


More information about the gnucash-devel mailing list