Merge branch 'maint'

- Bug 731889 - guile 2 exports different autoconf macros than what is expected
- Bug 742624 - [patch] Scheduled Transaction Editor results in immediate segfault
- Numeric values with more than commodity smallest fraction get silently dropped.
- Bug 721196 - Use a regex for checking for a valid numeric value.
- Bug 727647 - "gncInvoiceGetTotal" is not read-only function?
- Bug 743609 - Add configure options to disable libsecret detection
- Switch from guile to xml to manage our iso-currencies source file
- Rewrite gnc-test-env in perl
- Bug 619899 - Use normal gettext or intltool toolchain also for scm files

Resolved conflicts:
	make-gnucash-potfiles.in
	po/POTFILES.in
	po/POTFILES.skip
	src/backend/dbi/test/Makefile.am
This commit is contained in:
Geert Janssens 2015-01-31 18:37:41 +01:00
commit e1c7d9d1b9
58 changed files with 3433 additions and 770 deletions

1
.gitignore vendored
View File

@ -40,7 +40,6 @@ doc/tip_of_the_day.list
gnucash-*.*.*.tar.*
gnucash-*.*.*/
install-sh
intl-scm/guile-strings.c
intltool-extract
intltool-extract.in
intltool-merge

View File

@ -1,11 +1,16 @@
SUBDIRS = . doc lib src intl-scm packaging po accounts checks
SUBDIRS = . doc lib src packaging po accounts checks
GNC_CTAGS_FILE = @GNC_CTAGS_FILE@
GNC_ETAGS_FILE = @GNC_ETAGS_FILE@
noinst_DATA = make-gnucash-potfiles
noinst_PROGRAMS = gnc-guile
gnc_guile_SOURCES = util/guile.c
gnc_guile_CFLAGS = ${GUILE_CFLAGS}
gnc_guile_LDADD = ${GUILE_LIBS}
dist_doc_DATA = \
AUTHORS \
COPYING \
@ -190,10 +195,8 @@ $(srcdir)/po/POTFILES.in: make-gnucash-potfiles .potfiles
# Creation rules so that po/gnucash.pot can always be created for
# make dist.
po/gnucash.pot: po/POTFILES.in intl-scm/guile-strings.c
po/gnucash.pot: po/POTFILES.in
${MAKE} -C po gnucash.pot
intl-scm/guile-strings.c:
${MAKE} -C intl-scm guile-strings.c
.potfiles:

View File

