Pre-compile scm files when building with guile 2

With pre-compiled scm files, guile will no longer
resort to autocompilation at first startup. This avoids
bugs like downstream
https://bugzilla.redhat.com/show_bug.cgi?id=1151870
(Where autocompiled files for an older version of
gnucash are more recent than the source files installed
with the newer version)

Note that a new variable GUILE_LOAD_COMPILED_PATH is added
for this in the environment file. This variable should probably
be updated in the OSX and Windows build scrips if/when these
are building with guile 2.

Strictly speaking this new variable is only needed for guile 2.
However since guile 1.8 simply ignores the environment variable,
it's just set unconditionally regardless of the guile version
being active.
This commit is contained in:
Geert Janssens 2014-10-31 10:07:10 +01:00
parent 2a6fcf1cd5
commit 97f8f39dc6
33 changed files with 478 additions and 14 deletions

View File

@ -484,6 +484,7 @@ PKG_CHECK_MODULES(GUILE,
])
AM_CONDITIONAL(GNC_HAVE_GUILE_2, test "${gnc_have_guile_2}" = yes)
AC_SUBST(GUILE_EFFECTIVE_VERSION)
### --------------------------------------------------------------------------

View File

@ -202,6 +202,29 @@ if ! OS_WIN32
touch .scm-links
endif
if GNC_HAVE_GUILE_2
GUILE_COMPILE_ENV = \
--gnc-module-dir ${top_builddir}/src/engine \
--guile-load-dir ${top_builddir}/src/app-utils \
--guile-load-dir ${top_builddir}/src/core-utils \
--guile-load-dir ${top_builddir}/src/engine \
--guile-load-dir ${top_builddir}/src/gnc-module \
--guile-load-dir ${top_builddir}/src/scm \
--library-dir ${top_builddir}/src/app-utils \
--library-dir ${top_builddir}/src/core-utils \
--library-dir ${top_builddir}/src/gnc-module
%.go : %.scm .scm-links
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SHAREDIR}/guile-modules/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash
gncscmmodcache_DATA = $(gncscmmod_DATA:.scm=.go)
gncscmcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@
gncscmcache_DATA = $(gncscm_DATA:.scm=.go)
endif
clean-local:
rm -rf gnucash

View File

@ -16,6 +16,12 @@
;; Boston, MA 02110-1301, USA gnu@gnu.org
(define-module (gnucash app-utils))
(cond-expand
(guile-2
(eval-when
(compile load eval expand)
(load-extension "libgncmod-app-utils.so" "scm_init_sw_app_utils_module")))
(else ))
(use-modules (sw_app_utils))
(use-modules (srfi srfi-1))
(use-modules (gnucash main)) ;; FIXME: delete after we finish modularizing.

View File

@ -73,7 +73,8 @@ gnucash-valgrind: gnucash-valgrind.in ${top_builddir}/config.status Makefile
environment: environment.in ${top_builddir}/config.status Makefile
rm -f $@.tmp
sed < $< > $@.tmp \
-e '/@-NOTE.*-@/ D'
-e '/@-NOTE.*-@/ D' \
-e "s#@-GUILE_EFFECTIVE_VERSION-@#@GUILE_EFFECTIVE_VERSION@#g"
if CUSTOM_GNC_DBD_DIR
echo 'GNC_DBD_DIR=@GNC_DBD_DIR@' >> $@.tmp
endif

View File

@ -50,6 +50,7 @@ GUILE_WARN_DEPRECATED=no
# GUILE_LIBS can be used to override the path to Guile's own modules
# GUILE_LIBS=
GUILE_LOAD_PATH={GNC_DATA}/guile-modules;{GNC_DATA}/scm;{GUILE_LIBS};{GUILE_LOAD_PATH}
GUILE_LOAD_COMPILED_PATH={GNC_DATA}/guile-modules/ccache/@-GUILE_EFFECTIVE_VERSION-@;{GNC_DATA}/scm/ccache/@-GUILE_EFFECTIVE_VERSION-@;{GUILE_LIBS};{GUILE_LOAD_PATH}
# Tell Guile where to find GnuCash specific shared libraries
GNC_LIBRARY_PATH={SYS_LIB}

View File

