Rob Browning's misc patch for guile-1.4.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@2645 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
Dave Peticolas
2000-08-07 18:30:25 +00:00
parent 4f7aca77fd
commit 94033d39ec
10 changed files with 277 additions and 206 deletions

58
README
View File

@@ -1,4 +1,4 @@
============================================================ ############################################################
Gnucash 1.5.x README file. Gnucash 1.5.x README file.
NOTE: THIS IS A DEVELOPMENT RELEASE!!! THIS VERSION HAS NOT NOTE: THIS IS A DEVELOPMENT RELEASE!!! THIS VERSION HAS NOT
@@ -10,7 +10,7 @@ If you want something a bit more tested, please use the
1.4 stable series. 1.4 stable series.
------------------------------------------------------------ ------------------------------------------------------------
================== ##################
Table of Contents: Table of Contents:
------------------ ------------------
@@ -19,13 +19,13 @@ Table of Contents:
- Dependencies - Dependencies
- Invocation/running - Invocation/running
- Internationalization - Internationalization
- Building and Installing - Building & Installing
- Supported OSes - Supported Platforms
- Additional Download Sites - Additional Download Sites
- Getting the Source via CVS - Getting the Source via CVS
- Developing GnuCash - Developing GnuCash
======== ########
Overview Overview
-------- --------
@@ -110,7 +110,7 @@ http://www.gnucash.org/pub/gnucash/
Development versions: Development versions:
http://www.gnucash.org/source_code.php3 http://www.gnucash.org/source_code.php3
==================== ####################
Upgrading from 1.2.x Upgrading from 1.2.x
-------------------- --------------------
@@ -124,7 +124,7 @@ section of this file for more detail. The file format hasn't changed
We hope you enjoy all the new features! We hope you enjoy all the new features!
============ ############
Dependencies Dependencies
------------ ------------
@@ -183,7 +183,7 @@ you will need to install:
http://www.gnuplot.vt.edu/ http://www.gnuplot.vt.edu/
======= #######
Running Running
------- -------
@@ -243,7 +243,7 @@ to run gnucash from a local directory:
"$@" "$@"
==================== ####################
Internationalization Internationalization
-------------------- --------------------
Message catalogues exist for French and German. These are enabled with Message catalogues exist for French and German. These are enabled with
@@ -267,7 +267,7 @@ fr_CH
de_CH de_CH
===================== #####################
Building & Installing Building & Installing
--------------------- ---------------------
@@ -286,9 +286,31 @@ following packages:
SWIG: Used to autogenerate perl wrappers - available at www.swig.org SWIG: Used to autogenerate perl wrappers - available at www.swig.org
need 1.1p5 or later ... need 1.1p5 or later ...
gnome development system: headers, libraries, etc.
libxml: available from ftp.gnome.org
g-wrap: RPM's, debs, and source available at g-wrap: RPM's, debs, and source available at
ftp://ftp.gnucash.org/pub/g-wrap. ftp://ftp.gnucash.org/pub/g-wrap.
What you'll need to get and install in order to make sure you have all
of these pieces properly installed for your particular operating
system flavor will vary, but here's at least a partial list of what
you'll need for the systems we know about:
Debian/GNU/Linux:
current:
libgnome-dev
libxml-dev
libgtkxmhtml-dev
guile1.3
libguile6-dev
libguile6-slib
RedHat:
???
GnuCash understands a few non-standard ./configure options. You GnuCash understands a few non-standard ./configure options. You
should run ./configure --help for the most up to date summary of the should run ./configure --help for the most up to date summary of the
supported options, but here are some more detailed descriptions of supported options, but here are some more detailed descriptions of
@@ -346,9 +368,9 @@ to be installed, the above command would install
DESTDIR can be helpful when trying to build install images and DESTDIR can be helpful when trying to build install images and
packages. packages.
============== ###################
Supported OS's Supported Platforms
-------------- -------------------
GnuCash 1.5.x is known to work with the following operating systems: GnuCash 1.5.x is known to work with the following operating systems:
@@ -372,7 +394,7 @@ for precompiled (but *very old*) binaries for these platforms
Gnucash can probably be made to work with most POSIX-ish platforms, Gnucash can probably be made to work with most POSIX-ish platforms,
provided the libraries and toolchain are available. provided the libraries and toolchain are available.
========================= #########################
Additional Download Sites Additional Download Sites
------------------------- -------------------------
@@ -412,7 +434,7 @@ SGI Irix
http://linas.org/linux/xacc/xacc-1.0b7-sgi-irix.inst.tar http://linas.org/linux/xacc/xacc-1.0b7-sgi-irix.inst.tar
======================= #######################
Getting Source with CVS Getting Source with CVS
----------------------- -----------------------
A read-only version of the cvs tree is available on the net. A read-only version of the cvs tree is available on the net.
@@ -431,7 +453,7 @@ To get a copy of the source in the gnucash-1.2 stable production tree do a
cvs -z3 -Pd :pserver:cvs@cvs.gnucash.org:/home/cvs/cvsroot checkout -rxacc-12-patch gnucash cvs -z3 -Pd :pserver:cvs@cvs.gnucash.org:/home/cvs/cvsroot checkout -rxacc-12-patch gnucash
================== ##################
Developing GnuCash Developing GnuCash
------------------ ------------------
Before you start developing GnuCash, you should do the following: Before you start developing GnuCash, you should do the following:
@@ -514,3 +536,7 @@ Submitting a Patch:
Send gnucash.diff.gz.uue to gnucash-patches@gnucash.org Send gnucash.diff.gz.uue to gnucash-patches@gnucash.org
Thanks in advance for your contribution! Thanks in advance for your contribution!
Local Variables:
mode: text
End:

