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.
'make check' does not require the Python static libraries to be
available. There is no easy way to find PYLIB - the directory containing
the static library especially now Debian based systems have changed to
put them in directories like /usr/lib/x86_64-linux-gnu/libpython2.7.a.