swig/Examples
William S Fulton 5d529d5a76 Ruby 1.9 fixes.
SF Bug#1292 - Runtime fixes for Proc changes in ruby-1.9 when using STL wrappers that override the default predicate, such as:

  %template(Map) std::map<swig::LANGUAGE_OBJ, swig::LANGUAGE_OBJ, swig::BinaryPredicate<> >;

Fixes li_std_functors testcases for Ruby 1.9.

Also rb_respond_to return values have changed subtely in 1.9 and return should be treated as a flag instead of checking for Qtrue, see SF Bug #1159.

Also fix li_std_map, li_std_set silently failing - rb_protect behaviour seems to have changed when an exception is thrown, so code has been changed to use rb_rescue. A call to 'rb_set_errinfo(Qnil)' could have solved this after the rb_protect call, but it is only available in 1.9+ and Ruby API changes are not easily and transparently detectable.
2013-04-05 23:41:59 +01:00
..
android Add Android install options for optional storage to SD Card 2012-12-14 07:12:35 +00:00
chicken SWIG license change - The Examples and Lib move to a very permissive license in the LICENSE file, removing the BSD license restrictions as agreed by committers since it was inadvertently introduced. Remove some examples where the impact of the license change is not clear. 2010-02-27 23:26:02 +00:00
contract fix extern declarations 2005-06-28 21:14:24 +00:00
csharp Remove a warning when building in C# project files when they are converted for use by Visual Studio 2010 2011-12-22 21:52:37 +00:00
d [D] Fixed possible output ordering issue in test case. 2012-01-23 21:59:34 +00:00
go Run gofmt on hand written Go code. 2011-08-22 20:04:06 +00:00
guile remove final vestiges of gifplot example 2010-02-28 00:16:39 +00:00
java Fix Visual Studio examples to work when SWIG is unzipped into a directory containing spaces. 2013-01-15 07:18:20 +00:00
lua Convert to unix fileformat 2013-01-12 16:54:45 +00:00
modula3 Remove cvsignore files: this is stored on svn:igonre property now 2006-12-03 08:28:42 +00:00
mzscheme Remove cvsignore files: this is stored on svn:igonre property now 2006-12-03 08:28:42 +00:00
ocaml [Ocaml] Apply patch #3151788 from Joel Reymont. Brings Ocaml support a up to date (ver 3.11 and 3.12), including std::string. 2011-02-14 07:22:06 +00:00
octave octave: Simplified module loading. 2012-11-28 20:22:56 +00:00
perl5 Fix Visual Studio examples to work when SWIG is unzipped into a directory containing spaces. 2013-01-15 07:18:20 +00:00
php Update lingering configure.in references to say configure.ac 2013-03-21 14:41:09 +13:00
pike remove svn:executable property where applied incorrectly 2008-11-26 21:56:48 +00:00
python Fix Visual Studio examples to work when SWIG is unzipped into a directory containing spaces. 2013-01-15 07:18:20 +00:00
r Fix Visual Studio examples to work when SWIG is unzipped into a directory containing spaces. 2013-01-15 07:18:20 +00:00
ruby Fix Visual Studio examples to work when SWIG is unzipped into a directory containing spaces. 2013-01-15 07:18:20 +00:00
s-exp remove final vestiges of gifplot example 2010-02-28 00:16:39 +00:00
tcl Fix Visual Studio examples to work when SWIG is unzipped into a directory containing spaces. 2013-01-15 07:18:20 +00:00
test-suite Ruby 1.9 fixes. 2013-04-05 23:41:59 +01:00
xml Fix somes typos 2012-08-08 09:19:26 +00:00
index.html remove final vestiges of gifplot example 2010-02-28 00:16:39 +00:00
Makefile.in remove __pycache__ directories when cleaning python test cases 2013-01-06 16:55:38 +01:00
README remove final vestiges of gifplot example 2010-02-28 00:16:39 +00:00

SWIG Examples

The "perl5", "python", "tcl", "guile", "java", "mzscheme", "ruby", and
"chicken" directories contain a number of simple examples that are
primarily used for testing. 

The file 'index.html' is the top of a hyperlinked document that
contains information about all of the examples along with various
notes related to each example.

The Examples directory is currently quite incomplete because it
is being reorganized.  A more complete set of examples can be found
in the SWIG1.1p5 distribution (most of which should still work with
SWIG1.3).

Note: All of the examples rely upon the Makefile in this directory.
You may need to edit it to reflect the configuration of your machine
in case the configure script guesses incorrect settings.


*** Special note concering C++ ***

The configure script is currently unable to handle all of the possible
options for producing dynamically loadable C++ extensions.  Here are
the rules of thumb for making C++ work:

 -  Try using the C++ as the linker for the shared library.  For example:

         g++ -shared $(OBJS) -o module.so

 -  If that doesn't work, you may need to explicitly link against some
    kind of C++ runtime library.  For example:

         ld -G $(OBJS) -L/opt/SUNWspro/lib -lCrun -o module.so

    This can be set by modifying the setting of CPP_DLLIBS in the
    Makefile.


*** Special note for SWIG Maintainers ***

When you add an example, consider arranging for the example to be also
useful as part of the SWIG testing framework.  To do this, include in
the example makefile a target "check" ("check: all" is sufficient for a
first pass), and add an invocation to ../Makefile.in under target
"check-examples" (or whatever is appropriate).  Later, we can add or
expand the actions under target "check" to do more in-depth testing.