This works only with Apple clang; the regular clang is at version 3, but
hasn't been tested for what versions emit what sort of function signatures
to logs.
Compiled files go to prefix/lib/guile/2.0/ccache, which isn't the same as
where the source files are stored (prefix/share/guile/2.0), so provide a
separate variable for it. Also don't throw away the user's value of
GUILE_LOAD_COMPILED_PATH in favor of GUILE_LOAD_PATH.
When adding splits to such a lot the code was supposed to
reduce splits in the same transaction and the same lot to
one single split. This is to avoid infinite fragmentation
over time.
That reduction wasn't working for business lots and should
be fixed with this commit.
This is also a potential fix for bug https://bugzilla.gnome.org/show_bug.cgi?id=741418
which could very well be a report of such infinite fragmentation.
These changes hardcoded the standards-reports path at build time.
On Windows and OS X the final path is only known at installation time.
So after installation the build-time hard-coded path would be invalid and
the standard-reports directory could no longer be found.
Using the 'Close' button works correctly. The difference is that
the 'X' button triggers a cancel action while the 'Close' button
triggers a close action. I have changed this such that when the
import already happened (that is when the user is looking at the
summary page), a close action will be triggered in both cases.
.so was platform specific. By omitting the extension
guile properly finds the right library on both linux
and Windows (haven't tested on OS X but I assume it
to work there as well).
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