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?
Christian
More information about the gnucash-devel
mailing list