[Gnucash-changes] r11811 - gnucash/branches/cashutil - outline cashutil build support

Neil Williams linux at codehelp.co.uk
Fri Nov 4 18:18:05 EST 2005


On Friday 04 November 2005 3:08 pm, Derek Atkins wrote:
> Neil Williams <codehelp at cvs.gnucash.org> writes:
> > Modified: gnucash/branches/cashutil/Makefile.am
> > ===================================================================
> > --- gnucash/branches/cashutil/Makefile.am	2005-11-03 11:22:44 UTC (rev
> > 11810) +++ gnucash/branches/cashutil/Makefile.am	2005-11-03 11:30:47 UTC
> > (rev 11811) @@ -1,5 +1,10 @@
> > +if BUILD_CASHUTIL
> > +cashutil_dir=cashutil
> > +else
> > +cashutil_dir=
> > +endif
> >
> > -SUBDIRS = doc lib src intl-scm po rpm accounts
> > +SUBDIRS = doc lib src intl-scm po rpm accounts ${cashutil_dir}
> >
> >  docdir = ${GNC_DOC_INSTALL_DIR}
>
> FYI, you'll need to make sure "cashutil" is in DIST_SUBDIRS if you
> ever want "make dist" to work with this code.

Normally, yes, but not in this specific case.

I'm building a build within a build. cashutil is contained within the gnucash 
build but still retains an external build system. Autofoo magic does the 
rest.

So the EXTRA_DIST settings that exist in the external cashutil tree still 
exist in the branch, as well as a second autogen.sh, second configure, 
INSTALL, COPYING, make-potfiles, intltool-* etc.

make dist from the top level directory in the branch includes all the relevant 
cashutil stuff:

$ tar -tzf gnucash-1.9.0.tar.gz | grep -c cashutil
52

Those 52 files include all the .c|.h files as well as, for example:
2504:gnucash-1.9.0/cashutil/doc/doxygen.cfg.in
2512:gnucash-1.9.0/cashutil/po/POTFILES.in
2513:gnucash-1.9.0/cashutil/po/cashutil.pot
2514:gnucash-1.9.0/cashutil/po/en_GB.po
2508:gnucash-1.9.0/cashutil/doc/man/cashutil.1
2529:gnucash-1.9.0/cashutil/configure
2537:gnucash-1.9.0/cashutil/aclocal.m4

The build is getting better. I need to complete the linkage between the two 
builds - currently I need to run:
./autogen.sh ...
make
cd cashutil
./configure (same --prefix as top level autogen but no options)
cd ../     # now return to normal commands
make install
make dist

Note that cashutil/autogen.sh is run by the top level autogen.sh to create 
cashutil/configure and other files.

There are still other things to fix too - my branch changes in 
src/business/business-core need to be tidied up.

However, I now have:
$ ls -l /opt/garfield/gnucash/bin/
cashutil
gnucash
gnucash-env
etc.

$ ls -l /opt/garfield/gnucash/share/locale/en_GB/LC_MESSAGES/
-rw-r--r--  1 neil neil  20952 2005-11-04 22:53 cashutil.mo
-rw-r--r--  1 neil neil 230931 2005-11-04 22:52 gnucash.mo

$ ls /opt/garfield/gnucash/man/man1/
cashutil.1  gnc-prices.1  gnucash.1

$ /opt/garfield/gnucash/bin/cashutil --version
 cashutil v0.1.0
 GnuCash Command Line Interface.
 Build date....: Nov  4 2005 22:41:47

 Copyright 2005 Neil Williams <linux at codehelp.co.uk>
 cashutil is free software; see the source for copying conditions.
 There is NO warranty; not even MERCHANTABILITY or FITNESS
 FOR A PARTICULAR PURPOSE.

 For CashUtil support, join the QOF-devel mailing list at
 http://lists.sourceforge.net/mailman/listinfo/qof-devel
   Please use --help for more detailed options.

(this next one looks better in fixed-font / monospace)
$ /opt/garfield/gnucash/bin/cashutil --list

cashutil currently supports these database names:
You can use the names with cashutil -d
and in SQL queries (as the table name) with cashutil -s|f
Descriptions are shown only for readability.

Name                    Description

gncOrder                Order
gncTaxTable             Tax Table
gncVendor               Vendor
gncEntry                Order/Invoice/Bill Entry
gncEmployee             Employee
gncAddress              Address
gncCustomer             Customer
gncBillTerm             Billing Term
gncJob                  Job
gncInvoice              Invoice
Budget                  BUDGET
Price                   Price
SXTGroup                Scheduled Transaction Templates
sched-xaction           Scheduled Transaction
FreqSpec                Frequency Specification
AccountGroup            AccountGroup
Split                   Split
Trans                   Transaction
Account                 Account
CommodityTable          CommodityTable
CommodityNamespace      Namespace
Commodity               Commodity

Use '-d <database> --explain' to see the list of fields within
any supported database.

Thank you for using cashutil

(That final print shows that cashutil is now building properly because it 
cannot register the objects without locating the relevant libraries and 
GModules built from the main gnucash tree.)

It's looking OK.

-- 

Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.gnucash.org/pipermail/gnucash-devel/attachments/20051104/3aba49d2/attachment.bin


More information about the gnucash-devel mailing list