Remove redundant NULL checks before free()/delete
The ISO C and C++ standards guarantee that it's safe to call these
on a NULL pointer, so it's not necessary for the calling code to
also check.
Fixes https://sourceforge.net/p/swig/feature-requests/70/
Complete the prototype removal in ca1431.
The script prevents SWIGTOOL=gdb from working as gdb can't be used to
debug a shell script, it requires a binary.
Add support for SWIGTOOL in all the examples.
SWIG_LIB_DIR and SWIGEXE must now instead be set by all Makefiles.
See issue #473.
- Examples/Makefile.in rules use SRCDIR as the relative source directory
- ./config.status replicates Examples/ source directory tree in build
directory, and copies each Makefile to build directory, prefixed with
a header which sets SRCDIR to source directory
- Examples/test-suite/.../Makefile.in set SRCDIR from Autoconf-set srcdir
- Examples/test-suite/errors/Makefile.in needs to filter out source
directory from SWIG error messages
- Lua: embedded interpreters are passed location of run-time test
- Python: copy run-time scripts to build directory because of 2to3
conversion; import_packages example copies __init__.py from source
directory; test-suite sets SCRIPTDIR to location of run-time tests
- Javascript: binding.gyp renamed to binding.gyp.in so that $srcdir
can be substituted with SRCDIR; removed './' from require() statements
so that NODE_PATH can be used to point Node.js to build directory
- source files and Makefiles need never be executable
- scripts are run directly by their interpreters in the
test suites, so also do not need to be executable
Rewinding the file before passing it to C fixed the problem of not being
able to read the file contents.
Also explain the error about writing to a string.
- 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.
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.
All of guile's interface files now use the scm interface.
This should not affect any users. Swig generated code
using the scm interface can be mixed with gh interface
using user code.
It does simplify maintenance of the guile swig code though.
Note: guile-config is badly broken for guile 2. So
the guile configure section has been rewritten to
use pkg-config instead.
Manually resolved conflicts:
Examples/Makefile.in