@ -109,6 +109,35 @@ if ! OS_WIN32
touch .scm-links
endif
if GNC_HAVE_GUILE_2
GUILE_COMPILE_ENV = \
--gnc-module-dir ${top_builddir}/src/app-utils \
--gnc-module-dir ${top_builddir}/src/engine \
--gnc-module-dir ${top_builddir}/src/html \
--gnc-module-dir ${top_builddir}/src/gnome-utils \
--gnc-module-dir ${top_builddir}/src/report/report-system \
--gnc-module-dir ${top_builddir}/src/report/standard-reports \
--guile-load-dir ${top_builddir}/src/app-utils \
--guile-load-dir ${top_builddir}/src/core-utils \
--guile-load-dir ${top_builddir}/src/engine \
--guile-load-dir ${top_builddir}/src/gnc-module \
--guile-load-dir ${top_builddir}/src/gnome-utils \
--guile-load-dir ${top_builddir}/src/report/business-reports \
--guile-load-dir ${top_builddir}/src/report/report-system \
--guile-load-dir ${top_builddir}/src/report/standard-reports \
--guile-load-dir ${top_builddir}/src/scm \
--library-dir ${top_builddir}/src/app-utils \
--library-dir ${top_builddir}/src/core-utils \
--library-dir ${top_builddir}/src/gnc-module
%.go : %.scm .scm-links
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SHAREDIR}/guile-modules/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash
gncscmmodcache_DATA = $(gncscmmod_DATA:.scm=.go)
endif
noinst_DATA = .scm-links
clean-local:
rm -rf gnucash

View File

@ -112,6 +112,18 @@ if ! OS_WIN32
touch .scm-links
endif
if GNC_HAVE_GUILE_2
GUILE_COMPILE_ENV = \
--library-dir ${top_builddir}/src/core-utils
%.go : %.scm .scm-links
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SHAREDIR}/guile-modules/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash
gncscmmodcache_DATA = $(gncscmmod_DATA:.scm=.go)
endif
noinst_DATA = .scm-links
BUILT_SOURCES = gncla-dir.h gnc-version.h
EXTRA_DIST = $(gncscmmod_DATA) core-utils.i gncla-dir.h.in gnc-scm-info.h

View File

@ -12,9 +12,9 @@
(guile-2
(eval-when
(compile load eval expand)
(load-extension "libgnc-core-utils" "scm_init_sw_core_utils_module")))
(load-extension "libgnc-core-utils.so" "scm_init_sw_core_utils_module")))
(else
(load-extension "libgnc-core-utils" "scm_init_sw_core_utils_module")))
(load-extension "libgnc-core-utils.so" "scm_init_sw_core_utils_module")))
(use-modules (sw_core_utils))

View File

@ -190,6 +190,23 @@ if ! OS_WIN32
touch .scm-links
endif
if GNC_HAVE_GUILE_2
GUILE_COMPILE_ENV = \
--guile-load-dir ${top_builddir}/src/gnc-module \
--library-dir ${top_builddir}/src/engine \
--library-dir ${top_builddir}/src/gnc-module
%.go : %.scm .scm-links
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SHAREDIR}/guile-modules/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash
gncscmmodcache_DATA = $(gncscmmod_DATA:.scm=.go)
gncscmcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@
gncscmcache_DATA = $(gncscm_DATA:.scm=.go)
endif
noinst_DATA = .scm-links
if BUILDING_FROM_SCM

View File

@ -1,5 +1,11 @@
(define-module (gnucash engine))
(cond-expand
(guile-2
(eval-when
(compile load eval expand)
(load-extension "libgncmod-engine.so" "scm_init_sw_engine_module")))
(else ))
(use-modules (sw_engine))
(export GNC-RND-FLOOR)

View File

@ -65,6 +65,18 @@ if ! OS_WIN32
touch .scm-links
endif
if GNC_HAVE_GUILE_2
GUILE_COMPILE_ENV = \
--library-dir ${top_builddir}/src/gnc-module
%.go : %.scm .scm-links
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SHAREDIR}/guile-modules/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash
gncscmmodcache_DATA = $(gncscmmod_DATA:.scm=.go)
endif
clean-local:
rm -rf gnucash

