[Gnucash-changes] r11813 - gnucash/branches/cashutil/cashutil - adjusting the build - not complete yet

Neil Williams codehelp at cvs.gnucash.org
Thu Nov 3 11:10:09 EST 2005


Author: codehelp
Date: 2005-11-03 11:10:08 -0500 (Thu, 03 Nov 2005)
New Revision: 11813

Added:
   gnucash/branches/cashutil/cashutil/HACKING
   gnucash/branches/cashutil/cashutil/NEWS
   gnucash/branches/cashutil/cashutil/src/cashutil.h.in
Removed:
   gnucash/branches/cashutil/cashutil/README.cvs
   gnucash/branches/cashutil/cashutil/src/cashutil.h
Modified:
   gnucash/branches/cashutil/cashutil/
   gnucash/branches/cashutil/cashutil/ChangeLog
   gnucash/branches/cashutil/cashutil/cashutil-autogen.sh
   gnucash/branches/cashutil/cashutil/configure.ac
   gnucash/branches/cashutil/cashutil/doc/
   gnucash/branches/cashutil/cashutil/doc/man/
   gnucash/branches/cashutil/cashutil/doc/xml/
   gnucash/branches/cashutil/cashutil/po/
   gnucash/branches/cashutil/cashutil/po/POTFILES.in
   gnucash/branches/cashutil/cashutil/po/en_GB.po
   gnucash/branches/cashutil/cashutil/src/
   gnucash/branches/cashutil/cashutil/src/Makefile.am
   gnucash/branches/cashutil/cashutil/src/README
Log:
adjusting the build - not complete yet


Property changes on: gnucash/branches/cashutil/cashutil
___________________________________________________________________
Name: svn:ignore
   + configure
Makefile.in
config.*
depcomp
ltmain.sh
intltool-merge
mdate-sh
INSTALL
COPYING
texinfo.tex
intltool-extract
Makefile
mkinstalldirs
intltool-extract.in
intltool-update
intltool-update.in
stamp-h1
make-potfiles
config.h.in
libtool
autom4te.cache
intltool-merge.in
missing
aclocal.m4
install-sh



Modified: gnucash/branches/cashutil/cashutil/ChangeLog
===================================================================
--- gnucash/branches/cashutil/cashutil/ChangeLog	2005-11-03 16:09:11 UTC (rev 11812)
+++ gnucash/branches/cashutil/cashutil/ChangeLog	2005-11-03 16:10:08 UTC (rev 11813)
@@ -1,3 +1,18 @@
+2005-11-03  Neil Williams <linux at codehelp.co.uk>
+	* cashutil-autogen.sh : Trying to chain onto
+	existing autogen.sh
+	* src/cashutil.h : Remove built source.
+	* src/cashutil.h.in : Add file to build .h
+	* src/Makefile.am : Locate engine libraries.
+	* src/README : Conversion to SVN
+	* README.cvs : Removed
+	* website : HTML docs.
+	* configure.ac : Remove old directories.
+	* HACKING : advice.
+	* NEWS : Notes on cashutil.
+	* en_GB.po : (In need of an update)
+	* POTFILES.in : Refresh for new location.
+
 2005-09-12  Neil Williams <linux at codehelp.co.uk>
 	* configure.ac: Check for setenv, use GModule,
 	and remove redundant notice.

Added: gnucash/branches/cashutil/cashutil/HACKING
===================================================================
--- gnucash/branches/cashutil/cashutil/HACKING	2005-11-03 16:09:11 UTC (rev 11812)
+++ gnucash/branches/cashutil/cashutil/HACKING	2005-11-03 16:10:08 UTC (rev 11813)
@@ -0,0 +1,41 @@
+Hacking on CashUtil
+===================
+
+Debug output:
+=============
+
+Pass the --debug option to create a log file in /tmp/cashutil.trace
+
+IDEs:
+====
+
+KDevelop has some problems with CashUtil build frameworks when you 
+select the debug build. It tends to continually complain about lack 
+of configure.in - it seems to simply ignore configure.ac and 
+autogen.sh and complains that no Makefiles exist when the files are fine.
+
+Do NOT attempt to run configure (with or without arguments) on the CVS/SVN 
+code from within KDevelop - it will completely break your Makefiles 
+and you'll need to run ./autogen.sh with the usual parameters all over 
+again (plus make and then make install).
+
+Check your distribution for the updated KDevelop3 which does support code folding.
+
+CVS support in KDevelop seemed fragile - if KDevelop or Cervisia do not 
+connect to existing repositories, try loading cervisia with a known local 
+working copy directory on the command line:
+$ cervisia <path to checked out project>
+
+If KDevelop also complains about not setting a local working 
+copy, set CVS handling in KDevelop Project Options | Version 
+Control. Close the Options dialog and re-open it to see the 
+CvsService options at the very end of the list. Set the 
+repository name (as displayed by Cervisia or as given in 
+CVS/Root in each directory) as the CVS server location. Close 
+the Options dialog, *close the project* and re-open the 
+project. Suddenly, CVS should become available.
+
+Anjuta has none of these problems. Anjuta also incorporates 
+CVS handling and displays line numbers in the edit window 
+without any special configuration or problems.
+

