swig/Examples
Vadim Zeitlin 16548cced0 Simplify and make more efficient building Python docstrings.
Make the rules for combining explicitly specified docstring, autodoc one and
the one obtained by translating Doxygen comments implicit in the structure of
the code itself instead of writing complicated conditions checking them.

This results in small changes to the whitespace in the generated Python code
when using autodoc, but this makes it PEP 8-compliant, so it is the right
thing to do anyhow.

Also cache the docstring built from translated Doxygen comments. The existing
code seemed to intend to do it, but didn't, really. This helps with
performance generally speaking (-10% for a relatively big library using a lot
of Doxygen comments) and also makes debugging Doxygen translation code less
painful as it's executed only once instead of twice for each comment.

Finally, avoid putting "r", used for Python raw strings, into docstrings in C
code, it is really not needed there.
2014-08-22 17:45:23 +02:00
..
android Fix out of source clean-android-examples 2014-05-15 23:28:47 +01:00
chicken Add in CPPFLAGS and LDFLAGS to examples/test-suite 2014-05-15 23:11:08 +01:00
contract fix extern declarations 2005-06-28 21:14:24 +00:00
csharp Fix compiler warnings in examples when using -std=c++98 -std=gnu89 -pedantic -Wreturn-type 2014-05-24 13:13:32 +01:00
d Fix compiler warnings in examples when using -std=c++98 -std=gnu89 -pedantic -Wreturn-type 2014-05-24 13:13:32 +01:00
doxygencomments/java One more example, for variables 2008-08-18 18:49:13 +00:00
go Fix compiler warnings in examples when using -std=c++98 -std=gnu89 -pedantic -Wreturn-type 2014-05-24 13:13:32 +01:00
guile Allow examples and test-suite to be built out of source tree 2014-05-11 23:21:10 +02:00
java Merge latest master into doxygen branch again. 2014-08-13 16:11:21 +02:00
javascript Fix Javascript examples so that "make clean" works properly with node 2014-05-29 02:29:27 +02:00
lua Fix compiler warnings in examples when using -std=c++98 -std=gnu89 -pedantic -Wreturn-type 2014-05-24 13:13:32 +01:00
modula3 Fix compiler warnings in examples when using -std=c++98 -std=gnu89 -pedantic -Wreturn-type 2014-05-24 13:13:32 +01:00
mzscheme Allow examples and test-suite to be built out of source tree 2014-05-11 23:21:10 +02:00
ocaml Allow examples and test-suite to be built out of source tree 2014-05-11 23:21:10 +02:00
octave Octave: use common example.mk for examples, patterned after javascript 2014-05-29 23:42:55 +02:00
perl5 Fix compiler warnings in examples when using -std=c++98 -std=gnu89 -pedantic -Wreturn-type 2014-05-24 13:13:32 +01:00
php Merge latest master into doxygen branch again. 2014-08-13 16:11:21 +02:00
pike Allow examples and test-suite to be built out of source tree 2014-05-11 23:21:10 +02:00
python Fully clean Python examples and test-suite 2014-05-29 02:29:27 +02:00
r Allow examples and test-suite to be built out of source tree 2014-05-11 23:21:10 +02:00
ruby Fix compiler warnings in examples when using -std=c++98 -std=gnu89 -pedantic -Wreturn-type 2014-05-24 13:13:32 +01:00
s-exp remove final vestiges of gifplot example 2010-02-28 00:16:39 +00:00
tcl Fix compiler warnings in examples when using -std=c++98 -std=gnu89 -pedantic -Wreturn-type 2014-05-24 13:13:32 +01:00
test-suite Simplify and make more efficient building Python docstrings. 2014-08-22 17:45:23 +02:00
xml XML example makefiles tweaks for consistency with other languages 2013-04-19 22:47:29 +01:00
index.html remove final vestiges of gifplot example 2010-02-28 00:16:39 +00:00
Makefile.in Fix example clean target in makefile for operating systems that don't use .so as shared library extension 2014-06-04 13:00:18 +01:00
README Improve Examples/README 2014-02-21 08:14:24 +13:00

SWIG Examples

The subdirectories of "Examples" named after SWIG's language backends
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.

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 concerning 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.