@ -468,30 +468,16 @@ AC_CHECK_FUNCS(gethostid link)
# - check minimum version
# - determine GUILE_CFLAGS and GUILE_LIBS
# Note: systems that install both guile 1.8 and guile 2 use different
# names for the 1.8 and 2.0 autoconf macros to avoid conflicts.
# So the tests below will check for known macro names in the order
# that we assume will always result in the proper macros being called
# for the guile version that has been detected.
gnc_have_guile_2=no
gnc_have_guile_www=no
PKG_CHECK_MODULES(GUILE,
[guile-1.8 >= 1.8.5],
[m4_ifdef([GUILE1_8_PROGS],
[ GUILE1_8_PROGS ],
[ m4_ifdef([GUILE1_PROGS],
[ GUILE1_PROGS ],
[ GUILE_PROGS ])])
], [
PKG_CHECK_MODULES(GUILE,
[guile-2.0 >= 2.0.0],
[m4_ifdef([GUILE_PROGS],
[ GUILE_PROGS
gnc_have_guile_2=yes ],
[ AC_MSG_ERROR([ guile 2 is found on your system, but appears
to export different autoconf macros than what we expected. Please report this as a bug
in GnuCash, so we can fix this for your platform.]) ])
],
[gnc_have_guile_2=yes
GUILE_EFFECTIVE_VERSION=2.0
AC_PATH_PROG([GUILD], guild)],
[PKG_CHECK_MODULES(GUILE,
[guile-1.8 >= 1.8.5],
[GUILE_EFFECTIVE_VERSION=1.8],
[AC_MSG_ERROR([
guile does not appear to be installed correctly, or is not in the
correct version range. Perhaps you have not installed the guile
@ -499,9 +485,14 @@ PKG_CHECK_MODULES(GUILE,
])])
])
AM_CONDITIONAL(GNC_HAVE_GUILE_2, test "${gnc_have_guile_2}" = yes)
AM_CONDITIONAL(GNC_HAVE_GUILE_2, test "x${gnc_have_guile_2}" = xyes)
AC_SUBST(GUILE_EFFECTIVE_VERSION)
AC_SUBST(GUILE, [`pwd`/gnc-guile])
AC_CHECK_HEADERS(ltdl.h,
[],
[AC_MSG_ERROR([ltdl.h not found. Perhaps you need to install
the intltool-ltdl development packages ?])])
### --------------------------------------------------------------------------
### SWIG version checks (only when building from SCM)
@ -1305,23 +1296,40 @@ then
###-----------------------------------------------------------------------
## Find a suitable password store
AC_ARG_ENABLE([password-storage],
AS_HELP_STRING([--disable-password-storage], [Ignore system wide password stores such as gnome-keyring, libsecret or Apple's keychain]))
case $host_os in
have_password_storage=no
if test "x$enable_password_storage" != "xno"
then
case $host_os in
darwin*)
have_password_storage=yes
AC_DEFINE(HAVE_OSX_KEYCHAIN,1,[System has an OS X Key chain])
;;
*)
PKG_CHECK_MODULES(GNOME_KEYRING, gnome-keyring-1 >= "0.6",
[AC_DEFINE(HAVE_GNOME_KEYRING,1,[System has gnome-keyring 0.6 or better])],
[AC_DEFINE(HAVE_NO_KEYRING,1,[System has no suitable keyring service])])
[have_password_storage=yes
AC_DEFINE(HAVE_GNOME_KEYRING,1,[System has gnome-keyring 0.6 or better])
],
[dummy_not_found=true])
PKG_CHECK_MODULES(LIBSECRET, libsecret-1 >= "0.18",
[AC_DEFINE(HAVE_LIBSECRET,1,[System has libsecret 0.18 or better])],
[AC_DEFINE(HAVE_NO_LIBSECRET,1,[System has no suitable libsecret service])])
AC_SUBST(LIBSECRET_CFLAGS)
AC_SUBST(LIBSECRET_LIBS)
[have_password_storage=yes
AC_DEFINE(HAVE_LIBSECRET,1,[System has libsecret 0.18 or better])
AC_SUBST(LIBSECRET_CFLAGS)
AC_SUBST(LIBSECRET_LIBS)
],
[dummy_not_found=true])
;;
esac
esac
fi
if test "x$have_password_storage" = "xno" && test "x$enable_password_storage" = "xyes"
then
AC_MSG_ERROR([password storage requested but no suitable backend found. Either gnome-keyring >= 0.6, libsecret >= 0.18 or Apple's keychain are supported])
fi
### ----------------------------------------------------------------------
@ -1599,7 +1607,6 @@ AC_CONFIG_FILES(
checks/Makefile
doc/Makefile
doc/examples/Makefile
intl-scm/Makefile
lib/Makefile
lib/libc/Makefile
lib/stf/Makefile
@ -1724,7 +1731,6 @@ AC_CONFIG_FILES(
dnl # non-makefiles
src/bin/gnucash.rc
src/app-utils/migratable-prefs.xml
src/engine/iso-currencies-to-c
src/gnome/gnucash.desktop.in
dnl # GSettings schema files
src/business/business-gnome/gschemas/org.gnucash.dialogs.business.gschema.xml.in
@ -1750,7 +1756,6 @@ AC_CONFIG_FILES(
dnl # init-commands go here
)
# A few files need extra actions at creation time
AC_CONFIG_FILES([src/gnc-test-env], [chmod u+x src/gnc-test-env])
AC_CONFIG_FILES([src/bin/overrides/gnucash-make-guids], [chmod u+x src/bin/overrides/gnucash-make-guids])
LDFLAGS="${LDFLAGS} ${NOUNDEF}"
AC_OUTPUT

View File

@ -1,22 +0,0 @@
abs_top_srcdir=@abs_top_srcdir@
EXTRA_DIST = \
guile-strings.c \
xgettext.scm
# Cause automake to generate correct rules
# for maintainers
noinst_HEADERS = guile-strings.c
BUILT_SOURCES = guile-strings.c
SCMFILES = $(shell find ${abs_top_srcdir}/src -name test -prune -o -name '*.scm' -print | sort)
if BUILDING_FROM_SCM
# This needs to be generated in srcdir
guile-strings.c: $(SCMFILES)
rm -f guile-strings.c
cd ${srcdir} && rm -f guile-strings.c \
&& ${GUILE} -s ./xgettext.scm ${abs_top_srcdir} $(SCMFILES)
endif

View File

@ -1,75 +0,0 @@
;; Find translatable strings in guile files
(define *base-dir-len* 0)
(define (expand-newlines string out-port)
(define (output-prefix-newlines chars)
(if (and (pair? chars) (char=? (car chars) #\newline))
(begin
(display "\\n" out-port)
(output-prefix-newlines (cdr chars)))
chars))
(let loop ((chars (string->list string))
(accum '()))
(cond
((null? chars)
(if (not (null? accum))
(write (list->string (reverse accum)) out-port)))
((char=? (car chars) #\newline)
(write (list->string (reverse accum)) out-port)
(display "\"" out-port)
(set! chars (output-prefix-newlines chars))
(display "\"" out-port)
(if (not (null? chars))
(display "\n " out-port))
(loop chars '()))
(else
(loop (cdr chars) (cons (car chars) accum))))))
(define (write-string string out-port filename line-number)
(display (string-append "/* " (substring filename *base-dir-len*)) out-port)
;;(display line-number out-port)
(display " */\n" out-port)
(display "_(" out-port)
(expand-newlines string out-port)
(display ")\n" out-port))
(define (find-strings-in-item item out-port filename line-no)
(define (find-internal rest)
(cond
((and (list? rest) ; if it's a list
(= (length rest) 2) ; of length 2
(symbol? (car rest)) ; starting with a symbol
(string? (cadr rest)) ; and ending with a string
(or (eqv? '_ (car rest)) ; and the symbol is _
(eqv? 'N_ (car rest)))) ; or N_
(write-string (cadr rest) out-port filename line-no)) ; then write it out
((pair? rest) ; otherwise, recurse
(find-internal (car rest))
(find-internal (cdr rest)))))
(find-internal item))
(define (count-newlines string)
(define (count-internal from)
(let ((index (string-index string #\newline from)))
(if index
(+ 1 (count-internal (+ 1 index)))
0)))
(count-internal 0))
(define (find-strings in-port out-port filename)
(do ((item (read in-port) (read in-port))
(line-no 1 (+ 1 line-no)))
((eof-object? item) #t)
(find-strings-in-item item out-port filename line-no)))
(let ((out-port (open "guile-strings.c" (logior O_WRONLY O_CREAT O_TRUNC)))
(base-dir (cadr (command-line)))
(in-files (cddr (command-line))))
(set! *base-dir-len* (+ (string-length base-dir) 1))
(for-each (lambda (file)
(call-with-input-file file (lambda (port)
(find-strings port out-port file))))
in-files))

View File

@ -49,7 +49,7 @@ my @possible_files = sort sort_func
`cd @-SRCDIR-@ && find src -name '*.c' \\
-o -name '*.cpp' -o -name '*.glade' \\
-o -name '*.desktop.in' -o -name '*.keys.in' \\
-o -name '*.gschema.xml.in.in' `;
-o -name '*.gschema.xml.in.in' -o -name '*.scm' | sort`;
## For perl files add the following:
# -o -name '*.pl'
@ -88,5 +88,4 @@ foreach my $file (@possible_files) {
print "src/gnome/gnucash.appdata.xml.in\n";
print "src/gnome/gnucash.desktop.in.in\n";
print "src/libqof/qof/qofbookslots.h\n";
print "intl-scm/guile-strings.c\n";
print "doc/tip_of_the_day.list.in\n";

View File

@ -1,10 +1,17 @@
# This is a list of files which contain translatable strings.
# This file was generated by ../make-gnucash-potfiles.
src/app-utils/app-utils.scm
src/app-utils/business-helpers.c
src/app-utils/business-options.c
src/app-utils/business-options.scm
src/app-utils/business-prefs.scm
src/app-utils/calculation/expression_parser.c
src/app-utils/calculation/fin.c
src/app-utils/c-interface.scm
src/app-utils/config-var.scm
src/app-utils/date-utilities.scm
src/app-utils/file-utils.c
src/app-utils/gettext.scm
src/app-utils/gfec.c
src/app-utils/gnc-accounting-period.c
src/app-utils/gnc-account-merge.c
@ -24,8 +31,13 @@ src/app-utils/gnc-sx-instance-model.c
src/app-utils/gnc-ui-balances.c
src/app-utils/gnc-ui-util.c
src/app-utils/guile-util.c
src/app-utils/hooks.scm
src/app-utils/migrate-prefs.scm
src/app-utils/options.scm
src/app-utils/option-util.c
src/app-utils/prefs.scm
src/app-utils/QuickFill.c
src/app-utils/simple-obj.scm
src/backend/dbi/gnc-backend-dbi.c
src/backend/sql/escape.c
src/backend/sql/gnc-account-sql.c
@ -85,6 +97,7 @@ src/backend/xml/sixtp-stack.c
src/backend/xml/sixtp-to-dom-parser.c
src/backend/xml/sixtp-utils.c
src/bin/gnucash-bin.c
src/business/business-gnome/business-gnome.scm
src/business/business-gnome/business-gnome-utils.c
src/business/business-gnome/business-options-gnome.c
src/business/business-gnome/business-urls.c
@ -123,6 +136,7 @@ src/business/business-ledger/gncEntryLedgerLayout.c
src/business/business-ledger/gncEntryLedgerLoad.c
src/business/business-ledger/gncEntryLedgerModel.c
src/core-utils/binreloc.c
src/core-utils/core-utils.scm
src/core-utils/gnc-environment.c
src/core-utils/gnc-features.c
src/core-utils/gnc-filepath-utils.c
@ -137,9 +151,14 @@ src/core-utils/gnc-prefs.c
src/core-utils/gnc-uri-utils.c
src/doc/doxygen_main_page.c
src/engine/Account.c
src/engine/business-core.scm
src/engine/cap-gains.c
src/engine/cashobjects.c
src/engine/commodity-table.scm
src/engine/engine-helpers.c
src/engine/engine-interface.scm
src/engine/engine.scm
src/engine/engine-utilities.scm
src/engine/glib-helpers.c
src/engine/gncAddress.c
src/engine/gncBillTerm.c
@ -158,6 +177,7 @@ src/engine/gncInvoice.c
src/engine/gncJob.c
src/engine/gnc-lot.c
src/engine/gncmod-engine.c
src/engine/gnc-numeric.scm
src/engine/gncOrder.c
src/engine/gncOwner.c
src/engine/gnc-pricedb.c
@ -179,6 +199,7 @@ src/engine/SX-ttinfo.c
src/engine/Transaction.c
src/engine/TransLog.c
src/gnc-module/gnc-module.c
src/gnc-module/gnc-module.scm
src/gnome/assistant-acct-period.c
src/gnome/assistant-hierarchy.c
src/gnome/assistant-loan.c
@ -304,6 +325,7 @@ src/gnome-utils/gnc-icons.c
src/gnome-utils/gnc-keyring.c
src/gnome-utils/gnc-main-window.c
src/gnome-utils/gnc-menu-extensions.c
src/gnome-utils/gnc-menu-extensions.scm
src/gnome-utils/gncmod-gnome-utils.c
src/gnome-utils/gnc-period-select.c
src/gnome-utils/gnc-plugin.c
@ -334,6 +356,7 @@ src/gnome-utils/gnc-tree-view-price.c
src/gnome-utils/gnc-tree-view-split-reg.c
src/gnome-utils/gnc-tree-view-sx-list.c
src/gnome-utils/gnc-window.c
src/gnome-utils/gnome-utils.scm
[type: gettext/gsettings]src/gnome-utils/gschemas/org.gnucash.history.gschema.xml.in.in
[type: gettext/gsettings]src/gnome-utils/gschemas/org.gnucash.warnings.gschema.xml.in.in
src/gnome-utils/gtkbuilder/assistant-xml-encoding.glade
@ -428,6 +451,15 @@ src/import-export/qif-imp/dialog-account-picker.glade
src/import-export/qif-imp/gncmod-qif-import.c
src/import-export/qif-imp/gnc-plugin-qif-import.c
[type: gettext/gsettings]src/import-export/qif-imp/gschemas/org.gnucash.dialogs.import.qif.gschema.xml.in.in
src/import-export/qif-imp/qif-dialog-utils.scm
src/import-export/qif-imp/qif-file.scm
src/import-export/qif-imp/qif-guess-map.scm
src/import-export/qif-imp/qif-import.scm
src/import-export/qif-imp/qif-merge-groups.scm
src/import-export/qif-imp/qif-objects.scm
src/import-export/qif-imp/qif-parse.scm
src/import-export/qif-imp/qif-to-gnc.scm
src/import-export/qif-imp/qif-utils.scm
src/libqof/qof/gnc-date.cpp
src/libqof/qof/gnc-int128.cpp
src/libqof/qof/gnc-numeric.cpp
@ -508,7 +540,27 @@ src/register/register-gnome/gnucash-style.c
src/register/register-gnome/pricecell-gnome.c
src/register/register-gnome/quickfillcell-gnome.c
src/register/register-gnome/table-gnome.c
src/report/business-reports/aging.scm
src/report/business-reports/balsheet-eg.eguile.scm
src/report/business-reports/balsheet-eg.scm
src/report/business-reports/business-reports.scm
src/report/business-reports/customer-summary.scm
src/report/business-reports/easy-invoice.scm
src/report/business-reports/fancy-invoice.scm
src/report/business-reports/invoice.scm
src/report/business-reports/job-report.scm
src/report/business-reports/owner-report.scm
src/report/business-reports/payables.scm
src/report/business-reports/receipt.eguile.scm
src/report/business-reports/receipt.scm
src/report/business-reports/receivables.scm
src/report/business-reports/taxinvoice.eguile.scm
src/report/business-reports/taxinvoice.scm
src/report/locale-specific/us/de_DE.scm
src/report/locale-specific/us/gncmod-locale-reports-us.c
src/report/locale-specific/us/taxtxf-de_DE.scm
src/report/locale-specific/us/taxtxf.scm
src/report/locale-specific/us/us.scm
src/report/report-gnome/dialog-custom-report.c
src/report/report-gnome/dialog-custom-report.glade
src/report/report-gnome/dialog-report-column-view.c
@ -516,16 +568,91 @@ src/report/report-gnome/dialog-report.glade
src/report/report-gnome/dialog-report-style-sheet.c
src/report/report-gnome/gncmod-report-gnome.c
src/report/report-gnome/gnc-plugin-page-report.c
src/report/report-gnome/report-gnome.scm
src/report/report-gnome/window-report.c
src/report/report-system/collectors.scm
src/report/report-system/commodity-utilities.scm
src/report/report-system/eguile-gnc.scm
src/report/report-system/eguile-html-utilities.scm
src/report/report-system/eguile-utilities.scm
src/report/report-system/gncmod-report-system.c
src/report/report-system/gnc-report.c
src/report/report-system/html-acct-table.scm
src/report/report-system/html-barchart.scm
src/report/report-system/html-document.scm
src/report/report-system/html-fonts.scm
src/report/report-system/html-jqplot.scm
src/report/report-system/html-linechart.scm
src/report/report-system/html-piechart.scm
src/report/report-system/html-scatter.scm
src/report/report-system/html-style-info.scm
src/report/report-system/html-style-sheet.scm
src/report/report-system/html-table.scm
src/report/report-system/html-text.scm
src/report/report-system/html-utilities.scm
src/report/report-system/list-extras.scm
src/report/report-system/options-utilities.scm
src/report/report-system/report-collectors.scm
src/report/report-system/report.scm
src/report/report-system/report-system.scm
src/report/report-system/report-utilities.scm
src/report/standard-reports/account-piecharts.scm
src/report/standard-reports/account-summary.scm
src/report/standard-reports/advanced-portfolio.scm
src/report/standard-reports/average-balance.scm
src/report/standard-reports/balance-sheet.scm
src/report/standard-reports/budget-balance-sheet.scm
src/report/standard-reports/budget-barchart.scm
src/report/standard-reports/budget-flow.scm
src/report/standard-reports/budget-income-statement.scm
src/report/standard-reports/budget.scm
src/report/standard-reports/cash-flow.scm
src/report/standard-reports/category-barchart.scm
src/report/standard-reports/daily-reports.scm
src/report/standard-reports/equity-statement.scm
src/report/standard-reports/general-journal.scm
src/report/standard-reports/general-ledger.scm
src/report/standard-reports/gncmod-standard-reports.c
src/report/standard-reports/income-statement.scm
src/report/standard-reports/net-barchart.scm
src/report/standard-reports/net-linechart.scm
src/report/standard-reports/portfolio.scm
src/report/standard-reports/price-scatter.scm
src/report/standard-reports/register.scm
src/report/standard-reports/standard-reports.scm
src/report/standard-reports/sx-summary.scm
src/report/standard-reports/transaction.scm
src/report/standard-reports/trial-balance.scm
src/report/stylesheets/gncmod-stylesheets.c
src/report/stylesheets/gnc-plugin-stylesheets.c
src/report/stylesheets/stylesheet-easy.scm
src/report/stylesheets/stylesheet-fancy.scm
src/report/stylesheets/stylesheet-footer.scm
src/report/stylesheets/stylesheet-head-or-tail.scm
src/report/stylesheets/stylesheet-plain.scm
src/report/stylesheets/stylesheets.scm
src/report/utility-reports/gncmod-utility-reports.c
src/report/utility-reports/hello-world.scm
src/report/utility-reports/utility-reports.scm
src/report/utility-reports/view-column.scm
src/report/utility-reports/welcome-to-gnucash.scm
src/scm/fin.scm
src/scm/gnumeric/gnumeric-utilities.scm
src/scm/gnumeric/table-utils.scm
src/scm/main.scm
src/scm/price-quotes.scm
src/scm/printf.scm
src/scm/string.scm
src/scm/substring-search.scm
src/scm/xml-generator.scm
src/tax/us/de_DE.scm
src/tax/us/gncmod-tax-us.c
src/tax/us/txf-de_DE.scm
src/tax/us/txf-help-de_DE.scm
src/tax/us/txf-help.scm
src/tax/us/txf.scm
src/tax/us/us.scm
src/gnome/gnucash.appdata.xml.in
src/gnome/gnucash.desktop.in.in
src/libqof/qof/qofbookslots.h
intl-scm/guile-strings.c
doc/tip_of_the_day.list.in

View File

@ -8,34 +8,16 @@ src/gnome-utils/gnc-tree-model-selection.c
src/gnc/.*
src/optional/gtkmm/.*
# The scheme files are handled by intl-scm/guile-strings.c because
# intltool wouldn't scan scheme files. They're here now because
# intltool 0.50 *does* scan them, and it creates an error during make
# check. Once the whole world has upgraded to intltool 0.50, intl-scm
# can be deleted and these files added to POTFILES.in.
# Skip softlinks to scm files. These softlinks are created
# for testing purposes. Unfortunately distcheck doesn't appear
# smart enough to ignore them.
src/app-utils/app-utils.scm
src/app-utils/business-prefs.scm
src/app-utils/date-utilities.scm
src/app-utils/gnucash/app-utils.scm
src/app-utils/prefs.scm
src/import-export/qif-imp/qif-dialog-utils.scm
src/import-export/qif-imp/qif-file.scm
src/import-export/qif-imp/qif-import/qif-dialog-utils.scm
src/import-export/qif-imp/qif-import/qif-file.scm
src/import-export/qif-imp/qif-import/qif-merge-groups.scm
src/import-export/qif-imp/qif-import/qif-parse.scm
src/import-export/qif-imp/qif-import/qif-to-gnc.scm
src/import-export/qif-imp/qif-merge-groups.scm
src/import-export/qif-imp/qif-parse.scm
src/import-export/qif-imp/qif-to-gnc.scm
src/report/business-reports/aging.scm
src/report/business-reports/balsheet-eg.eguile.scm
src/report/business-reports/balsheet-eg.scm
src/report/business-reports/business-reports.scm
src/report/business-reports/customer-summary.scm
src/report/business-reports/easy-invoice.scm
src/report/business-reports/fancy-invoice.scm
src/report/business-reports/gnucash/report/aging.scm
src/report/business-reports/gnucash/report/balsheet-eg.eguile.scm
src/report/business-reports/gnucash/report/balsheet-eg.scm
@ -52,46 +34,10 @@ src/report/business-reports/gnucash/report/receipt.scm
src/report/business-reports/gnucash/report/receivables.scm
src/report/business-reports/gnucash/report/taxinvoice.eguile.scm
src/report/business-reports/gnucash/report/taxinvoice.scm
src/report/business-reports/invoice.scm
src/report/business-reports/job-report.scm
src/report/business-reports/owner-report.scm
src/report/business-reports/payables.scm
src/report/business-reports/receipt.eguile.scm
src/report/business-reports/receipt.scm
src/report/business-reports/receivables.scm
src/report/business-reports/taxinvoice.eguile.scm
src/report/business-reports/taxinvoice.scm
src/report/locale-specific/us/gnucash/report/taxtxf-de_DE.scm
src/report/locale-specific/us/gnucash/report/taxtxf.scm
src/report/locale-specific/us/taxtxf-de_DE.scm
src/report/locale-specific/us/taxtxf.scm
src/report/report-gnome/gnucash/report/report-gnome.scm
src/report/report-gnome/report-gnome.scm
src/report/report-system/eguile-gnc.scm
src/report/report-system/gnucash/report/eguile-gnc.scm
src/report/report-system/html-acct-table.scm
src/report/report-system/html-fonts.scm
src/report/report-system/html-style-sheet.scm
src/report/report-system/html-utilities.scm
src/report/report-system/options-utilities.scm
src/report/report-system/report-utilities.scm
src/report/report-system/report.scm
src/report/standard-reports/account-piecharts.scm
src/report/standard-reports/account-summary.scm
src/report/standard-reports/advanced-portfolio.scm
src/report/standard-reports/average-balance.scm
src/report/standard-reports/balance-sheet.scm
src/report/standard-reports/budget-balance-sheet.scm
src/report/standard-reports/budget-barchart.scm
src/report/standard-reports/budget-flow.scm
src/report/standard-reports/budget-income-statement.scm
src/report/standard-reports/budget.scm
src/report/standard-reports/cash-flow.scm
src/report/standard-reports/category-barchart.scm
src/report/standard-reports/daily-reports.scm
src/report/standard-reports/equity-statement.scm
src/report/standard-reports/general-journal.scm
src/report/standard-reports/general-ledger.scm
src/report/standard-reports/gnucash/report/standard-reports/account-piecharts.scm
src/report/standard-reports/gnucash/report/standard-reports/account-summary.scm
src/report/standard-reports/gnucash/report/standard-reports/advanced-portfolio.scm
@ -117,38 +63,15 @@ src/report/standard-reports/gnucash/report/standard-reports/register.scm
src/report/standard-reports/gnucash/report/standard-reports/sx-summary.scm
src/report/standard-reports/gnucash/report/standard-reports/transaction.scm
src/report/standard-reports/gnucash/report/standard-reports/trial-balance.scm
src/report/standard-reports/income-statement.scm
src/report/standard-reports/net-barchart.scm
src/report/standard-reports/net-linechart.scm
src/report/standard-reports/portfolio.scm
src/report/standard-reports/price-scatter.scm
src/report/standard-reports/register.scm
src/report/standard-reports/sx-summary.scm
src/report/standard-reports/transaction.scm
src/report/standard-reports/trial-balance.scm
src/report/stylesheets/gnucash/report/stylesheet-easy.scm
src/report/stylesheets/gnucash/report/stylesheet-fancy.scm
src/report/stylesheets/gnucash/report/stylesheet-footer.scm
src/report/stylesheets/gnucash/report/stylesheet-head-or-tail.scm
src/report/stylesheets/gnucash/report/stylesheet-plain.scm
src/report/stylesheets/stylesheet-easy.scm
src/report/stylesheets/stylesheet-fancy.scm
src/report/stylesheets/stylesheet-footer.scm
src/report/stylesheets/stylesheet-head-or-tail.scm
src/report/stylesheets/stylesheet-plain.scm
src/report/utility-reports/gnucash/report/hello-world.scm
src/report/utility-reports/gnucash/report/view-column.scm
src/report/utility-reports/gnucash/report/welcome-to-gnucash.scm
src/report/utility-reports/hello-world.scm
src/report/utility-reports/view-column.scm
src/report/utility-reports/welcome-to-gnucash.scm
src/scm/build-config.scm
src/scm/build-config.scm.in
src/scm/command-line.scm
src/scm/gnucash/price-quotes.scm
src/scm/main-window.scm
src/scm/price-quotes.scm
src/tax/us/de_DE.scm
src/tax/us/gnucash/tax/de_DE.scm
src/tax/us/txf-de_DE.scm
src/tax/us/txf.scm

View File

@ -51,8 +51,6 @@ endif
noinst_HEADERS = \
swig-runtime.h
noinst_DATA = gnc-test-env
if BUILDING_FROM_SCM
swig-runtime.h:
$(SWIG) -guile -external-runtime $@
@ -62,6 +60,6 @@ MAINTAINERCLEANFILES = swig-runtime.h
EXTRA_DIST = \
base-typemaps.i \
README.modules \
gnc-test-env \
gnc-test-env.pl \
guile-mappings.h \
platform.h

View File

@ -219,7 +219,7 @@ GUILE_COMPILE_ENV = \
%.go : %.scm .scm-links $(pkglib_LTLIBRARIES)
GNC_UNINSTALLED=yes \
GNC_BUILDDIR=${top_builddir} \
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
$(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash

View File

@ -38,7 +38,7 @@ TESTS_ENVIRONMENT = \
GUILE="${GUILE}" \
SRCDIR=${srcdir} \
GNC_BUILDDIR="${abs_top_builddir}" \
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
$(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
LDADD = \
${top_builddir}/src/libqof/qof/libgnc-qof.la \

View File

@ -41,7 +41,7 @@ TESTS_ENVIRONMENT = \
GNC_ACCOUNT_PATH=${top_srcdir}/accounts/C \
SRCDIR=${srcdir} \
${gnc_dbd_dir_override} \
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
$(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
EXTRA_DIST += \
test-dbi-stuff.h \

View File

@ -24,7 +24,7 @@ GNC_TEST_DEPS = \
TESTS_ENVIRONMENT = \
GNC_ACCOUNT_PATH=${top_srcdir}/accounts/C \
SRCDIR=${srcdir} \
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
$(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
LDADD = ${top_builddir}/src/test-core/libtest-core.la \
${top_builddir}/src/gnc-module/libgnc-module.la \

View File

@ -217,7 +217,7 @@ TESTS_ENVIRONMENT = \
GNC_TEST_FILES=test-files/xml2 \
SRCDIR=${srcdir} \
GNC_BUILDDIR="${abs_top_builddir}" \
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
$(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
check_LTLIBRARIES = libgnc-test-file-stuff.la

View File

@ -30,7 +30,7 @@ then
fi
set +x
eval `${top_builddir}/src/gnc-test-env \
eval `${top_srcdir}/src/gnc-test-env.pl \
--gnc-module-dir ${top_builddir}/src/engine \
--gnc-module-dir ${top_builddir}/src/backend/xml \
--gnc-module-dir ${top_builddir}/src/network-utils \

View File

@ -141,7 +141,7 @@ GUILE_COMPILE_ENV = \
%.go : %.scm .scm-links $(pkglib_LTLIBRARIES)
GNC_UNINSTALLED=yes \
GNC_BUILDDIR=${top_builddir} \
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
$(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash

View File

@ -120,7 +120,7 @@ GUILE_COMPILE_ENV = \
%.go : %.scm .scm-links $(lib_LTLIBRARIES)
GNC_UNINSTALLED=yes \
GNC_BUILDDIR=${top_builddir} \
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
$(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash

View File

@ -27,7 +27,7 @@ GNC_TEST_DEPS = \
TESTS_ENVIRONMENT = \
SRCDIR=${srcdir} \
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
$(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
check_PROGRAMS = \
test-gnc-uri-utils \

View File

@ -128,8 +128,6 @@ noinst_HEADERS = \
gnc-pricedb-p.h \
policy-p.h
noinst_SCRIPTS = iso-currencies-to-c
libgncmod_engine_la_LDFLAGS = -avoid-version
if CLANG
libgncmod_engine_la_CFLAGS = ${AM_CFLAGS} -Wno-invalid-source-encoding
@ -160,8 +158,8 @@ EXTRA_DIST = \
README.query-api \
design.txt \
extensions.txt \
iso-4217-currencies.scm \
iso-currencies-to-c \
iso-4217-currencies.xml \
iso-currencies-to-c.xsl \
kvp_doc.txt \
SX-book-p.h \
engine.i \
@ -170,10 +168,8 @@ EXTRA_DIST = \
${gncscm_DATA}
if GNUCASH_SEPARATE_BUILDDIR
#For compiling
SCM_FILE_LINKS = iso-4217-currencies.scm
#For executing test cases
SCM_FILE_LINKS += \
SCM_FILE_LINKS = \
${gncscmmod_DATA} \
${gncscm_DATA}
endif
@ -203,7 +199,7 @@ GUILE_COMPILE_ENV = \
%.go : %.scm .scm-links $(pkglib_LTLIBRARIES)
GNC_UNINSTALLED=yes \
GNC_BUILDDIR=${top_builddir} \
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
$(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash
@ -238,9 +234,9 @@ endif
endif
endif
iso-4217-currencies.c: iso-4217-currencies.scm iso-currencies-to-c
-chmod u+x ./iso-currencies-to-c
./iso-currencies-to-c "${srcdir}"
iso-4217-currencies.c: iso-4217-currencies.xml iso-currencies-to-c.xsl
$(XSLTPROC) -o $@ $(srcdir)/iso-currencies-to-c.xsl $<
BUILT_SOURCES = iso-4217-currencies.c

View File

@ -1355,7 +1355,6 @@ gncEntryRecomputeValues (GncEntry *entry)
/* Determine the commodity denominator */
denom = get_entry_commodity_denom (entry);
gncEntryBeginEdit (entry);
/* Compute the invoice values */
gncEntryComputeValue (entry->quantity, entry->i_price,
(entry->i_taxable ? entry->i_tax_table : NULL),
@ -1388,8 +1387,6 @@ gncEntryRecomputeValues (GncEntry *entry)
entry->b_tax_value_rounded = gnc_numeric_convert (entry->b_tax_value, denom,
GNC_HOW_RND_ROUND_HALF_UP);
entry->values_dirty = FALSE;
mark_entry (entry);
gncEntryCommitEdit (entry);
}
/* The "Int" functions below are for internal use only.

View File

@ -1,253 +0,0 @@
;; currency descriptions for ISO4217 currencies.
;;
;; This file is not currently used at runtime. It's used to generate
;; the contents of iso-4217-currencies.c.
;;
;; You can find Currency Information from the following sites:
;; http://www.evertype.com/standards/iso4217/iso4217-en.html
;; http://www.xe.com/iso4217.htm
;; http://www.thefinancials.com/vortex/CurrencyFormats.html
;; But currently used was
;; http://en.wikipedia.org/wiki/ISO4217 and relatives and the official at
;; http://www.iso.org/iso/support/faqs/faqs_widely_used_standards/widely_used_standards_other/currency_codes/currency_codes_list-1.htm
;;
;; Learned from some bugs (543061, 564450), please keep in mind:
;; If there are no coins for subunits, subunits might still be in use on the paper
;;
;; Format:
;; (fullname, unitname*, partname*, namespace, mnemonic, exchange-code, parts-per-unit*, smallest-fraction, local-symbol)
;; planed extensions: replace-date, by-ISO, frozen-rate [x old : 1 new]
;;
;; where * means currently unused;
;; fullname should be the same as in /usr/share/xml/iso-codes/iso_4217.xml from package iso-codes
;; exchange-code is stored in ISIN/CUSIP;
;; see iso-currencies-to-c for details and recent changes.
;; Sort order by ISO codes for simpler maintainance
;;
( "Andorran Franc" "franc" "centime" "ISO4217" "ADF" "950" 100 100 "₣" ) ;; 2002-01-01 "FRF" 1 ;; = 1/1 French Franc replaced by EUR
( "Andorran Peseta" "peseta" "centimo" "ISO4217" "ADP" "724" 100 100 "₧" ) ;; 2002-01-01 "ESP" 1 ;; = 1/1 Spanish Peseta replaced by EUR
( "UAE Dirham" "dirham" "fil" "ISO4217" "AED" "784" 100 100 "Dhs" ) ;; There is also an arabic symbol for "Dhs"
( "Afghani" "afghani" "pul" "ISO4217" "AFA" "004" 100 100 "" ) ;; through 2003-01-02 "AFN" 1000
( "Afghani" "afghani" "pul" "ISO4217" "AFN" "971" 1 1 "" )
( "Lek" "lek" "qindarka" "ISO4217" "ALL" "008" 100 100 "" )
( "Armenian Dram" "dram" "Luma" "ISO4217" "AMD" "051" 100 100 "դր." )
( "Netherlands Antillian Guilder" "guilder" "cent" "ISO4217" "ANG" "532" 100 100 "NAƒ" ) ;; through 2010-10 ???
( "Kwanza" "kwanza" "cêntimos" "ISO4217" "AOA" "973" 100 100 "Kz" )
( "Angola New Kwanza" "new kwanza" "lwei" "ISO4217" "AON" "024" 100 100 "" ) ;; 1995-07-01 "AOR" 1000
( "Angola Kwanza Reajustado" "reajustado kwanza" "centimos" "ISO4217" "AOR" "982" 100 100 "" ) ;; 2000-02-01 "AOA" 1000000
( "Argentine Austral" "austral" "centavo" "ISO4217" "ARA" "XXX" 100 100 "" ) ;; 1992-01-01 "ARS" 10000
( "Argentine Peso" "peso" "centavo" "ISO4217" "ARS" "032" 100 100 "" )
( "Austrian Schilling" "shilling" "groschen" "ISO4217" "ATS" "040" 100 100 "öS" ) ;; 2002-01-01 "EUR" 13.7603
( "Australian Dollar" "dollar" "cent" "ISO4217" "AUD" "036" 100 100 "$" )
( "Aruban Guilder" "florin" "cent" "ISO4217" "AWG" "533" 100 100 "Afl." ) ;; ""
( "Azerbaijanian Manat" "manat" "qəpik" "ISO4217" "AZM" "031" 100 100 "" ) ;; 2006-01-01 "AZN" 5000
( "Azerbaijanian Manat" "manat" "qəpik" "ISO4217" "AZN" "944" 100 100 "m" ) ;; "m" should be a 90° rotated € sign, but currently not encoded in Unicode
( "Bosnia and Herzegovina Dinar" "B.H. dinar" "para" "ISO4217" "BAD" "070" 100 100 "" ) ;; 1998-06-22 "BAM" 100 ;; there was a revaluation 1994-08: 10000:1
( "Convertible Marks" "B.H. mark" "fening" "ISO4217" "BAM" "977" 100 100 "KM" )
( "Barbados Dollar" "dollar" "cent" "ISO4217" "BBD" "052" 100 100 "Bds$" )
( "Taka" "taka" "paisa" "ISO4217" "BDT" "050" 100 100 "৳" )
( "Belgian Franc" "franc" "centime" "ISO4217" "BEF" "056" 100 100 "fr." ) ;; 2002-01-01 "EUR" 40.3399
( "Bulgarian Lev A/99" "lev" "stotinki" "ISO4217" "BGL" "100" 100 100 "" ) ;; 1999-07-05 "BGN" 1000
( "Bulgarian Lev" "lev" "stotinki" "ISO4217" "BGN" "975" 100 100 "лв" ) ;; scheduled replacement: 2012-01-01 "EUR" 1.95583 (=DEM)
( "Bahraini Dinar" "dinar" "fil" "ISO4217" "BHD" "048" 1000 1000 "BD" ) ;; ar:.د.ب
( "Burundi Franc" "franc" "centime" "ISO4217" "BIF" "108" 100 100 "FBu" )
( "Bermudian Dollar" "dollar" "cent" "ISO4217" "BMD" "060" 100 100 "BD$" )
( "Brunei Dollar" "dollar" "sen" "ISO4217" "BND" "096" 100 100 "B$" )
( "Boliviano" "boliviano" "centavo" "ISO4217" "BOB" "068" 100 100 "Bs." )
( "Mvdol" "mvdol" "centavo" "ISO4217" "BOV" "984" 100 100 "" ) ;; Mantenimiento de Valor respecto al Dólar
( "Brazilian Cruzeiro" "cruzeiro" "centavo" "ISO4217" "BRE" "076" 100 100 "" ) ;; 1993-08-01 "BRR" 1000
( "Brazilian Real" "real" "centavo" "ISO4217" "BRL" "986" 100 100 "R$" )
( "Brazilian Cruzeiro Real" "cruzeiro" "centavo" "ISO4217" "BRR" "987" 100 100 "" ) ;; 1994-07-01 "BRL" 2750
( "Bahamian Dollar" "dollar" "cent" "ISO4217" "BSD" "044" 100 100 "B$" )
( "Ngultrum" "ngultrum" "chetrum" "ISO4217" "BTN" "064" 100 100 "Nu." )
( "Pula" "pula" "thebe" "ISO4217" "BWP" "072" 100 100 "P" )
( "Belarussian Rouble" "ruble" "kapeyka" "ISO4217" "BYB" "" 100 1 "" ) ;; 2000-01-01 "BYR" 1000
( "Belarussian Ruble" "ruble" "ruble" "ISO4217" "BYR" "974" 1 100 "Br" )
( "Belize Dollar" "dollar" "cent" "ISO4217" "BZD" "084" 100 100 "BZ$" )
( "Canadian Dollar" "dollar" "cent" "ISO4217" "CAD" "124" 100 100 "C$" )
( "Franc Congolais" "franc" "centime" "ISO4217" "CDF" "976" 100 100 "FC" )
( "WIR Euro" "euro" "cent" "ISO4217" "CHE" "974" 100 100 "" ) ;; complementary currency by WIR Wirtschaftsring-Genossenschaft
( "Swiss Franc" "franc" "centime" "ISO4217" "CHF" "756" 100 100 "SFr." )
( "WIR Franc" "franc" "centime" "ISO4217" "CHW" "948" 100 100 "" ) ;; complementary currency by WIR Wirtschaftsring-Genossenschaft
( "Unidades de fomento" "UF" "" "ISO4217" "CLF" "990" 10000 10000 "" ) ;; international secured loans; decimals not defined but required for conversion as of 2011-03-18 1 CLF = 21,560.19 CLP
( "Chilean Peso" "peso" "centavo" "ISO4217" "CLP" "152" 100 1 "$" ) ;; "$" should have 2 strokes
( "Yuan Renminbi" "renminbi" "fen" "ISO4217" "CNY" "156" 100 100 "元" )
( "Colombian Peso" "peso" "centavo" "ISO4217" "COP" "170" 100 100 "$" )
( "Unidad de Valor Real" "UVR" "???" "ISO4217" "COU" "970" 100 100 "" ) ;;
( "Costa Rican Colon" "colon" "centimo" "ISO4217" "CRC" "188" 100 100 "₡" )
( "Cuban Peso" "peso" "centavo" "ISO4217" "CUP" "192" 100 100 "$MN" )
( "Cuban Convertible Peso" "peso" "centavo" "ISO4217" "CUC" "931" 100 100 "CUC$" )
( "Cape Verde Escudo" "escudo" "centavo" "ISO4217" "CVE" "132" 100 100 "Esc" )
( "Cyprus Pound" "pound" "pence" "ISO4217" "CYP" "196" 100 100 "£" ) ;; 2008-01-01 "EUR" 0.585274
( "Czech Koruna" "koruna" "haleru" "ISO4217" "CZK" "203" 100 100 "Kč" )
( "Deutsche Mark" "deutschemark" "pfennig" "ISO4217" "DEM" "280" 100 100 "DM" ) ;; 2002-01-01 "EUR" 1.95583
( "Djibouti Franc" "franc" "centime" "ISO4217" "DJF" "262" 100 1 "Fdj" )
( "Danish Krone" "krone" "øre" "ISO4217" "DKK" "208" 100 100 "kr" )
( "Dominican Peso" "peso" "centavo" "ISO4217" "DOP" "214" 100 100 "RD$" )
( "Algerian Dinar" "dinar" "santeem" "ISO4217" "DZD" "012" 100 100 "DA" ) ;; ar.: دج
( "Ecuador Sucre" "sucre" "centavo" "ISO4217" "ECS" "218" 100 100 "S/." ) ;; 2000-09-15 "USD" 25000
( "Kroon" "kroon" "sent" "ISO4217" "EEK" "233" 100 100 "kr" ) ;; 2011-01-01 "EUR" 15.6466
( "Egyptian Pound" "pound" "qirsh" "ISO4217" "EGP" "818" 100 100 "£E" ) ;; ar.:ج.م maleem=0.001 £E for accounting?
( "Nakfa" "nakfa" "cent" "ISO4217" "ERN" "232" 100 100 "Nfa" )
( "Spanish Peseta" "peseta" "centimo" "ISO4217" "ESP" "724" 100 100 "₧" ) ;; 2002-01-01 "EUR" 166.386
( "Ethiopian Birr" "birr" "santim" "ISO4217" "ETB" "230" 100 100 "Br" )
( "Euro" "euro" "euro-cent" "ISO4217" "EUR" "978" 100 100 "€" )
( "Finnish Markka" "markka" "penni" "ISO4217" "FIM" "246" 100 100 "mk" ) ;; 2002-01-01 "EUR" 5.94573
( "Fiji Dollar" "dollar" "cent" "ISO4217" "FJD" "242" 100 100 "FJ$" )
( "Falkland Islands Pound" "pound" "pence" "ISO4217" "FKP" "238" 100 100 "FK£" )
( "French Franc" "franc" "centime" "ISO4217" "FRF" "250" 100 100 "₣" ) ;; 2002-01-01 "EUR" 6.55957
( "Pound Sterling" "pound" "pence" "ISO4217" "GBP" "826" 100 100 "£" )
( "Lari" "lari" "tetri" "ISO4217" "GEL" "981" 100 100 "" )
( "Cedi" "cedi" "pesewa" "ISO4217" "GHC" "288" 100 100 "" ) ;; 2007-07-01 "GHS" 10000
( "Ghana Cedi" "cedi" "pesewa" "ISO4217" "GHS" "936" 100 100 "GH₵" )
( "Gibraltar Pound" "pound" "pence" "ISO4217" "GIP" "292" 100 100 "£" )
( "Dalasi" "dalasi" "butut" "ISO4217" "GMD" "270" 100 100 "D" )
( "Guinea Franc" "franc" "centime" "ISO4217" "GNF" "324" 100 100 "FG" )
( "Greek Drachma" "drachma" "lepta" "ISO4217" "GRD" "200" 100 100 "Δρ." ) ;; 2002-01-01 "EUR" 340.750
( "Quetzal" "quetzal" "centavo" "ISO4217" "GTQ" "320" 100 100 "Q" )
( "Guinea-Bissau Peso" "peso" "centavo" "ISO4217" "GWP" "624" 100 100"" ) ;; 1997-01-01 "XOF" 65
( "Guyana Dollar" "dollar" "cent" "ISO4217" "GYD" "328" 100 100 "G$" )
( "Hong Kong Dollar" "dollar" "cent" "ISO4217" "HKD" "344" 100 100 "HK$" )
( "Lempira" "lempira" "centavo" "ISO4217" "HNL" "340" 100 100 "L" )
( "Croatian Kuna" "kuna" "lipa" "ISO4217" "HRK" "191" 100 100 "kn" )
( "Gourde" "gourde" "centime" "ISO4217" "HTG" "332" 100 100 "G" )
( "Forint" "forint" "fillér" "ISO4217" "HUF" "348" 1 100 "Ft" )
( "Rupiah" "rupiah" "sen" "ISO4217" "IDR" "360" 1 100 "Rp" )
( "Irish Pound" "punt" "pingin" "ISO4217" "IEP" "372" 100 100 "£" ) ;; 2002-01-01 "EUR" 0.787564
( "New Israeli Sheqel" "new shekel" "agora" "ISO4217" "ILS" "376" 100 100 "₪" )
( "Indian Rupee" "rupee" "paisa" "ISO4217" "INR" "356" 100 100 "₹" )
( "Iraqi Dinar" "dinar" "fil" "ISO4217" "IQD" "368" 1000 1000 "ع.د" )
( "Iranian Rial" "rial" "dinar" "ISO4217" "IRR" "364" 1 1 "﷼﷼" )
( "Iceland Krona" "krona" "aur" "ISO4217" "ISK" "352" 1 100 "kr" )
( "Italian Lira" "lira" "lira" "ISO4217" "ITL" "380" 1 1 "₤" ) ;; 2002-01-01 "EUR" 1936.27
( "Jamaican Dollar" "dollar" "cent" "ISO4217" "JMD" "388" 100 100 "J$" )
( "Jordanian Dinar" "dinar" "fil" "ISO4217" "JOD" "400" 1000 1000 "JD" )
( "Yen" "yen" "sen" "ISO4217" "JPY" "392" 100 1 "¥" )
( "Kenyan Shilling" "shilling" "cent" "ISO4217" "KES" "404" 100 100 "Ksh" )
( "Som" "som" "tyiyn" "ISO4217" "KGS" "417" 100 100 "" )
( "Riel" "riel" "sen" "ISO4217" "KHR" "116" 100 100 "" )
( "Comoro Franc" "franc" "centime" "ISO4217" "KMF" "174" 100 1 "FC" )
( "North Korean Won" "won" "chon" "ISO4217" "KPW" "408" 100 100 "₩" )
( "Won" "won" "chon" "ISO4217" "KRW" "410" 1 100 "₩" )
( "Kuwaiti Dinar" "dinar" "fils" "ISO4217" "KWD" "414" 1000 1000 "د.ك" )
( "Cayman Islands Dollar" "dollar" "cent" "ISO4217" "KYD" "136" 100 100 "CI$" )
( "Tenge" "tenge" "tiyn" "ISO4217" "KZT" "398" 100 100 "₸" )
( "Kip" "kip" "att" "ISO4217" "LAK" "418" 100 100 "₭" )
( "Lebanese Pound" "pound" "piastre" "ISO4217" "LBP" "422" 100 100 "ل.ل" )
( "Sri Lanka Rupee" "rupee" "cent" "ISO4217" "LKR" "144" 100 100 "₨" )
( "Liberian Dollar" "dollar" "cent" "ISO4217" "LRD" "430" 100 100 "L$" )
( "Loti" "loti" "sente" "ISO4217" "LSL" "426" 100 100 "M" )
( "Lithuanian Litas" "litas" "centas" "ISO4217" "LTL" "440" 100 100 "Lt" )
( "Luxembourg Franc" "frang" "centime" "ISO4217" "LUF" "442" 100 100 "Flux" ) ;; 2002-01-01 "EUR" 40.3399
( "Latvian Lats" "lats" "santīms" "ISO4217" "LVL" "428" 100 100 "Ls" ) ;; Valid from 2. may 2009. till 31. december 2013, now "EUR" 0.702804
( "Libyan Dinar" "dinar" "dirham" "ISO4217" "LYD" "434" 1000 1000 "ل.د" )
( "Moroccan Dirham" "dirham" "centime" "ISO4217" "MAD" "504" 100 100 "د.م" )
( "Moldovan Leu" "leu" "ban" "ISO4217" "MDL" "498" 100 100 "" )
( "Malagasy Ariary" "ariary" "iraimbilanja" "ISO4217" "MGA" "969" 5 5 "" )
( "Malagasy Franc" "franc" "centime" "ISO4217" "MGF" "450" 500 500 "" ) ;; 2003-07-31 "MGA" 5
( "Denar" "denar" "deni" "ISO4217" "MKD" "807" 100 100 "ден" )
( "Mali Franc" "franc" "centime" "ISO4217" "MLF" "466" 100 100 "" ) ;; 1984-07-01 "XOF" 2
( "Kyat" "kyat" "pya" "ISO4217" "MMK" "104" 100 100 "K" )
( "Tugrik" "tugrik" "mongo" "ISO4217" "MNT" "496" 100 100 "₮" )
( "Pataca" "pataca" "avo" "ISO4217" "MOP" "446" 100 100 "MOP$" )
( "Ouguiya" "ouguiya" "khoum" "ISO4217" "MRO" "478" 5 5 "UM" )
( "Maltese Lira" "lira" "cent" "ISO4217" "MTL" "470" 100 100 "Lm" ) ;; 2008-01-01 "EUR" 0.4293
( "Mauritius Rupee" "rupee" "cent" "ISO4217" "MUR" "480" 100 100 "R" )
( "Rufiyaa" "rufiyaa" "laari" "ISO4217" "MVR" "462" 100 100 ".ރ" )
( "Kwacha" "kwacha" "tambala" "ISO4217" "MWK" "454" 100 100 "MK" )
( "Mexican Peso" "peso" "centavo" "ISO4217" "MXN" "484" 100 100 "Mex$" ) ;;since Jan 1993 (1000 MXP = 1 MXN)
( "Mexican Unidad de Inversion (UDI)" "UDI" "centavo" "ISO4217" "MXV" "979" 100 100 "" ) ;;fund index based; used for credits, not subject to inflation
( "Malaysian Ringgit" "ringgit" "sen" "ISO4217" "MYR" "458" 100 100 "RM" )
( "Mozambique Metical" "metical" "centavo" "ISO4217" "MZM" "508" 100 100 "" ) ;; 2006-07-01 "MZN" 1000
( "Metical" "metical" "centavo" "ISO4217" "MZN" "943" 100 100 "MTn" )
( "Namibia Dollar" "dollar" "cent" "ISO4217" "NAD" "516" 100 100 "N$" )
( "Naira" "naira" "kobo" "ISO4217" "NGN" "566" 100 100 "₦" )
( "Nicaraguan Cordoba" "cordoba" "centavo" "ISO4217" "NIC" "558" 100 100 "" ) ;; 1990-10-13 "NIO" 5000000
( "Cordoba Oro" "cordoba" "centavo" "ISO4217" "NIO" "558" 100 100 "C$" )
( "Netherlands Guilder" "guilder" "cent" "ISO4217" "NLG" "528" 100 100 "" ) ;; 2002-01-01 "EUR" 2.20371
( "Norwegian Krone" "krone" "ore" "ISO4217" "NOK" "578" 100 100 "kr" )
( "Nepalese Rupee" "rupee" "paise" "ISO4217" "NPR" "524" 100 100 "₨" )
( "New Zealand Dollar" "dollar" "cent" "ISO4217" "NZD" "554" 100 100 "NZ$" )
( "Rial Omani" "rial" "baisa" "ISO4217" "OMR" "512" 1000 1000 "ر.ع." )
( "Balboa" "balboa" "centésimo" "ISO4217" "PAB" "590" 100 100 "฿" )
( "Nuevo Sol" "nuevo sol" "centimo" "ISO4217" "PEN" "604" 100 100 "S/." )
( "Kina" "kina" "toea" "ISO4217" "PGK" "598" 100 100 "K" )
( "Philippine Peso" "peso" "centavo" "ISO4217" "PHP" "608" 100 100 "₱" )
( "Pakistan Rupee" "rupee" "paisa" "ISO4217" "PKR" "586" 100 100 "Rs" )
( "Zloty" "zloty" "grosz" "ISO4217" "PLN" "985" 100 100 "zł" )
( "Portuguese Escudo" "escudo" "centavo" "ISO4217" "PTE" "620" 100 100 "$" ) ;; 2002-01-01 "EUR" 200.482
( "Guarani" "guarani" "centimo" "ISO4217" "PYG" "600" 100 100 "₲" ) ;; scheduled revaluation 2011
( "Qatari Rial" "rial" "dirham" "ISO4217" "QAR" "634" 100 100 "ر.ق" )
( "Romanian Old Leu" "leu" "ban" "ISO4217" "ROL" "642" 100 100 "" ) ;; 2005-07-01 "RON" 10000
( "New Leu" "leu" "ban" "ISO4217" "RON" "946" 100 100 "" ) ;; scheduled 2012..14: EUR
( "Serbian Dinar" "dinar" "para" "ISO4217" "RSD" "941" 100 100 "" )
( "Russian Rouble" "rouble" "kopek" "ISO4217" "RUB" "643" 100 100 "руб" ) ;; RUR: 1998-01-1 "RUB" 1000; see bug #393185
( "Rwanda Franc" "franc" "centime" "ISO4217" "RWF" "646" 100 100 "RF" )
( "Saudi Riyal" "riyal" "halala" "ISO4217" "SAR" "682" 100 100 "ر.س" )
( "Solomon Islands Dollar" "dollar" "cent" "ISO4217" "SBD" "090" 100 100 "SI$" )
( "Seychelles Rupee" "rupee" "cent" "ISO4217" "SCR" "690" 100 100 "SR" )
( "Sudanese Dinar" "dinar" "piastre" "ISO4217" "SDD" "736" 100 100 "" ) ;; 2007-07-01 "SDG" 100, reunite with South
( "Sudanese Pound" "pound" "qirsh" "ISO4217" "SDG" "938" 100 100 "" )
( "Sudanese Pound" "pound" "piastre" "ISO4217" "SDP" "736" 100 100 "" ) ;; 1992-01-01 "SDD" 10, but only in the North
( "Swedish Krona" "krona" "ore" "ISO4217" "SEK" "752" 100 100 "kr" )
( "Singapore Dollar" "dollar" "cent" "ISO4217" "SGD" "702" 100 100 "S$" )
( "Saint Helena Pound" "pound" "penny" "ISO4217" "SHP" "654" 100 100 "£" )
( "Slovenian Tolar" "tolar" "stotin" "ISO4217" "SIT" "705" 100 100 "" ) ;; 2007-01-01 "EUR" 239.640
( "Slovak Koruna" "koruna" "halier" "ISO4217" "SKK" "703" 100 100 "" ) ;; 2009-01-01 "EUR" 30.126
( "Leone" "leone" "cent" "ISO4217" "SLL" "694" 100 100 "Le" )
( "Somali Shilling" "shilling" "centisimi" "ISO4217" "SOS" "706" 100 100 "SoSh" )
( "Surinam Dollar" "dollar" "cent" "ISO4217" "SRD" "968" 100 100 "$" )
( "Suriname Guilder" "guilder" "cent" "ISO4217" "SRG" "740" 100 100 "" ) ;; 2004-01-01 "SRD" 1000
( "Dobra" "dobra" "centimo" "ISO4217" "STD" "678" 100 100 "Db" )
( "El Salvador Colon" "colon" "centavo" "ISO4217" "SVC" "222" 100 100 "" ) ;; 2001-01-01 "USD" 8.75
( "Syrian Pound" "pound" "qirsh" "ISO4217" "SYP" "760" 100 100 "" )
( "Lilangeni" "lilangeni" "cent" "ISO4217" "SZL" "748" 100 100 "L" )
( "Baht" "baht" "satang" "ISO4217" "THB" "764" 100 100 "฿" )
( "Tajik Rouble" "ruble" "ruble" "ISO4217" "TJR" "762" 1 1 "" ) ;; 2002-11-01 "TJS" 1000
( "Somoni" "somoni" "diram" "ISO4217" "TJS" "972" 100 100 "" )
( "Manat" "manat" "tenga" "ISO4217" "TMM" "795" 100 100 "" ) ;; 2009-01-01 "TMT" 5000
( "Manat" "manat" "teňňe" "ISO4217" "TMT" "934" 100 100 "m" )
( "Tunisian Dinar" "dinar" "milim" "ISO4217" "TND" "788" 1000 1000 "د.ت" )
( "Pa'anga" "Pa'anga" "seniti" "ISO4217" "TOP" "776" 100 100 "T$" )
( "Turkish Lira" "lira" "kuruş" "ISO4217" "TRY" "949" 100 100 "₤" )
( "Trinidad and Tobago Dollar" "dollar" "cent" "ISO4217" "TTD" "780" 100 100 "TT$" )
( "New Taiwan Dollar" "dollar" "cent" "ISO4217" "TWD" "901" 100 100 "NT$" )
( "Tanzanian Shilling" "shilling" "senti" "ISO4217" "TZS" "834" 100 100 "/" )
( "Hryvnia" "hryvnia" "kopiyka" "ISO4217" "UAH" "980" 100 100 "₴" )
( "Uganda Shilling" "shilling" "cent" "ISO4217" "UGX" "800" 100 100 "USh" )
( "US Dollar" "dollar" "cent" "ISO4217" "USD" "840" 100 100 "$" )
( "US Dollar (Next day)" "dollar" "cent" "ISO4217" "USN" "997" 100 100 "$n" ) ;; funds code
( "US Dollar (Same day)" "dollar" "cent" "ISO4217" "USS" "998" 100 100 "$s" ) ;; funds code
( "Uruguay Peso en Unidades Indexadas" "UI" "centesimo" "ISO4217" "UYI" "940" 100 100 "UI" )
( "Peso Uruguayo" "peso" "centesimo" "ISO4217" "UYU" "858" 100 100 "$U" )
( "Uzbekistan Sum" "som" "tiyin" "ISO4217" "UZS" "860" 100 100 "som" )
( "Venezuela Bolívar" "bolivar" "centimo" "ISO4217" "VEB" "862" 100 100 "" ) ;; 2008-01-01 "VEF" 1000
( "Bolivar Fuerte" "bolivar" "centimo" "ISO4217" "VEF" "937" 100 100 "Bs." )
( "Dong" "đồng" "xu" "ISO4217" "VND" "704" 100 100 "₫" )
( "Vatu" "vatu" "centime" "ISO4217" "VUV" "548" 1 1 "Vt" )
( "Tala" "tala" "sene" "ISO4217" "WST" "882" 100 100 "WS$" )
( "Yemeni Rial" "riyal" "fils" "ISO4217" "YER" "886" 100 100 "Rl" )
( "Yugoslavian Dinar" "dinar" "para" "ISO4217" "YUM" "890" 100 100 "" ) ;; 2003 replaced by RSD 1
( "Rand" "rand" "cent" "ISO4217" "ZAR" "710" 100 100 "R" )
( "Kwacha (old)" "kwacha" "ngwee" "ISO4217" "ZMK" "894" 100 100 "ZK" ) ;; replaced by ZMW from 2013-01-01 onwards
( "Zambian Kwacha" "kwacha" "ngwee" "ISO4217" "ZMW" "967" 100 100 "ZK" ) ;; replaced ZMK from 2013-01-01 onwards
( "Zimbabwe Dollar" "dollar" "cent" "ISO4217" "ZWD" "716" 100 100 "" ) ;; 2006-08-01 "ZWN" 1000, 2008-08-01 "ZWR" 10000000000, 2009-02-01 "ZWD" 1000000000000
( "Zimbabwe Dollar" "dollar" "cent" "ISO4217" "ZWL" "716" 100 100 "Z.$" ) ;; 2009-04 suspended for at least 1 year
;; multinational
( "CFA Franc BEAC" "franc" "centime" "ISO4217" "XAF" "950" 1 100 "" ) ;; Banque des États de l'Afrique Centrale
;; XB* should be replaced by EUR, if I am right
( "East Caribbean Dollar" "dollar" "cent" "ISO4217" "XCD" "951" 100 100 "EC$" ) ;; Organisation of Eastern Caribbean States
( "SDR" "SDR" "SDR" "ISO4217" "XDR" "960" 1 1 "" ) ;; International Monetary Funds Special Drawing Rights
( "Gold-Franc" "franc" "centime" "ISO4217" "XFO" "nil" 1 100 "" ) ;; Bank for International Settlements
( "UIC-Franc" "franc" "centime" "ISO4217" "XFU" "nil" 1 100 "" ) ;; Union Internationale des Chemins de fer
( "CFA Franc BCEAO" "franc" "centime" "ISO4217" "XOF" "952" 1 100 "" ) ;; Banque Centrale des États de l'Afrique de l'Ouest
( "CFP Franc" "franc" "centime" "ISO4217" "XPF" "953" 1 100 "" ) ;; Communauté Financière du Pacifique
( "Code for testing purposes" "TEST" "test" "ISO4217" "XTS" "963" 1 1000000 "" ) ;; Code reserved for testing purposes
( "No currency" "" "" "ISO4217" "XXX" "999" 1 1000000 "" )
;; precious metals
( "Silver" "ounce" "ounce" "ISO4217" "XAG" "961" 1 1000000 "" )
( "Gold" "ounce" "ounce" "ISO4217" "XAU" "959" 1 1000000 "" )
( "Palladium" "ounce" "ounce" "ISO4217" "XPD" "964" 1 1000000 "" )
( "Platinum" "ounce" "ounce" "ISO4217" "XPT" "962" 1 1000000 "" )

File diff suppressed because it is too large Load Diff

View File

@ -1,99 +0,0 @@
#!/bin/sh
exec @GUILE@ -s $0 "$@"
!#
(if (< (length (command-line)) 2)
(begin
(display "Missing command line argument \"source directory\"")
(exit 1)))
(define *srcdir* (list-ref (command-line) 1))
(define *currency-file* (string-append *srcdir* "/" "iso-4217-currencies.scm"))
(define *c-file-name* "iso-4217-currencies.c")
(define (generate-currency-c-code form output-port)
;; Check for correct number of arguments
(if (and (list? form)
(eq? 9 (length form)))
;; Assign arguments
(let ((fullname (list-ref form 0))
(unitname (list-ref form 1))
(partname (list-ref form 2))
(namespace (list-ref form 3))
(mnemonic (list-ref form 4))
(exchange-code (list-ref form 5))
(parts-per-unit (list-ref form 6))
(smallest-fraction (list-ref form 7))
(local-symbol (list-ref form 8)))
;; Check for correct types of arguments
(if (and (string? fullname)
(string? unitname)
(string? partname)
(string? namespace)
(string? mnemonic)
(string? exchange-code)
(number? parts-per-unit)
(number? smallest-fraction)
(string? local-symbol))
;; And print the output line
(format
output-port "
{
const char *fullname = ~S;
gnc_commodity *c = gnc_commodity_new(book,
CUR_I18N(fullname),
~S,
~S,
~S,
~S);\n
if(!c) {
PWARN(\"failed to create commodity for currency %s\", fullname);
} else {
if(!gnc_commodity_table_insert(table, c)) {
PWARN(\"failed to insert %s into commodity table\", fullname);
}
}
gnc_commodity_set_default_symbol(c, ~S);
}\n"
fullname
namespace
mnemonic
exchange-code
smallest-fraction
local-symbol)
;; Sorry, code doubling of the error message, but whatever.
(begin
(display "Bad currency data (wrong column data) at line: ")
(display form)
(newline)
#f)))
(begin
(display "Bad currency data (wrong number of columns) at line: ")
(display form)
(newline)
#f)))
(define (generate-currencies-c-code)
(call-with-input-file *currency-file*
(lambda (input-port)
(call-with-output-file *c-file-name*
(lambda (output-port)
(let loop ((form (read input-port)))
(if (eof-object? form)
#t
(if (generate-currency-c-code form output-port)
(loop (read input-port))
#f))))))))
(if (not (generate-currencies-c-code))
(begin
(display "Unable to generate iso-4217 currency C code.\n")
(exit 1))
(exit 0))
;; Local Variables:
;; mode: scheme
;; End:

View File

@ -0,0 +1,58 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" encoding="UTF8"/>
<xsl:template match="/">
/********************************************************************\
* iso-4217-currencies.c -- list of currencies gnucash understands *
* *
* ATTENTION: this file is autogenerated based on *
* iso-4217-currencies.xml *
* *
* If you need any modifications in this file, please update the *
* xml source file (or the xsl translation file depending on the *
* kind of change required) instead. *
* *
* Copyright (C) 2015 Geert Janssens &lt;geert@kobaltwit.be&gt; *
* *
* 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, contact: *
* *
* Free Software Foundation Voice: +1-617-542-5942 *
* 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652 *
* Boston, MA 02110-1301, USA gnu@gnu.org *
* *
\********************************************************************/
<xsl:for-each select="//currency">
{
const char *fullname = "<xsl:value-of select="@fullname"/>";
gnc_commodity *c = gnc_commodity_new(book,
CUR_I18N(fullname),
"<xsl:value-of select="@namespace"/>",
"<xsl:value-of select="@isocode"/>",
"<xsl:value-of select="@exchange-code"/>",
<xsl:value-of select="@smallest-fraction"/>);
if(!c) {
PWARN("failed to create commodity for currency %s", fullname);
} else {
if(!gnc_commodity_table_insert(table, c)) {
PWARN("failed to insert %s into commodity table", fullname);
}
}
gnc_commodity_set_default_symbol(c, "<xsl:value-of select="@local-symbol"/>");
}
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

View File

@ -70,7 +70,7 @@ TESTS_ENVIRONMENT = \
GUILE="${GUILE}" \
SRCDIR=${srcdir} \
GNC_BUILDDIR="${abs_top_builddir}" \
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
$(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
check_PROGRAMS = ${TEST_GROUP_1} ${TEST_GROUP_2}

View File

@ -74,7 +74,7 @@ GUILE_COMPILE_ENV = \
%.go : %.scm .scm-links $(lib_LTLIBRARIES)
GNC_UNINSTALLED=yes \
GNC_BUILDDIR=${top_builddir} \
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
$(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash

View File

@ -49,7 +49,7 @@ GNC_TEST_DEPS = \
TESTS_ENVIRONMENT = \
GUILE_WARN_DEPRECATED=no \
GUILE="${GUILE}" \
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
$(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
check_PROGRAMS = \
test-load-c \

View File

@ -1,139 +0,0 @@
#!/bin/sh
exec @GUILE@ -s $0 "$@"
!#
;; Spit out the environment variable settings needed based on
;; arguments listing gnc-module-dirs, guile-load-dirs, and
;; library-dirs
(use-modules (srfi srfi-13) (srfi srfi-14)) ;; for string-tokenize
;; 'debug is deprecated and unused since guile 2
(cond-expand
(guile-2 )
(else
(debug-enable 'debug)))
(debug-enable 'backtrace)
(read-enable 'positions)
;; Are we on MS Windows here? If yes, make this a #t.
;; (utsname:sysname (uname)) wasn't available in my guile-1.6.7 on
;; mingw, so I don't know an automated way to do this so far.
(define is-windows?
(let ((ostype (getenv "OSTYPE")))
(and ostype
(string=? ostype "msys"))))
(define args (cdr (command-line)))
(define display-exports? #t)
(define gnc-module-dirs '())
(define guile-load-dirs '())
(define library-dirs '())
(define (usage-death)
(display "Usage: gnc-test-env [ --no-exports ]\n")
(display " [ (--gnc-module-dir dir | \n")
(display " --guile-load-dir dir | \n")
(display " --library-dir dir) ... ]\n")
(exit 1))
(define (process-args! args)
(let loop ((rest args))
(cond
((null? rest) #t)
((string=? "--gnc-module-dir" (car rest))
(set! gnc-module-dirs (cons (cadr rest) gnc-module-dirs))
(loop (cddr rest)))
((string=? "--guile-load-dir" (car rest))
(set! guile-load-dirs (cons (cadr rest) guile-load-dirs))
(loop (cddr rest)))
((string=? "--library-dir" (car rest))
(set! library-dirs (cons (cadr rest) library-dirs))
(loop (cddr rest)))
(else (usage-death))))
(set! gnc-module-dirs (reverse gnc-module-dirs))
(set! guile-load-dirs (reverse guile-load-dirs)))
;; The character set of everything except a directory separator as
;; necessary for string-tokenize below
(define char-set-path
(char-set-adjoin
(char-set-delete char-set:graphic #\/)
#\ ))
;; The directory separator string.
(define dir-separator-string
(if is-windows?
"\\\\" ;; Needs to be quoted twice because of additional shell quoting
"/"))
;; The path separator string; only needed for GUILE_LOAD_PATH
(define path-sep-str
(if is-windows?
";"
":"))
;; Adapt the directory separator character in the given PATH and
;; return the result.
(define (adapt-dirsep path)
(string-join
(string-tokenize path char-set-path)
dir-separator-string))
(if (and (not (null? args))
(string=? "--no-exports" (car args)))
(begin
(set! display-exports? #f)
(set! args (cdr args))))
(if (null? args) (exit 0))
(process-args! args)
(define (get-dir-adder env-name dir-list item-suffix separator)
(string-append env-name "=\""
(apply string-append
(map
(lambda (dir)
(string-append dir item-suffix separator))
dir-list))
"${" env-name "}\" "))
(display
(adapt-dirsep
(get-dir-adder "GNC_MODULE_PATH" gnc-module-dirs "/.libs" path-sep-str)))
(display
(adapt-dirsep
(get-dir-adder "GUILE_LOAD_PATH" guile-load-dirs "" path-sep-str)))
(display
(adapt-dirsep
(get-dir-adder "GUILE_LOAD_COMPILED_PATH" guile-load-dirs "" path-sep-str)))
(display
(adapt-dirsep
(get-dir-adder "LD_LIBRARY_PATH" library-dirs "/.libs" path-sep-str)))
(display
(adapt-dirsep
(get-dir-adder "DYLD_LIBRARY_PATH" library-dirs "/.libs" path-sep-str)))
(if is-windows?
(display
(get-dir-adder "PATH" library-dirs "/.libs" ":")))
(if display-exports?
(begin
(display "; ")
(display " export GNC_MODULE_PATH;")
(display " export GUILE_LOAD_PATH;")
(display " export GUILE_LOAD_COMPILED_PATH;")
(display " export LD_LIBRARY_PATH;")
(display " export DYLD_LIBRARY_PATH;")
(if is-windows?
(display " export PATH;"))))
;; Local Variables:
;; mode: scheme
;; End:

61
src/gnc-test-env.pl Executable file
View File

@ -0,0 +1,61 @@
#!/usr/bin/perl
# Spit out the environment variable settings needed based on
# arguments listing @gnc_module_dirs, @guile_load_dirs, and
# @library_dirs
use Getopt::Long;
my $define_exports=1;
my @gnc_module_dirs=();
my @guile_load_dirs=();
my @library_dirs=();
GetOptions ("exports!" => \$define_exports, # flag
"gnc-module-dir=s" => \@gnc_module_dirs, # arry of strings
"guile-load-dir=s" => \@guile_load_dirs, # arry of strings
"library-dir=s" => \@library_dirs, # arry of strings
"verbose" => \$verbose) # flag
or die(
"Usage: gnc-test-env.pl [ --exports | --noexports ]\n" .
" [ (--gnc-module-dir dir | --guile-load-dir dir | --library-dir dir) ... ]\n");
if ( $^O =~ /MSWin32/ ) {
$path_separator=";";
} else {
$path_separator=":";
}
sub print_env_var {
($env_name, $dir_suffix, $separator, @dir_list) = @_;
return if not @dir_list;
my @suffixed_dir_list = map {
my $dir = $_ . $dir_suffix;
if ( $^O =~ /MSWin32/ ) {
$dir =~ s!/!\\\\!g; } # Backslashes need to be escaped for the environment
$dir;
} @dir_list;
print $env_name . '="' .
join($separator, @suffixed_dir_list) .
$separator . '${' . $env_name . '}" ';
}
print_env_var "GNC_MODULE_PATH", "/.libs", $path_separator, @gnc_module_dirs;
print_env_var "GUILE_LOAD_PATH", "", $path_separator, @guile_load_dirs;
print_env_var "GUILE_LOAD_COMPILED_PATH", "", $path_separator, @guile_load_dirs;
print_env_var "LD_LIBRARY_PATH", "/.libs", $path_separator, @library_dirs;
print_env_var "DYLD_LIBRARY_PATH", "/.libs", $path_separator, @library_dirs;
if ( $^O =~ /MSWin32/ ) {
print_env_var "PATH", "/.libs", ":", @library_dirs;
}
if ($define_exports) {
print ";\n";
print "export GNC_MODULE_PATH;\n" if @gnc_module_dirs;
print "export GUILE_LOAD_PATH;\n" if @guile_load_dirs;
print "export GUILE_LOAD_COMPILED_PATH;\n" if @guile_load_dirs;
print "export LD_LIBRARY_PATH;\n" if @library_dirs;
print "export DYLD_LIBRARY_PATH;\n" if @library_dirs;
if ( $^O =~ /MSWin32/ ) {
print "export PATH;\n" if @library_dirs;
}
}

View File

@ -290,7 +290,7 @@ GUILE_COMPILE_ENV = \
%.go : %.scm .scm-links $(pkglib_LTLIBRARIES)
GNC_UNINSTALLED=yes \
GNC_BUILDDIR=${top_builddir} \
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
$(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash

View File

@ -261,7 +261,7 @@ _gdc_get_view_options(void)
static void
gnc_dense_cal_init(GncDenseCal *dcal)
{
gboolean colorAllocSuccess;
gboolean colorAllocSuccess[MAX_COLORS];
gtk_widget_push_composite_child();
@ -348,10 +348,14 @@ gnc_dense_cal_init(GncDenseCal *dcal)
gdk_color_parse(MONTH_THIS_COLOR, &dcal->weekColors[MONTH_THIS]);
gdk_color_parse(MONTH_THAT_COLOR, &dcal->weekColors[MONTH_THAT]);
/* success array must be as big as number of colors */
g_assert(MAX_COLORS == (sizeof(colorAllocSuccess)/sizeof(gboolean)));
if (gdk_colormap_alloc_colors(gdk_colormap_get_system(),
dcal->weekColors,
MAX_COLORS, TRUE, TRUE,
&colorAllocSuccess) > 0)
colorAllocSuccess) > 0)
{
g_error("error allocating colors");
}

View File

@ -32,7 +32,7 @@ TESTS_ENVIRONMENT = \
GUILE="${GUILE}" \
SRCDIR=${srcdir} \
GNC_BUILDDIR="${abs_top_builddir}" \
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
$(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
check_PROGRAMS = \
test-link-module test-gnc-recurrence

View File

@ -647,6 +647,8 @@ static gboolean trans_property_set (TransProperty* prop, char* str)
{
char *endptr, *possible_currency_symbol, *str_dupe;
gnc_numeric val;
int reti;
regex_t regex;
switch (prop->type)
{
case GNC_CSV_DATE:
@ -664,9 +666,11 @@ static gboolean trans_property_set (TransProperty* prop, char* str)
case GNC_CSV_DEPOSIT:
case GNC_CSV_WITHDRAWAL:
str_dupe = g_strdup (str); /* First, we make a copy so we can't mess up real data. */
/* If a cell is empty make its value = "0" */
if (strcmp (str_dupe, "") == 0)
{
/* If a cell is empty or just spaces make its value = "0" */
reti = regcomp(&regex, "[0-9]", 0);
reti = regexec(&regex, str_dupe, 0, NULL, 0);
if (reti == REG_NOMATCH)
{
g_free (str_dupe);
str_dupe = g_strdup ("0");
}

View File

@ -125,7 +125,7 @@ GUILE_COMPILE_ENV = \
%.go : %.scm .scm-links $(pkglib_LTLIBRARIES)
GNC_UNINSTALLED=yes \
GNC_BUILDDIR=${top_builddir} \
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
$(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash/import-export

View File

@ -41,7 +41,7 @@ GNC_TEST_DEPS = --gnc-module-dir ${top_builddir}/src/core-utils \
TESTS_ENVIRONMENT = \
GNC_TEST_FILES=${srcdir}/test-files \
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
$(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
check_PROGRAMS = \
test-link \

View File

@ -48,7 +48,7 @@ GNC_TEST_DEPS = --gnc-module-dir ${top_builddir}/src/engine \
TESTS_ENVIRONMENT = \
GUILE_WARN_DEPRECATED=no \
GNC_BUILDDIR="${abs_top_builddir}" \
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
$(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
check_PROGRAMS = \
test-link \

View File

@ -23,7 +23,7 @@ TESTS_ENVIRONMENT = \
PYTHONPATH=$$PYTHONPATH:$(top_builddir)/src/test-core/ \
PYTHONPATH=$$PYTHONPATH:$(top_srcdir)/src/test-core/ \
PYTHONPATH=$$PYTHONPATH:$(top_builddir)/src/test-core/.libs \
$(shell $(top_builddir)/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
$(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
## We borrow guile's convention and use @-...-@ as the substitution
## brackets below, instead of the usual @...@. This prevents autoconf

View File

@ -719,7 +719,6 @@ gnc_bi_import_create_bis (GtkListStore * store, QofBook * book,
{
gncEntrySetBillAccount (entry, acc);
gnc_exp_parser_parse (price, &value, NULL);
value = gnc_numeric_convert (value, denom, GNC_HOW_RND_NEVER);
gncEntrySetBillPrice (entry, value);
gncEntrySetBillTaxable (entry, text2bool (taxable));
gncEntrySetBillTaxIncluded (entry, text2bool (taxincluded));
@ -732,13 +731,11 @@ gnc_bi_import_create_bis (GtkListStore * store, QofBook * book,
gncEntrySetNotes (entry, notes);
gncEntrySetInvAccount (entry, acc);
gnc_exp_parser_parse (price, &value, NULL);
value = gnc_numeric_convert (value, denom, GNC_HOW_RND_NEVER);
gncEntrySetInvPrice (entry, value);
gncEntrySetInvTaxable (entry, text2bool (taxable));
gncEntrySetInvTaxIncluded (entry, text2bool (taxincluded));
gncEntrySetInvTaxTable (entry, gncTaxTableLookupByName (book, tax_table));
gnc_exp_parser_parse (discount, &value, NULL);
value = gnc_numeric_convert (value, denom, GNC_HOW_RND_NEVER);
gncEntrySetInvDiscount (entry, value);
gncEntrySetInvDiscountType (entry, text2disc_type (disc_type));
gncEntrySetInvDiscountHow (entry, text2disc_how (disc_how));

View File

@ -6,7 +6,7 @@ TESTS = \
#
#TESTS_ENVIRONMENT := \
# $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
# $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
check_PROGRAMS = \
test-link-module

View File

@ -6,7 +6,7 @@ TESTS = \
#
#TESTS_ENVIRONMENT := \
# $(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
# $(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
check_PROGRAMS = \
test-link-module

View File

@ -77,7 +77,7 @@ GUILE_COMPILE_ENV = \
%.go : %.scm .scm-links $(pkglib_LTLIBRARIES)
GNC_UNINSTALLED=yes \
GNC_BUILDDIR=${top_builddir} \
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
$(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash/report

View File

@ -81,7 +81,7 @@ GUILE_COMPILE_ENV = \
%.go : %.scm .scm-links $(pkglib_LTLIBRARIES)
GNC_UNINSTALLED=yes \
GNC_BUILDDIR=${top_builddir} \
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
$(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash/report

View File

@ -16,7 +16,7 @@ GNC_TEST_DEPS = --gnc-module-dir ${top_builddir}/src/engine \
TESTS_ENVIRONMENT = \
GUILE_WARN_DEPRECATED=no \
GUILE="${GUILE}" \
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
$(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
check_PROGRAMS = test-link-module

View File

@ -129,7 +129,7 @@ GUILE_COMPILE_ENV = \
%.go : %.scm .scm-links $(pkglib_LTLIBRARIES)
GNC_UNINSTALLED=yes \
GNC_BUILDDIR=${top_builddir} \
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
$(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash/report

View File

@ -57,7 +57,7 @@ TESTS_ENVIRONMENT = \
GUILE_WARN_DEPRECATED=no \
GUILE="${GUILE}" \
GNC_BUILDDIR="${abs_top_builddir}" \
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
$(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
check_PROGRAMS = test-link-module

View File

@ -134,7 +134,7 @@ GUILE_COMPILE_ENV = \
%.go : %.scm .scm-links $(pkglib_LTLIBRARIES)
GNC_UNINSTALLED=yes \
GNC_BUILDDIR=${top_builddir} \
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
$(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash/report

View File

@ -59,7 +59,7 @@ TESTS_ENVIRONMENT = \
GUILE_WARN_DEPRECATED=no \
GUILE="${GUILE}" \
GNC_BUILDDIR="${abs_top_builddir}" \
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
$(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
check_PROGRAMS = test-link-module

View File

@ -102,7 +102,7 @@ GUILE_COMPILE_ENV = \
%.go : %.scm .scm-links $(pkglib_LTLIBRARIES)
GNC_UNINSTALLED=yes \
GNC_BUILDDIR=${top_builddir} \
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
$(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash/report

View File

@ -50,7 +50,7 @@ TESTS_ENVIRONMENT = \
GUILE_WARN_DEPRECATED=no \
GUILE="${GUILE}" \
GNC_BUILDDIR="${abs_top_builddir}" \
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
$(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
SCM_TEST_HELPERS = \

View File

@ -90,7 +90,7 @@ GUILE_COMPILE_ENV = \
%.go : %.scm .scm-links $(pkglib_LTLIBRARIES)
GNC_UNINSTALLED=yes \
GNC_BUILDDIR=${top_builddir} \
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
$(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash/report

View File

@ -34,6 +34,6 @@ TESTS_ENVIRONMENT = \
GUILE_WARN_DEPRECATED=no \
GUILE="${GUILE}" \
GNC_BUILDDIR="${abs_top_builddir}" \
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
$(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
EXTRA_DIST = test-load-module

View File

@ -74,7 +74,7 @@ GUILE_COMPILE_ENV = \
%.go : %.scm .scm-links $(pkglib_LTLIBRARIES)
GNC_UNINSTALLED=yes \
GNC_BUILDDIR=${top_builddir} \
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
$(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash/report

View File

@ -30,6 +30,6 @@ TESTS_ENVIRONMENT = \
GUILE_WARN_DEPRECATED=no \
GUILE="${GUILE}" \
GNC_BUILDDIR="${abs_top_builddir}" \
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
$(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
EXTRA_DIST = test-load-module

View File

@ -51,7 +51,7 @@ GUILE_COMPILE_ENV = \
--library-dir ${top_builddir}/src/libqof/qof
%.go : %.scm .scm-links
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
$(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash

View File

@ -61,7 +61,7 @@ GUILE_COMPILE_ENV = \
%.go : %.scm .scm-links $(pkglib_LTLIBRARIES)
GNC_UNINSTALLED=yes \
GNC_BUILDDIR=${top_builddir} \
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
$(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash/tax

View File

@ -10,7 +10,7 @@ GNC_TEST_DEPS = \
TESTS_ENVIRONMENT = \
GUILE="${GUILE}" \
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GNC_TEST_DEPS})
$(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GNC_TEST_DEPS})
check_PROGRAMS=test-link-module
test_link_module_SOURCES=test-link-module.c

View File

@ -120,7 +120,7 @@ GUILE_COMPILE_ENV = \
%.go : %.scm .scm-links $(noinst_LTLIBRARIES)
GNC_UNINSTALLED=yes \
GNC_BUILDDIR=${top_builddir} \
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
$(shell ${abs_top_srcdir}/src/gnc-test-env.pl --noexports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash

71
util/guile.c Normal file
View File

@ -0,0 +1,71 @@
/* Copyright (C) 1996,1997,2000,2001, 2006, 2008 Free Software Foundation, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/* This is the 'main' function for the `guile' executable. It is not
included in libguile.a.
Eventually, we hope this file will be automatically generated,
based on the list of installed, statically linked libraries on the
system. For now, please don't put interesting code in here. */
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#ifdef __MINGW32__
# define SCM_IMPORT 1
#endif
#include <libguile.h>
#ifdef HAVE_CONFIG_H
#include <libguile/scmconfig.h>
#endif
#include <ltdl.h>
#ifdef HAVE_WINSOCK2_H
#include <winsock2.h>
#endif
static void
inner_main (void *closure SCM_UNUSED, int argc, char **argv)
{
#ifdef __MINGW32__
/* This is necessary to startup the Winsock API under Win32. */
WSADATA WSAData;
WSAStartup (0x0202, &WSAData);
#endif /* __MINGW32__ */
/* module initializations would go here */
scm_shell (argc, argv);
#ifdef __MINGW32__
WSACleanup ();
#endif /* __MINGW32__ */
}
int
main (int argc, char **argv)
{
scm_boot_guile (argc, argv, inner_main, 0);
return 0; /* never reached */
}
/*
Local Variables:
c-file-style: "gnu"
End:
*/