Added: gnucash/branches/cashutil/cashutil/NEWS
===================================================================
--- gnucash/branches/cashutil/cashutil/NEWS	2005-11-03 16:09:11 UTC (rev 11812)
+++ gnucash/branches/cashutil/cashutil/NEWS	2005-11-03 16:10:08 UTC (rev 11813)
@@ -0,0 +1,9 @@
+
+This is very much pre-alpha - it compiles in it's original
+(out-of-tree) form and certain basic functions do work but 
+the objects and the interactive shell are not complete.
+
+Use the test-cash routine for examples of how each shell function
+can be built and to produce sample content.
+
+

Deleted: gnucash/branches/cashutil/cashutil/README.cvs
===================================================================
--- gnucash/branches/cashutil/cashutil/README.cvs	2005-11-03 16:09:11 UTC (rev 11812)
+++ gnucash/branches/cashutil/cashutil/README.cvs	2005-11-03 16:10:08 UTC (rev 11813)
@@ -1,32 +0,0 @@
-This file contains guidelines for using CashUtil from SVN.
-They have been adapted from the guidelines for GnuCash which 
-in turn were adapted from the guidelines for gnome-libs by
-Miguel de Icaza who adapted them from guidelines written by
-Owen Taylor.
-
- + In order to build CashUtil from SVN, you need to run the 
-   autogen.sh command to generate and execute a configure 
-   script. When building from CVS you should ALWAYS pass your 
-   configure options directly to autogen.sh.  For example:
-
-   ./autogen.sh --prefix=/opt/cashutil
-
-   Autogen will automatically generate the configure script 
-   and then run it WITH SPECIAL ARGUMENTS to make sure 
-   certain files get built.
-   If you run "configure" without these special arguments, 
-   it is very likely that CashUtil will fail to build.  
-   Therefore, do not run configure by hand.
-
-   If in doubt, you can run autogen.sh, run 
-   ./configure --help,
-   then re-run autogen.sh with your options.
-
-Neil Williams
-Sep 03, 2005
-
-Dave Peticolas
-June 21, 2002
-
-Derek Atkins
-November 21, 2002

Modified: gnucash/branches/cashutil/cashutil/cashutil-autogen.sh
===================================================================
--- gnucash/branches/cashutil/cashutil/cashutil-autogen.sh	2005-11-03 16:09:11 UTC (rev 11812)
+++ gnucash/branches/cashutil/cashutil/cashutil-autogen.sh	2005-11-03 16:10:08 UTC (rev 11813)
@@ -20,7 +20,7 @@
   DIE=1
 }
 