View File

@ -13,9 +13,9 @@
(guile-2
(eval-when
(compile load eval expand)
(load-extension "libgnc-module" "scm_init_sw_gnc_module_module")))
(load-extension "libgnc-module.so" "scm_init_sw_gnc_module_module")))
(else
(load-extension "libgnc-module" "scm_init_sw_gnc_module_module")))
(load-extension "libgnc-module.so" "scm_init_sw_gnc_module_module")))
(use-modules (sw_gnc_module))

View File

@ -107,6 +107,10 @@ exec @GUILE@ -s $0 "$@"
(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)))
@ -124,6 +128,7 @@ exec @GUILE@ -s $0 "$@"
(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?

View File

@ -274,6 +274,26 @@ if ! OS_WIN32
touch .scm-links
endif
if GNC_HAVE_GUILE_2
GUILE_COMPILE_ENV = \
--guile-load-dir ${top_builddir}/src/core-utils \
--guile-load-dir ${top_builddir}/src/gnc-module \
--guile-load-dir ${top_builddir}/src/scm \
--library-dir ${top_builddir}/src/core-utils \
--library-dir ${top_builddir}/src/gnc-module \
--library-dir ${top_builddir}/src/gnome-utils
%.go : %.scm .scm-links
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SHAREDIR}/guile-modules/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash
gncscmmodcache_DATA = $(gncscmmod_DATA:.scm=.go)
gncscmcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@
gncscmcache_DATA = $(gncscm_DATA:.scm=.go)
endif
noinst_DATA = .scm-links
clean-local:
rm -rf gnucash

View File

@ -3,6 +3,12 @@
(use-modules (gnucash main)) ;; FIXME: delete after we finish modularizing.
(use-modules (gnucash gnc-module))
(cond-expand
(guile-2
(eval-when
(compile load eval expand)
(load-extension "libgncmod-gnome-utils.so" "scm_init_sw_gnome_utils_module")))
(else ))
(use-modules (sw_gnome_utils))
(gnc:module-load "gnucash/app-utils" 0)

View File

@ -99,6 +99,26 @@ if ! OS_WIN32
touch .scm-links
endif
if GNC_HAVE_GUILE_2
GUILE_COMPILE_ENV = \
--guile-load-dir ${top_builddir}/src/core-utils \
--guile-load-dir ${top_builddir}/src/gnc-module \
--guile-load-dir ${top_builddir}/src/scm \
--library-dir ${top_builddir}/src/core-utils \
--library-dir ${top_builddir}/src/gnome \
--library-dir ${top_builddir}/src/gnc-module
%.go : %.scm .scm-links
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SHAREDIR}/guile-modules/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash/import-export
gncscmmodcache_DATA = $(gncscmmod_DATA:.scm=.go)
gncscmcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/qif-import
gncscmcache_DATA = $(gncscm_DATA:.scm=.go)
endif
clean-local:
$(RM) -rf gnucash qif-import

View File

