The TP translation hadn't been maintained in over 10 years and there's
no evidence of an active TP pt team. TP coordinator has marked pt as
'external' in TP configuration.
This is a workaround for MacOS X 10.11's System Integrity Protection,
aka SIP, which among other things prevents system binaries from passing
linker environment variables to children. Anything in /bin or /usr/bin
qualifies as a system binary, and that includes /bin/sh and /bin/bash.
Not being able to pass linker paths breaks all of our guile tests which
need to tell Guile where to look for the libraries being tested.
To apply the workaround one needs to first have a shell outside of /bin
and /usr/bin. Simply copying /bin/sh to your home direcory works, as
does building a suitable shell somewhere. Just pass the path to that
shell in $CONFIG_SHELL to configure and all of the shell scripts and
libtool .la files will be created with it in the shebang line and the
linker environment variables will be passed in.
In order to build GnuCash in the first place you'll also need to edit
guild to use the alternate shell.
Poaching someone else's macro name is a really dumb idea, because aclocal
looks in our macros directory only if it can't find the macro in the system
directories. Our config code doesn't work with Gnome's macro, it exports
WARN_CFLAGS rather than modifying CFLAGS directly the way ours does.
Since some LDFLAGS settings depend on corresponding CFLAGS ones,
e.g. -fPIC, unsetting only CFLAGS will cause the test-compile to
fail because of the mismatched flags.
Fix configure.ac so that ${prefix}/lib/dbd is searched for modules.
Use gnc_path_get_libdir() to check for modules in the event that
$GNC_DBD_DIR is either empty or wrong and the path compiled into libdbi
itself is invalid. This applies mostly to Mac as other OSes tend to
leave their binaries where configure installs them.
Replace the autogen-sh time configuration which doesn't really work
correctly by making a local interpreter which links whichever library
pkg-config finds.
Also makes Guile-2.0 the default by looking for it first.
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.
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.
The note has the details, but I wasn't able to get gnucash to build with
automake 1.14 without passing --disable-dependency-tracking regardless of
whether I used the subdir-objects option. If I could figure out a good way
to poison configure with automake 1.14 I would.