-(grep "^AM_PROG_LIBTOOL" $srcdir/configure.ac >/dev/null) && {
+(grep "^AM_PROG_LIBTOOL" $srcdir/cashutil/configure.ac >/dev/null) && {
   (glibtool --version) < /dev/null > /dev/null 2>&1 ||
   (libtool --version) < /dev/null > /dev/null 2>&1 || {
     echo
@@ -31,7 +31,7 @@
   }
 }
 
-(grep "^AC_PROG_INTLTOOL" $srcdir/configure.ac >/dev/null) && {
+(grep "^AC_PROG_INTLTOOL" $srcdir/cashutil/configure.ac >/dev/null) && {
   (intltoolize --version) < /dev/null > /dev/null 2>&1 || {
     echo
     echo "**Error**: You must have \`intltool' installed."
@@ -41,7 +41,7 @@
   }
 }
 
-(grep "^AM_GLIB_GNU_GETTEXT" $srcdir/configure.ac >/dev/null) && {
+(grep "^AM_GLIB_GNU_GETTEXT" $srcdir/cashutil/configure.ac >/dev/null) && {
   (grep "sed.*POTFILES" $srcdir/configure.ac) > /dev/null || \
   (glib-gettextize --version) < /dev/null > /dev/null 2>&1 || {
     echo
@@ -175,7 +175,7 @@
   am_opt=--include-deps;;
 esac
 
-for coin in `find $srcdir -name configure.ac -print`
+for coin in `find $srcdir/cashutil -name configure.ac -print`
 do
   dr=`dirname $coin`
   if test -f $dr/NO-AUTO-GEN; then
@@ -186,7 +186,7 @@
       aclocalinclude="$ACLOCAL_FLAGS -I m4"
 
       if grep "^AM_GLIB_GNU_GETTEXT" configure.ac >/dev/null; then
-	if grep "sed.*POTFILES" configure.ac >/dev/null; then
+	if grep "sed.*POTFILES" cashutil/configure.ac >/dev/null; then
 	  : do nothing -- we still have an old unmodified configure.ac
 	else
 	  echo "Creating $dr/aclocal.m4 ..."
@@ -244,7 +244,7 @@
 
 if test x$NOCONFIGURE = x; then
   echo Running $srcdir/configure $conf_flags "$@" ...
-  $srcdir/configure $conf_flags "$@" \
+  $srcdir/cashutil/configure $conf_flags "$@" \
   && echo Now type \`make\' to compile $PKG_NAME || exit 1
 else
   echo Skipping configure process.

Modified: gnucash/branches/cashutil/cashutil/configure.ac
===================================================================
--- gnucash/branches/cashutil/cashutil/configure.ac	2005-11-03 16:09:11 UTC (rev 11812)
+++ gnucash/branches/cashutil/cashutil/configure.ac	2005-11-03 16:10:08 UTC (rev 11813)
@@ -387,10 +387,6 @@
   Makefile
   src/Makefile
   src/cashutil.h
-  src/gncla-dir.h
-  src/objects/Makefile
-  src/backend/Makefile
-  src/test/Makefile
   doc/Makefile
   doc/doxygen.cfg
   doc/man/Makefile


Property changes on: gnucash/branches/cashutil/cashutil/doc
___________________________________________________________________
Name: svn:ignore
   + Makefile
Makefile.in
doxygen.cfg




Property changes on: gnucash/branches/cashutil/cashutil/doc/man
___________________________________________________________________
Name: svn:ignore
   + Makefile.in
Makefile




Property changes on: gnucash/branches/cashutil/cashutil/doc/xml
___________________________________________________________________
Name: svn:ignore
   + Makefile
Makefile.in
docbook.xsl
catalog.xml




Property changes on: gnucash/branches/cashutil/cashutil/po
___________________________________________________________________
Name: svn:ignore
   + Makefile.in
POTFILES
Makefile.in.in
*.gmo
Makefile



Modified: gnucash/branches/cashutil/cashutil/po/POTFILES.in
===================================================================
--- gnucash/branches/cashutil/cashutil/po/POTFILES.in	2005-11-03 16:09:11 UTC (rev 11812)
+++ gnucash/branches/cashutil/cashutil/po/POTFILES.in	2005-11-03 16:10:08 UTC (rev 11813)
@@ -1,84 +1,7 @@
 # List of files which containing translatable strings.
 # This file was generated by ../make-potfiles.in.
 
-src/backend/gnc-account-xml-v2.c
-src/backend/gnc-address-xml-v2.c
-src/backend/gnc-backend-file.c
-src/backend/gnc-bill-term-xml-v2.c
-src/backend/gnc-book-xml-v2.c
-src/backend/gnc-commodity-xml-v2.c
-src/backend/gnc-customer-xml-v2.c
-src/backend/gnc-employee-xml-v2.c
-src/backend/gnc-entry-xml-v2.c
-src/backend/gnc-freqspec-xml-v2.c
-src/backend/gnc-invoice-xml-v2.c
-src/backend/gnc-job-xml-v2.c
-src/backend/gnc-lot-xml-v2.c
-src/backend/gnc-order-xml-v2.c
-src/backend/gnc-owner-xml-v2.c
-src/backend/gnc-pricedb-xml-v2.c
-src/backend/gnc-schedxaction-xml-v2.c
-src/backend/gnc-tax-table-xml-v2.c
-src/backend/gnc-transaction-xml-v2.c
-src/backend/gnc-vendor-xml-v2.c
-src/backend/io-example-account.c
-src/backend/io-gncbin-r.c
-src/backend/io-gncxml-gen.c
-src/backend/io-gncxml-v1.c
-src/backend/io-gncxml-v2.c
-src/backend/io-utils.c
-src/backend/sixtp-dom-generators.c
-src/backend/sixtp-dom-parsers.c
-src/backend/sixtp-stack.c
-src/backend/sixtp-to-dom-parser.c
-src/backend/sixtp-utils.c
-src/backend/sixtp.c
+src/backend-bus.c
 src/cashutil.c
 src/qof-main.c
-src/objects/Account.c
-src/objects/FreqSpec.c
-src/objects/Group.c
-src/objects/SX-book.c
-src/objects/SchedXaction.c
-src/objects/TransLog.c
-src/objects/Transaction.c
-src/objects/gnc-commodity.c
-src/objects/gnc-filepath-utils.c
-src/objects/gnc-lot.c
-src/objects/gnc-pricedb.c
-src/objects/gncAddress.c
-src/objects/gncBillTerm.c
-src/objects/gncCustomer.c
-src/objects/gncEmployee.c
-src/objects/gncEntry.c
-src/objects/gncInvoice.c
-src/objects/gncJob.c
-src/objects/gncOrder.c
-src/objects/gncOwner.c
-src/objects/gncTaxTable.c
-src/objects/gncVendor.c
-src/objects/iso-4217-currencies.c
-src/objects/SX-ttinfo.c
-src/objects/Scrub2.c
-src/objects/Scrub.c
-src/objects/Scrub3.c
-src/objects/cap-gains.c
-src/objects/policy.c
-src/objects/messages.c
-src/objects/Query.c
-src/objects/cashobjects.c
-src/test/test-book-merge.c
-src/test/test-cash.c
-src/test/test-engine-stuff.c
-src/test/test-stuff.c
-src/test/test-address.c
-src/test/test-customer.c
-src/test/test-employee.c
-src/test/test-job.c
-src/test/test-vendor.c
-src/test/test-numeric.c
-src/test/test-commodities.c
-src/test/test-freq-spec.c
-src/test/test-transaction-reversal.c
-src/test/test-transaction-voiding.c
 src/qofundo.c

Modified: gnucash/branches/cashutil/cashutil/po/en_GB.po
===================================================================
--- gnucash/branches/cashutil/cashutil/po/en_GB.po	2005-11-03 16:09:11 UTC (rev 11812)
+++ gnucash/branches/cashutil/cashutil/po/en_GB.po	2005-11-03 16:10:08 UTC (rev 11813)
@@ -1134,8 +1134,8 @@
 #. day of month.
 #: src/objects/FreqSpec.c:971
 #, c-format
-msgid "Yearly (x%u): %s/%u"
-msgstr "Yearly (x%1$u): %3%u of month %s$s"
+msgid "Yearly "
+msgstr "Yearly month "
 
 #. %s is the abbreviated name of the
 #. month; %u is the day of month


Property changes on: gnucash/branches/cashutil/cashutil/src
___________________________________________________________________
Name: svn:ignore
   + Makefile.in
.deps
Makefile



Modified: gnucash/branches/cashutil/cashutil/src/Makefile.am
===================================================================
--- gnucash/branches/cashutil/cashutil/src/Makefile.am	2005-11-03 16:09:11 UTC (rev 11812)
+++ gnucash/branches/cashutil/cashutil/src/Makefile.am	2005-11-03 16:10:08 UTC (rev 11813)
@@ -1,11 +1,10 @@
-#SUBDIRS = objects . test backend
 
 AM_CFLAGS = \
   -I.. -I../..  \
   -DLOCALE_DIR=\""$(datadir)/locale"\" \
-  -I${top_srcdir}/src/backend/file \
-  -I${top_srcdir}/src/business/business-core \
-  -I${top_srcdir}/src/engine \
+  -I../../src/backend/file \
+  -I../../src/business/business-core \
+  -I../../src/engine \
   ${GOBJECT_CFLAGS} \
   ${GLIB_CFLAGS}  \
   ${QOF_CFLAGS}
@@ -14,20 +13,20 @@
   cashutil
 
 cashutil_SOURCES = \
+  backend-bus.c \
   qof-main.c \
   qofundo.c \
   cashutil.c 
 
 EXTRA_DIST = \
   qof-main.h \
-  qofundo.h \
-  gncla-dir.h.in
+  qofundo.h
 
 noinst_HEADERS = qofundo-p.h
 
 cashutil_LDADD =   \
-  ${top_builddir}/src/objects/libcashobjects.la  \
-  ${top_builddir}/src/objects/libcashbusobjects.la  \
+  ../../src/engine/libcashobjects.la  \
+  ../../src/business/business-core/libcashbusobjects.la  \
   -lltdl  \
   ${QOF_LIBS}  \
   ${GLIB_LIBS}  \

Modified: gnucash/branches/cashutil/cashutil/src/README
===================================================================
--- gnucash/branches/cashutil/cashutil/src/README	2005-11-03 16:09:11 UTC (rev 11812)
+++ gnucash/branches/cashutil/cashutil/src/README	2005-11-03 16:10:08 UTC (rev 11813)
@@ -2,28 +2,20 @@
 ======================
 
 CashUtil is intended to be built separately from
-GnuCash whilst being developed in the same CVS tree.
+GnuCash whilst being developed in the same SVN tree.
 
-The modifications within GnuCash mean that the object
-files and the backend files need to be reorganised. 
+The modifications within GnuCash mean that the libraries
+built from the object files and the backend files need 
+to be renamed and reorganised.
+
 Also, the translation files, man page and configuration
-scripts are just for CashUtil.
+scripts in gnucash/cashutil are just for CashUtil.
 
-CashUtil also uses QOF as an external library, requiring
-libqof1 (>= 0.6.0).
+CashUtil is built to use QOF as an external library, requiring
+libqof1 (>= 0.6.0) - the internal libqof in gnucash can also
+be used.
 
 A lot of the translatable strings are similar to GnuCash
 but have to be formatted slightly differently for a command
 line interface.
 
-Important: When debugging this code, remember that CashUtil
-is linked against an installed version of QOF, AND it *only*
-uses the installed copies of libcashobjects.la and 
-libgnc-backend-file.la. You must 'make install' to test any
-changes in the source files for these libraries. If you
-change any QOF files, run 'make install' in QOF and then
-run 'make install' in CashUtil.
-
-If you have your own books to test during development, CVS 
-will ignore a src/books directory as a convenience.
-

Deleted: gnucash/branches/cashutil/cashutil/src/cashutil.h
===================================================================
--- gnucash/branches/cashutil/cashutil/src/cashutil.h	2005-11-03 16:09:11 UTC (rev 11812)
+++ gnucash/branches/cashutil/cashutil/src/cashutil.h	2005-11-03 16:10:08 UTC (rev 11813)
@@ -1,32 +0,0 @@
-/***************************************************************************
- *            cashutil.h
- *
- *  Sun Apr 17 17:56:17 2005
- *  Copyright  2005  Neil Williams
- *  linux at codehelp.co.uk
- ****************************************************************************/
-
-/*
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifndef _CASHUTIL_H
-#define _CASHUTIL_H
-
-#include "qof-main.h"
-
-#define CU_MOD_CLI "cashutil-cli"
-
-#endif /* _PILOT_QOF_H */

Added: gnucash/branches/cashutil/cashutil/src/cashutil.h.in
===================================================================
--- gnucash/branches/cashutil/cashutil/src/cashutil.h.in	2005-11-03 16:09:11 UTC (rev 11812)
+++ gnucash/branches/cashutil/cashutil/src/cashutil.h.in	2005-11-03 16:10:08 UTC (rev 11813)
@@ -0,0 +1,74 @@
+/***************************************************************************
+ *            cashutil.h
+ *
+ *  Sun Apr 17 17:56:17 2005
+ *  Copyright  2005  Neil Williams
+ *  linux at codehelp.co.uk
+ ****************************************************************************/
+
+/*
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifndef _CASHUTIL_H
+#define _CASHUTIL_H
+
+#include "qof-main.h"
+
+#define CU_MOD_CLI "cashutil-cli"
+
+/** @addtogroup cashutil
+    @{ */
+
+/** @file cashutil.h
+  @brief Command line interface to GnuCash data
+  @author Copyright (c) 2005 Neil Williams <linux at codehelp.co.uk>
+*/
+
+#define QOF_LIB_DIR "@QOF_LIB_DIR@"
+#include "config.h"
+
+/* gnc_setenv() papers over the brokenness of of systems that only
+ * have putenv() which takes ownership of the pointer you give it,
+ * making it *very* difficult, if not impossible to avoid memory
+ * leaks.  Note that right now, on systems that have setenv, this is
+ * just setenv, and on other systems, we just leave the memory leak.
+ * Later, we may try to make things a little better by keeping track
+ * of the pointers we call putenv on in a hash table and if someone
+ * calls gnc_setenv on an envt var that we've previously set, then
+ * we'll free it after the change.  However, given the sloppy
+ * semantics (or docs) for putenv, it's not even clear that this is
+ * OK, since it's not clear that people aren't allowed to keep the
+ * pointer from getenv around, as long as they don't try to modify
+ * it... <shrug> */
+#ifdef HAVE_SETENV
+
+#define gnc_setenv setenv
+#define gnc_unsetenv unsetenv
+
+#elif defined HAVE_PUTENV
+
+int gnc_setenv(const char *name, const char *value, int overwrite);
+int gnc_unsetenv(const char *name);
+
+#else
+#error "Must have setenv or putenv."
+#endif
+
+
+/** @} */
+/** @} */
+
+#endif /* _PILOT_QOF_H */



More information about the gnucash-changes mailing list