@ -1,24 +1,31 @@
gncscmmoddir = ${GNC_SHAREDIR}/guile-modules/gnucash/report
gncscmmod_DATA = \
aging.scm \
business-reports.scm \
customer-summary.scm \
easy-invoice.scm \
fancy-invoice.scm \
taxinvoice.scm \
taxinvoice.eguile.scm \
taxinvoice.css \
invoice.scm \
job-report.scm \
owner-report.scm \
payables.scm \
receivables.scm \
balsheet-eg.scm \
business-reports.scm
# Note: list these files separately because they can't be compiled by guile2
# templates are a mixture of scheme and hmtl
# css files are not scheme at all
gncscmtpldir = ${GNC_SHAREDIR}/guile-modules/gnucash/report
gncscmtpl_DATA = \
taxinvoice.eguile.scm \
taxinvoice.css \
balsheet-eg.css \
balsheet-eg.eguile.scm \
balsheet-eg.scm
balsheet-eg.eguile.scm
if GNUCASH_SEPARATE_BUILDDIR
SCM_FILE_LINKS = ${gncscmmod_DATA}
SCM_FILE_LINKS = ${gncscmmod_DATA} \
${gncscmtpl_DATA}
endif
.scm-links:
@ -36,13 +43,41 @@ if ! OS_WIN32
touch .scm-links
endif
if GNC_HAVE_GUILE_2
GUILE_COMPILE_ENV = \
--gnc-module-dir ${top_builddir}/src/app-utils \
--gnc-module-dir ${top_builddir}/src/engine \
--gnc-module-dir ${top_builddir}/src/gnome-utils \
--gnc-module-dir ${top_builddir}/src/html \
--gnc-module-dir ${top_builddir}/src/report/report-system \
--guile-load-dir ${top_builddir}/src/app-utils \
--guile-load-dir ${top_builddir}/src/core-utils \
--guile-load-dir ${top_builddir}/src/engine \
--guile-load-dir ${top_builddir}/src/gnc-module \
--guile-load-dir ${top_builddir}/src/gnome-utils \
--guile-load-dir ${top_builddir}/src/report/report-system \
--guile-load-dir ${top_builddir}/src/report/standard-reports \
--guile-load-dir ${top_builddir}/src/scm \
--library-dir ${top_builddir}/src/app-utils \
--library-dir ${top_builddir}/src/core-utils \
--library-dir ${top_builddir}/src/gnc-module
%.go : %.scm .scm-links
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SHAREDIR}/guile-modules/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash/report
gncscmmodcache_DATA = $(gncscmmod_DATA:.scm=.go)
endif
clean-local:
$(RM) -rf gnucash
noinst_DATA = .scm-links
EXTRA_DIST = \
${gncscmmod_DATA}
${gncscmmod_DATA} \
${gncscmtpl_DATA}
CLEANFILES = .scm-links
DISTCLEANFILES = ${SCM_FILE_LINKS}

View File

@ -51,6 +51,38 @@ if ! OS_WIN32
touch .scm-links
endif
if GNC_HAVE_GUILE_2
GUILE_COMPILE_ENV = \
--gnc-module-dir ${top_builddir}/src/app-utils \
--gnc-module-dir ${top_builddir}/src/engine \
--gnc-module-dir ${top_builddir}/src/gnome-utils \
--gnc-module-dir ${top_builddir}/src/html \
--gnc-module-dir ${top_builddir}/src/report/report-system \
--gnc-module-dir ${top_builddir}/src/tax/us \
--guile-load-dir ${top_builddir}/src/app-utils \
--guile-load-dir ${top_builddir}/src/core-utils \
--guile-load-dir ${top_builddir}/src/engine \
--guile-load-dir ${top_builddir}/src/gnc-module \
--guile-load-dir ${top_builddir}/src/gnome-utils \
--guile-load-dir ${top_builddir}/src/report/report-system \
--guile-load-dir ${top_builddir}/src/scm \
--guile-load-dir ${top_builddir}/src/tax/us \
--library-dir ${top_builddir}/src/app-utils \
--library-dir ${top_builddir}/src/core-utils \
--library-dir ${top_builddir}/src/gnc-module \
--library-dir ${top_builddir}/src/gnome-utils
%.go : %.scm .scm-links
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SHAREDIR}/guile-modules/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash/report
gncscmmodcache_DATA = $(gncscmmod_DATA:.scm=.go)
gncscmrptcachedir = ${GNC_SHAREDIR}/guile-modules/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash/report/locale-specific
gncscmrptcache_DATA = $(gncscmrpt_DATA:.scm=.go)
endif
clean-local:
$(RM) -rf gnucash

View File

@ -77,6 +77,13 @@
(use-modules (srfi srfi-1))
(use-modules (gnucash gnc-module))
(use-modules (gnucash gettext))
(cond-expand
(guile-2
(eval-when
(compile load eval expand)
(load-extension "libgncmod-gnome-utils.so" "scm_init_sw_gnome_utils_module")))
(else ))
(use-modules (sw_gnome_utils)) ;; to get to gnc-error-dialog
(use-modules (gnucash printf))

View File

