Fixes SF bug 1319 which shows up as a failure in the ccache tests on
Debian 64 bit Wheezy, possibly because ENABLE_ZLIB is defined.
This bug is due to files being too aggressively cleaned up part way
through the caching. The .stderr file is cached and then retrieved
from the cache for displaying to stderr. However, the stats are updated
between caching and using the .stderr file. During the stats update the
cache is cleaned and the newly cached files can be removed if the max
number of files per directory is low. Really the cache should be cleaned
up at exit to solve this (as is done in ccache-3.1). The workaround fix
ensures the cached files are ignored during cleanup, which is a bit
tricky as sometimes files from a previous run have the same time stamp,
so that don't appear to be the oldest in the cache.
Note: Best to use the patched source from Ubuntu/Debian which fixes some
bugs.
Also added "Patched with margin-left.patch" text to output of
htmldoc --version
- once installed, Octave functions can never really be uninstalled
(clear -f doesn't prevent the function being called again), so
it makes no sense to install functions more than once
- this can lead to a significant speed-up of module loading times,
up to a factor of 10 for a large module loaded multiple times
- this introduces a memory leak, which becomes significant for large
modules (many global variables) and many module re-loadings (e.g.
during a long-running script)
- the original motivation was to prevent double-frees on exit, but this
problem appears to have been fixed by the _Exit() hack in later commits,
and in any case is an issue only for Octave ~3.2, so it should be safe to
remove; tested by running Octave examples/test suite with Debian 3.2.4 and
built-from-source 3.2.4, 3.4.3, and 3.6.3
- Now Guile examples are built in a consistent way to other target
languages.
- Also set GUILE_AUTO_COMPILE=0 to remove auto-compilation is enabled
warnings
Use new guile_embedded_run target or guile_run target for running the
examples like the other target languages (for suppressing stdout if run
from top level).
Consistency with other target language file renames: use runme.scm for
scripts and example.i, example.c for example code.
Add class example to examples being tested.
- rename example modules from "example" to "swigexample", to avoid a
warning from shadowing the Octave built-in function "example"
- remove deprecated "static" Makefile targets: there is no longer
an option to build static Octave modules in the Examples Makefile
- emacs whitespace cleanup run on all files
dynamic-link and load-extension work without passing the .so or .dll as
the shared library extension, so these have been dropped so the examples
and test-suite work on Cygwin.
Also update documentation and use the 'lib' prefix as that is what we
commonly name the shared libraries.
Replace pkg-config with guile-config to look for guile. Using pkg-config
requires the pkg.m4 autoconf macros to be properly installed on the
machine running autogen.sh which is frequently a problem. pkg-config
only supports more recent releases of guile so isn't very good at
finding guile either.