324
configure vendored

File diff suppressed because it is too large Load Diff

View File

@@ -90,6 +90,12 @@ AC_SUBST(GNC_DOC_INSTALL_DIR)
# We should always see these errors... # We should always see these errors...
CFLAGS="${CFLAGS} -Wall" CFLAGS="${CFLAGS} -Wall"
# This has to come after AC_PROG_CC
if test ${GCC}x = yesx
then
CFLAGS="${CFLAGS} -Werror-implicit-function-declaration"
fi
AC_ARG_ENABLE( debug, AC_ARG_ENABLE( debug,
[ --enable-debug compile with debugging flags set], [ --enable-debug compile with debugging flags set],
CFLAGS="${CFLAGS} -g" CFLAGS="${CFLAGS} -g"
@@ -102,7 +108,6 @@ AC_ARG_ENABLE( profile,
CFLAGS="${CFLAGS} -pg" CFLAGS="${CFLAGS} -pg"
LDFLAGS="${LDFLAGS} -pg") LDFLAGS="${LDFLAGS} -pg")
### -------------------------------------------------------------------------- ### --------------------------------------------------------------------------
### i18n ### i18n
AC_ARG_WITH( locale-dir, AC_ARG_WITH( locale-dir,
@@ -112,7 +117,6 @@ AC_ARG_WITH( locale-dir,
AC_SUBST(LOCALE_DIR) AC_SUBST(LOCALE_DIR)
### -------------------------------------------------------------------------- ### --------------------------------------------------------------------------
### Check for gettext ### Check for gettext
AM_GNU_GETTEXT AM_GNU_GETTEXT

View File

@@ -7,7 +7,7 @@
gnucash \- personal finance manager gnucash \- personal finance manager
.SH SYNOPSIS .SH SYNOPSIS
.B gnucash [--debug] [ .B gnucash [--debug] [
.I xacc-data.xac .I accounts.gnc
.B ] .B ]
.SH DESCRIPTION .SH DESCRIPTION
.B gnucash .B gnucash

View File

@@ -1,3 +1,3 @@
EXTRA_DIST = \ EXTRA_DIST = \
.cvsignore \ .cvsignore

View File

@@ -115,7 +115,8 @@ USE_NLS = @USE_NLS@
VERSION = @VERSION@ VERSION = @VERSION@
l = @l@ l = @l@
EXTRA_DIST = .cvsignore EXTRA_DIST = .cvsignore
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../../config.h CONFIG_HEADER = ../../config.h
CONFIG_CLEAN_FILES = CONFIG_CLEAN_FILES =

View File

@@ -91,9 +91,18 @@
(begin (begin
(gnc:error "non-list given for --doc-path: " val) (gnc:error "non-list given for --doc-path: " val)
(gnc:shutdown 1))))))) (gnc:shutdown 1)))))))
(cons "evaluate"
(cons 'string
(lambda (val)
(set! gnc:*batch-mode-forms-to-evaluate*
(cons val gnc:*batch-mode-forms-to-evaluate*)))))
(cons "load-user-config" (cons 'boolean gnc:load-user-config-if-needed)) (cons "load-user-config"
(cons "load-system-config" (cons 'boolean gnc:load-system-config-if-needed)))) (cons 'boolean gnc:load-user-config-if-needed))
(cons "load-system-config"
(cons 'boolean gnc:load-system-config-if-needed))))
(define (gnc:cmd-line-get-boolean-arg args) (define (gnc:cmd-line-get-boolean-arg args)
;; --arg means #t ;; --arg means #t

View File

@@ -23,6 +23,25 @@
(gnc:support "engine-utilities.scm") (gnc:support "engine-utilities.scm")
(define (gnc:transaction-map-splits thunk transaction)
(let loop ((num-splits (gnc:transaction-get-split-count transaction))
(i 0))
(if (< i num-splits)
(cons
(thunk (gnc:transaction-get-split transaction i))
(loop num-splits (+ i 1)))
'())))
(define (gnc:group-map-accounts thunk group)
"Call thunk for each account in group, returning the results as a
list. Return '() for a null group."
(let loop ((i 0)
(num-accounts (gnc:group-get-num-accounts group)))
(if (< i num-accounts)
(cons (thunk (gnc:group-get-account group i))
(loop (+ i 1) num-accounts))
'())))
;; Pull a scheme list of accounts (including subaccounts) from group grp ;; Pull a scheme list of accounts (including subaccounts) from group grp
(define (gnc:group-get-account-list grp) (define (gnc:group-get-account-list grp)
"Return a flat list of all the accounts in grp, or #f if there's a problem." "Return a flat list of all the accounts in grp, or #f if there's a problem."

View File

@@ -15,6 +15,10 @@
;; 59 Temple Place - Suite 330 Fax: +1-617-542-2652 ;; 59 Temple Place - Suite 330 Fax: +1-617-542-2652
;; Boston, MA 02111-1307, USA gnu@gnu.org ;; Boston, MA 02111-1307, USA gnu@gnu.org
;; A list of strings provided by the --evaluate option that should be
;; executed in reverse order.
(define gnc:*batch-mode-forms-to-evaluate* '())
(define (gnc:startup) (define (gnc:startup)
(gnc:debug "starting up.") (gnc:debug "starting up.")
(if (not (gnc:handle-command-line-args)) (if (not (gnc:handle-command-line-args))
@@ -88,20 +92,35 @@
;; Now the fun begins. ;; Now the fun begins.
(gnc:startup) (gnc:startup)
(if (not (= (gnc:lowlev-app-init) 0)) (if (not (= (gnc:lowlev-app-init) 0))
(gnc:shutdown 0)) (gnc:shutdown 0))
(let ((ok (not (gnc:config-var-value-get gnc:*arg-no-file*)))
(file (if (pair? gnc:*command-line-files*)
(car gnc:*command-line-files*)
(gnc:history-get-last))))
(if (and ok (string? file))
(gnc:ui-open-file file)))
;; add a hook to save the user configs on shutdown ;; add a hook to save the user configs on shutdown
(gnc:hook-add-dangler gnc:*shutdown-hook* gnc:save-global-options) (gnc:hook-add-dangler gnc:*shutdown-hook* gnc:save-global-options)
(gnc:hook-add-dangler gnc:*ui-shutdown-hook* gnc:ui-finish)
(gnc:ui-main) (if (null? gnc:*batch-mode-forms-to-evaluate*)
(gnc:hook-remove-dangler gnc:*ui-shutdown-hook* gnc:ui-finish) ;; We're not in batch mode; we can go ahead and do the normal thing.
(let ((ok (not (gnc:config-var-value-get gnc:*arg-no-file*)))
(file (if (pair? gnc:*command-line-files*)
(car gnc:*command-line-files*)
(gnc:history-get-last))))
(if (and ok (string? file))
(gnc:ui-open-file file))
(gnc:hook-add-dangler gnc:*ui-shutdown-hook* gnc:ui-finish)
(gnc:ui-main)
(gnc:hook-remove-dangler gnc:*ui-shutdown-hook* gnc:ui-finish))
;; else: we're in batch mode. Just do what the user said on the
;; command line
(map (lambda (cmd-line-string-to-eval)
(call-with-input-string
cmd-line-string-to-eval
(lambda (port)
(let loop ((form (read port)))
(if (not (eof-object? form))
(begin (eval form)
(loop (read port))))))))
(reverse gnc:*batch-mode-forms-to-evaluate*)))
(gnc:shutdown 0)) (gnc:shutdown 0))

View File

@@ -111,17 +111,6 @@
(thunk (gnc:account-get-split account x))) (thunk (gnc:account-get-split account x)))
0 (gnc:account-get-split-count account) 1)) 0 (gnc:account-get-split-count account) 1))
(define (gnc:group-map-accounts thunk group)
(let ((num-accounts (gnc:group-get-num-accounts group)))
(let loop
((i 0)
(collected '()))
(if (>= i num-accounts)
(reverse collected)
(loop (+ i 1)
(cons (thunk (gnc:group-get-account group i)) collected))))))
(define (gnc:group-get-accounts group) (define (gnc:group-get-accounts group)
(gnc:group-map-accounts (lambda (a) a) group)) (gnc:group-map-accounts (lambda (a) a) group))