@ -104,6 +104,30 @@ if ! OS_WIN32
touch .scm-links
endif
if GNC_HAVE_GUILE_2
GUILE_COMPILE_ENV = \
--gnc-module-dir ${top_builddir}/src/app-utils \
--gnc-module-dir ${top_builddir}/src/engine \
--guile-load-dir ${top_builddir}/src/app-utils \
--guile-load-dir ${top_builddir}/src/core-utils \
--guile-load-dir ${top_builddir}/src/engine \
--guile-load-dir ${top_builddir}/src/gnc-module \
--guile-load-dir ${top_builddir}/src/gnome-utils \
--guile-load-dir ${top_builddir}/src/scm \
--library-dir ${top_builddir}/src/app-utils \
--library-dir ${top_builddir}/src/core-utils \
--library-dir ${top_builddir}/src/gnc-module \
--library-dir ${top_builddir}/src/gnome-utils \
--library-dir ${top_builddir}/src/report/report-gnome
%.go : %.scm .scm-links
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SHAREDIR}/guile-modules/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash/report
gncscmmodcache_DATA = $(gncscmmod_DATA:.scm=.go)
endif
clean-local:
rm -rf gnucash

View File

@ -13,6 +13,13 @@
(use-modules (gnucash printf))
(cond-expand
(guile-2
(eval-when
(compile load eval expand)
(load-extension "libgncmod-gnome-utils.so" "scm_init_sw_gnome_utils_module")
(load-extension "libgncmod-report-gnome.so" "scm_init_sw_report_gnome_module")))
(else ))
(use-modules (sw_report_gnome))
(gnc:module-load "gnucash/gnome-utils" 0)

View File

@ -68,7 +68,6 @@ gncscm_DATA = \
report.scm
gncmodscmdir = ${GNC_SHAREDIR}/guile-modules/gnucash/report/report-system
gncmodscm_DATA = \
collectors.scm \
list-extras.scm \
@ -108,6 +107,38 @@ if ! OS_WIN32
touch .scm-links
endif
if GNC_HAVE_GUILE_2
GUILE_COMPILE_ENV = \
--gnc-module-dir ${top_builddir}/src/app-utils \
--gnc-module-dir ${top_builddir}/src/engine \
--gnc-module-dir ${top_builddir}/src/html \
--gnc-module-dir ${top_builddir}/src/gnome-utils \
--gnc-module-dir ${top_builddir}/src/report/report-system \
--guile-load-dir ${top_builddir}/src/app-utils \
--guile-load-dir ${top_builddir}/src/core-utils \
--guile-load-dir ${top_builddir}/src/engine \
--guile-load-dir ${top_builddir}/src/gnc-module \
--guile-load-dir ${top_builddir}/src/gnome-utils \
--guile-load-dir ${top_builddir}/src/scm \
--library-dir ${top_builddir}/src/app-utils \
--library-dir ${top_builddir}/src/core-utils \
--library-dir ${top_builddir}/src/gnc-module \
--library-dir ${top_builddir}/src/report/report-system
%.go : %.scm .scm-links
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SHAREDIR}/guile-modules/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash/report
gncscmmodcache_DATA = $(gncscmmod_DATA:.scm=.go)
gncmodscmcachedir = ${GNC_SHAREDIR}/guile-modules/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash/report/report-system
gncmodscmcache_DATA = $(gncmodscm_DATA:.scm=.go)
gncscmcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@
gncscmcache_DATA = $(gncscm_DATA:.scm=.go)
endif
noinst_DATA = .scm-links
EXTRA_DIST = report-system.i ${gncscmmod_DATA} ${gncscm_DATA} ${gncmodscm_DATA}

View File

@ -23,6 +23,12 @@
(use-modules (gnucash main))
(use-modules (gnucash printf))
(use-modules (gnucash gettext))
(cond-expand
(guile-2
(eval-when
(compile load eval expand)
(load-extension "libgncmod-report-system.so" "scm_init_sw_report_system_module")))
(else ))
(use-modules (sw_report_system))
;; Terminology in this file:

View File

