1. Tell the engine to look in the build dir for the backend modules
Guile compilation loads the engine libraries for
some guile modules. This triggers the engine
initialization code which tries to load the xml backend module
and optionally the dbi module as well.
By default it looks for these modules in the installed directory
but during build they are not installed yet, so use a few
environment variables to tell the engine to look in the build
dir instead.
2. Wait for the c library to be linked before attempting to
compile the guile files. Some guile files need the library
to be available.
Note that neither fix is necessary for all directories that has
scheme files to compile. For consistency between makefiles, I have
chosen to add them to all, which won't hurt.
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.
- fix circular dependency between business-reports.scm and owner-report.scm
- split out gettext routines to properly handle N_ for all files that use it
- remove some unused module inclusions
- tax module depends on app-utils -> fix build order
The '.scm' extension prevents loading of a precompiled
version of the file from the %load-compiled-path and
will always trigger an autocompilation instead. Omitting
the extension properly allows the function to load a
precompiled version if it exists and is more recent than
the source file. This is only relevant for guile 2 but
works ok for guile 1.8 as well so it's changed unconditionally.
The bare percent sign in this string messes with po translation
files and causes difficulties compiling without backslashes and
other pain. Cleans up the English by using real words.
The formatting code was removed with the introduction
of the zoom cursor. It continued to display
poorly formatted information though which is now fixed again
The root account is created during DB load if it doesn't already exist.
The DB wasn't saving it because it wasn't marked dirty and because
the loading flag was set, so temprarily unset the loading flag when
creating the book.
Bodo, Konkani, Hindi, Kashmiri, Marathi, Tamil, Telugu, Urdu
All Translations supplied to Gnucash by the Centre for Development
of Advanced Computing (C-DAC), Pune, India. Translation Team Leader:
Chandrakant Dhutadmal, translators noted in the po files.