@ -74,6 +74,36 @@ if ! OS_WIN32
touch .scm-links
endif
if GNC_HAVE_GUILE_2
GUILE_COMPILE_ENV = \
--gnc-module-dir ${top_builddir}/src/app-utils \
--gnc-module-dir ${top_builddir}/src/engine \
--gnc-module-dir ${top_builddir}/src/gnome-utils \
--gnc-module-dir ${top_builddir}/src/html \
--gnc-module-dir ${top_builddir}/src/report/report-system \
--guile-load-dir ${top_builddir}/src/app-utils \
--guile-load-dir ${top_builddir}/src/core-utils \
--guile-load-dir ${top_builddir}/src/engine \
--guile-load-dir ${top_builddir}/src/gnc-module \
--guile-load-dir ${top_builddir}/src/gnome-utils \
--guile-load-dir ${top_builddir}/src/report/report-system \
--guile-load-dir ${top_builddir}/src/scm \
--library-dir ${top_builddir}/src/app-utils \
--library-dir ${top_builddir}/src/core-utils \
--library-dir ${top_builddir}/src/gnc-module \
--library-dir ${top_builddir}/src/report/report-system
%.go : %.scm .scm-links
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SHAREDIR}/guile-modules/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash/report
gncscmmodcache_DATA = $(gncscmmod_DATA:.scm=.go)
gncscmrptcachedir = ${GNC_SHAREDIR}/guile-modules/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash/report/standard-reports
gncscmrptcache_DATA = $(gncscmrpt_DATA:.scm=.go)
endif
clean-local:
$(RM) -rf gnucash

View File

@ -61,6 +61,33 @@ if ! OS_WIN32
touch .scm-links
endif
if GNC_HAVE_GUILE_2
GUILE_COMPILE_ENV = \
--gnc-module-dir ${top_builddir}/src/app-utils \
--gnc-module-dir ${top_builddir}/src/engine \
--gnc-module-dir ${top_builddir}/src/html \
--gnc-module-dir ${top_builddir}/src/gnome-utils \
--gnc-module-dir ${top_builddir}/src/report/report-system \
--guile-load-dir ${top_builddir}/src/app-utils \
--guile-load-dir ${top_builddir}/src/core-utils \
--guile-load-dir ${top_builddir}/src/engine \
--guile-load-dir ${top_builddir}/src/gnc-module \
--guile-load-dir ${top_builddir}/src/gnome-utils \
--guile-load-dir ${top_builddir}/src/report/report-system \
--guile-load-dir ${top_builddir}/src/scm \
--library-dir ${top_builddir}/src/app-utils \
--library-dir ${top_builddir}/src/core-utils \
--library-dir ${top_builddir}/src/gnc-module \
--library-dir ${top_builddir}/src/gnome-utils
%.go : %.scm .scm-links
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SHAREDIR}/guile-modules/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash/report
gncscmmodcache_DATA = $(gncscmmod_DATA:.scm=.go)
endif
clean-local:
$(RM) -rf gnucash

View File

@ -46,6 +46,31 @@ if ! OS_WIN32
touch .scm-links
endif
if GNC_HAVE_GUILE_2
GUILE_COMPILE_ENV = \
--gnc-module-dir ${top_builddir}/src/app-utils \
--gnc-module-dir ${top_builddir}/src/engine \
--gnc-module-dir ${top_builddir}/src/html \
--gnc-module-dir ${top_builddir}/src/report/report-system \
--guile-load-dir ${top_builddir}/src/app-utils \
--guile-load-dir ${top_builddir}/src/core-utils \
--guile-load-dir ${top_builddir}/src/engine \
--guile-load-dir ${top_builddir}/src/gnc-module \
--guile-load-dir ${top_builddir}/src/report/report-system \
--guile-load-dir ${top_builddir}/src/scm \
--library-dir ${top_builddir}/src/app-utils \
--library-dir ${top_builddir}/src/core-utils \
--library-dir ${top_builddir}/src/gnc-module \
--library-dir ${top_builddir}/src/report/report-system
%.go : %.scm .scm-links
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SHAREDIR}/guile-modules/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash/report
gncscmmodcache_DATA = $(gncscmmod_DATA:.scm=.go)
endif
clean-local:
$(RM) -rf gnucash

View File

@ -30,6 +30,12 @@
(use-modules (gnucash main)) ;; FIXME: delete after we finish modularizing.
(use-modules (gnucash gnc-module))
(use-modules (gnucash gettext))
(cond-expand
(guile-2
(eval-when
(compile load eval expand)
(load-extension "libgncmod-report-system.so" "scm_init_sw_report_system_module")))
(else ))
(use-modules (sw_report_system))
(use-modules (gnucash printf))

View File

@ -27,6 +27,12 @@
(use-modules (gnucash core-utils)) ; for gnc:version
(use-modules (gnucash gettext))
(use-modules (gnucash gnc-module))
(cond-expand
(guile-2
(eval-when
(compile load eval expand)
(load-extension "libgncmod-report-system.so" "scm_init_sw_report_system_module")))
(else ))
(use-modules (sw_report_system))
(gnc:module-load "gnucash/report/report-system" 0)

View File

@ -41,6 +41,25 @@ if ! OS_WIN32
touch .scm-links
endif
if GNC_HAVE_GUILE_2
GUILE_COMPILE_ENV = \
--guile-load-dir ${top_builddir}/src/core-utils \
--guile-load-dir ${top_builddir}/src/gnc-module \
--guile-load-dir ${top_builddir}/src/scm \
--library-dir ${top_builddir}/src/core-utils \
--library-dir ${top_builddir}/src/gnc-module
%.go : %.scm .scm-links
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SHAREDIR}/guile-modules/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash
gncscmmodcache_DATA = $(gncscmmod_DATA:.scm=.go)
gncscmcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@
gncscmcache_DATA = $(gncscm_DATA:.scm=.go)
endif
clean-local:
$(RM) -rf gnucash

View File

@ -19,6 +19,15 @@ if ! OS_WIN32
touch .scm-links
endif
if GNC_HAVE_GUILE_2
%.go : %.scm .scm-links
$(GUILD) compile \
-o $@ $<
gncscmcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@/gnumeric
gncscmcache_DATA = $(gncscm_DATA:.scm=.go)
endif
noinst_DATA = .scm-links
EXTRA_DIST = \

View File

@ -44,6 +44,29 @@ if ! OS_WIN32
touch .scm-links
endif
if GNC_HAVE_GUILE_2
GUILE_COMPILE_ENV = \
--gnc-module-dir ${top_builddir}/src/engine \
--guile-load-dir ${top_builddir}/src/app-utils \
--guile-load-dir ${top_builddir}/src/core-utils \
--guile-load-dir ${top_builddir}/src/engine \
--guile-load-dir ${top_builddir}/src/gnc-module \
--guile-load-dir ${top_builddir}/src/scm \
--library-dir ${top_builddir}/src/app-utils \
--library-dir ${top_builddir}/src/core-utils \
--library-dir ${top_builddir}/src/gnc-module
%.go : %.scm .scm-links
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SHAREDIR}/guile-modules/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash/tax
gncscmmodcache_DATA = $(gncscmmod_DATA:.scm=.go)
gncscmcachedir = ${GNC_SCM_INSTALL_DIR}/ccache/@GUILE_EFFECTIVE_VERSION@
gncscmcache_DATA = $(gncscm_DATA:.scm=.go)
endif
clean-local:
$(RM) -rf gnucash

View File

@ -97,6 +97,18 @@ if ! OS_WIN32
touch .scm-links
endif
if GNC_HAVE_GUILE_2
GUILE_COMPILE_ENV = \
--library-dir ${top_builddir}/src/test-core
%.go : %.scm .scm-links
$(shell ${top_builddir}/src/gnc-test-env --no-exports ${GUILE_COMPILE_ENV}) \
$(GUILD) compile -o $@ $<
gncscmmodcachedir = ${GNC_SHAREDIR}/guile-modules/ccache/@GUILE_EFFECTIVE_VERSION@/gnucash
gncscmmodcache_DATA = $(gncscmmod_DATA:.scm=.go)
endif
clean-local:
$(RM) -rf gnucash

View File

@ -1,5 +1,11 @@
(define-module (gnucash unittest-support))
(load-extension "libtest-core-guile" "scm_init_unittest_support_module")
(cond-expand
(guile-2
(eval-when
(compile load eval expand)
(load-extension "libtest-core-guile.so" "scm_init_unittest_support_module")))
(else
(load-extension "libtest-core-guile.so" "scm_init_unittest_support_module")))
(use-modules (unittest_support))
(re-export TestErrorStruct-log-level-set)