Permalink
Browse files

Merged branch candidate from https://github.com/oliver----/swig-v8.git

Squashed these commits:

commit 2bf6b02d791a66039c23168517fec3c896a0c051
Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
Date:   Thu Mar 6 07:54:11 2014 +0100

    Remove cmake relict.

commit 65dbaa65247b226ae18129f532ae989fc710227b
Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
Date:   Thu Mar 6 06:47:10 2014 +0100

    Remove pandoc toolchain.

commit d7d610234bab0681aee854ec3ac526736b3e8be1
Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
Date:   Thu Mar 6 06:46:58 2014 +0100

    Remove Javascript documentation source file.

commit d6e5b2eb606a1f1ce81dfe847f1c2a719d776ca9
Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
Date:   Thu Mar 6 06:44:24 2014 +0100

    Revert "Development version for travis configuration."

    This reverts commit f9268f223c0af545a2307ab74caf6ad3af5b9791.

commit c2f22bb2b82be91d217e4c88820d56ab66c77813
Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
Date:   Thu Mar 6 06:32:06 2014 +0100

    Fix regression in custom v8 interpreter.

    Issue showed up with newer v8 version.

commit f9268f223c0af545a2307ab74caf6ad3af5b9791
Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
Date:   Thu Mar 6 06:31:23 2014 +0100

    Development version for travis configuration.

commit b5aa1df72b071183c71a33a92aa785eb5f6e3549
Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
Date:   Thu Mar 6 06:30:36 2014 +0100

    Generalized smoke test configuration.

commit 57491eaa8189205d0bcd77decd90d2097b1341d5
Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
Date:   Thu Mar 6 06:29:00 2014 +0100

    Add 'version' target for javascript.

commit c91b28b908b5d530e8848591220a2d81bcf7a316
Merge: fe10555 cb2627a
Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
Date:   Thu Mar 6 04:40:13 2014 +0100

    Merge branch 'master' into devel

    Conflicts:
    	configure.ac

commit cb2627ac03e5dd5270eb1c8e4413fd41436fe310
Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
Date:   Wed Mar 5 02:00:25 2014 +0100

    Merged branch 'devel' from https://github.com/oliver----/swig-v8 (squashed commit):

    commit fe10555229b2d2636e16f16a9aa8b4b6ba1f6863
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Wed Mar 5 01:51:29 2014 +0100

        Add check to skip javascript test-suite if default interpreter is not installed.

    commit 0e0ac021927d72f59503db91b6a9f57b323beb8b
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Wed Mar 5 01:50:46 2014 +0100

        Activate travis matrix for different Javascript interpreters.

    commit 89610e984ea3732a7da7bfc6bea1ffed2039201e
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Wed Mar 5 01:39:26 2014 +0100

        Beautified Javascript module.

    commit b5bc87667d62fa05a31ab85ba0b7894f83d7cdce
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Wed Mar 5 01:10:55 2014 +0100

        Fix regressions.

        - Adapted to changes in UTL
        - Fixed detection of setters and getters.

    commit a234542543088140e4dd925b0060a93960db9eee
    Merge: 8c05fe3 c99417a
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Wed Mar 5 01:09:26 2014 +0100

        Merge branch 'master' into tmp

        Conflicts:
        	.travis.yml
        	Examples/Makefile.in
        	Examples/test-suite/director_nspace.i
        	Examples/test-suite/nspace.i
        	Examples/test-suite/nspace_extend.i
        	Source/Modules/lang.cxx
        	configure.ac

    commit 8c05fe37afcbcd6a2fc2a7d8bbe028e6d8f59239
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Mar 4 22:55:32 2014 +0100

        Removed obsolete paragraph from Javascript documentation.

    commit 924f373a2f6a58c4a8d40e6f61434a6e3f6df50b
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Mar 4 22:51:19 2014 +0100

        Fix pandoc filter.

        And add a script that helps to run pandoc with appropriate
        command line flags.

    commit 6b82dff8f35d9ca743670a6131a87d493514c6b6
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Mar 4 22:50:23 2014 +0100

        Minor tweaks in Javascript documentation.

    commit 1a7e12911ac96e8b788686076f35771ac248220d
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Mar 4 12:00:13 2014 +0100

        Adding a chapter about Javascript tests and examples.

    commit a9b8b85c1c1b2bfe5b9b389e6f9406258371d512
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Mar 4 11:00:26 2014 +0100

        Minor change in Javascript configuration.

    commit dbd61e40e1c92aa02c3ce5170534687f7ae8d42f
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Mar 4 10:41:35 2014 +0100

        Fix issues that were observed with newer JavascriptCore.

    commit 70385842df0c68c4e7e7eeb4531f703330edb831
    Author: Oliver Buchtala <oliver.buchtala@gmail.com>
    Date:   Fri Feb 28 10:40:41 2014 +0100

        Add missing copy ctor for Javascript Code Template class.

    commit b20b0f4e4b1626030c4155f22313af3ee0fd4e00
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Thu Feb 27 01:02:06 2014 +0100

        Removed CMake.

        Started a separate project which acts as a CMake shell around SWIG.

    commit 7e015e4acf3cb6644f2002d4457a589f1d76f69d
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Wed Feb 26 23:26:19 2014 +0100

        Fix regression in Javascript configuration.

    commit 348cb2026e2edad29003281ed9b0a2f43c10aa54
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Wed Feb 26 22:56:31 2014 +0100

        Fix regressions in configuration of some Javascript examples.

    commit 94869c922861adc007e1cfffde279f2c4e554311
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Wed Feb 26 22:47:29 2014 +0100

        More gitignores filtering Javascript related files.

    commit 424e3f47123f8a7746d12d02204b896e55b8444d
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Wed Feb 26 22:46:24 2014 +0100

        Fix custom javascript interpreter configuration for OSX.

    commit 15f12d9b59b9e8522853f010f9d443164774a6a6
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Wed Feb 26 22:44:37 2014 +0100

        Make examples work with node.js and the custom interpreter.

    commit b216a739c45cfb595a5b70da7e811b6130148a63
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Wed Feb 26 20:51:38 2014 +0100

        Introduced an extra Makefile for the custom javascript interpreter.

    commit bf1606c0f9261dcb4ae8d5c24aebc987a67e7510
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Wed Feb 26 11:10:09 2014 +0100

        Fix travis configuration.

    commit 16a702c0aac717462b1eb94fc4640446943d9396
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Wed Feb 26 10:48:38 2014 +0100

        Added a comment.

    commit e62c6126e9d6645eaff2b96d7847d4a8c681bb84
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Wed Feb 26 10:47:48 2014 +0100

        Fix regressions in Javascript example configuration.

    commit 15550dab450f003c0b42d6a3353b137435793999
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Feb 25 20:16:15 2014 +0100

        Fix issue with strange constants under OSX.

        Receiving strange constant nodes before the real tree
        under OSX 10.8. Not so under Ubuntu 12.04.

    commit 84ba91dc63d817376486cecfd7188f56303e6e3b
    Author: Oliver Buchtala <oliver.buchtala@gmail.com>
    Date:   Thu Feb 20 12:38:53 2014 +0100

        Some fixes in example section of Javascript documentation.

    commit 1ffacaab5b7635da623de6c49c22684a1c46d549
    Author: Oliver Buchtala <oliver.buchtala@gmail.com>
    Date:   Thu Feb 20 12:30:57 2014 +0100

        Add note about '-node' command line flag for Node.js code generation.

    commit 462674ea11fc227501a485a878efd1ae9e111126
    Author: Oliver Buchtala <oliver.buchtala@gmail.com>
    Date:   Thu Feb 20 12:28:06 2014 +0100

        Added examples to Javascript module documentation.

    commit 3f22a3d639a2884b8cd50d57fc22b6df49a85cdf
    Author: Oliver Buchtala <oliver.buchtala@gmail.com>
    Date:   Thu Feb 20 11:37:40 2014 +0100

        Simplification in common javascript example Makefile.

    commit 8e65414a764f390e0db4f8ded0031ecdef16d896
    Author: Oliver Buchtala <oliver.buchtala@gmail.com>
    Date:   Thu Feb 20 11:37:15 2014 +0100

        Add an extra argument for enabling nodejs support.

        This is essentially using the v8 emitter plus setting a #define.

    commit 7c1f66c29e4d0fd72e656b4bd27b2010c053b2c7
    Author: Oliver Buchtala <oliver.buchtala@gmail.com>
    Date:   Thu Feb 20 11:15:46 2014 +0100

        Add more notes about how to install node.

    commit 48e7df8eb2f7cb87e57dd7a890fbaa9ec8598ac7
    Author: Oliver Buchtala <oliver.buchtala@gmail.com>
    Date:   Thu Feb 20 11:15:18 2014 +0100

        Better error message when no Javascript emitter is specified.

    commit fd0e75843d3ec7816c85a5d1ab84bd9319c9b27e
    Author: Oliver Buchtala <oliver.buchtala@gmail.com>
    Date:   Thu Feb 20 11:14:48 2014 +0100

        Deactivated broken JS examples.

    commit 77ead7017caca778eb3143fa487856ee8dcd4b7b
    Author: Oliver Buchtala <oliver.buchtala@gmail.com>
    Date:   Thu Feb 20 11:13:57 2014 +0100

        Refactored configuration for javascript examples.

    commit 8df34d54d0957552a53fe5f1e6598849c4ac9f81
    Author: Oliver Buchtala <oliver.buchtala@gmail.com>
    Date:   Fri Feb 14 13:21:52 2014 +0100

        Beginning to document v8 integration.

    commit 05146e2aed5b8e9df390acdd12b6e5cda2ed2e00
    Author: Oliver Buchtala <oliver.buchtala@gmail.com>
    Date:   Fri Feb 14 13:04:21 2014 +0100

        Documented extending Node.js and Webkit's Javascript engine.

    commit 68472802721264ec8adee4f80ce7576eb3dd1a3e
    Author: Oliver Buchtala <oliver.buchtala@gmail.com>
    Date:   Fri Feb 14 09:02:37 2014 +0100

        Pandoc filter detects shell blocks when not explicitely given.

        Considered as shell if the first character is '$', as in

            $ swig -javascript

        Alternatively you can specify the class explicitely:

        ```shell
        swig -javascript
        ```

    commit 1fca61c59ad7a825725b76d394de688774f296e8
    Author: Oliver Buchtala <oliver.buchtala@gmail.com>
    Date:   Fri Feb 14 09:00:04 2014 +0100

        Conitnued documenting the Javascript module.

    commit 915b7094331bf99f5cf6ed31d5747d10ae1bebb9
    Author: Oliver Buchtala <oliver.buchtala@gmail.com>
    Date:   Fri Feb 14 00:02:05 2014 +0100

        Not a real change.

        Using a macro to reset JSEmitterStates for the sake of readability.

    commit 8148b017f879f272616c8bb36b6bcd60232f9c4f
    Author: Oliver Buchtala <oliver.buchtala@gmail.com>
    Date:   Fri Feb 14 00:01:15 2014 +0100

        Add a pandoc filter to create compatible html.

    commit e829ea601f573b96efdf0e1ed602d90a7d39e29f
    Author: Oliver Buchtala <oliver.buchtala@gmail.com>
    Date:   Fri Feb 14 00:00:37 2014 +0100

        Add Javascript to chapters.

    commit fa8b350cd67a8850a866ee52250a6955ef17699f
    Author: Oliver Buchtala <oliver.buchtala@gmail.com>
    Date:   Fri Feb 14 00:00:12 2014 +0100

        More Javascript module documentation.

    commit 02c55fc52fb30da3cec7188b64d456c7dcf8fc9f
    Author: Oliver Buchtala <oliver.buchtala@gmail.com>
    Date:   Thu Feb 13 21:18:06 2014 +0100

        Next iteration on creating a documentation for the Javascript module.

    commit 1e34ecdc31c82d30141097f7744617361ebb748c
    Author: Oliver Buchtala <oliver.buchtala@gmail.com>
    Date:   Thu Feb 13 19:25:16 2014 +0100

        Next iteration on creating a documentation for the Javascript module.

    commit 41ec3fb67e65f3448e52c0eb7372d0331bc7b6ca
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Fri Sep 27 02:54:42 2013 +0200

        Travis configuration for Javascript branch.

    commit 48af60d82904f1eef37b9beac03f8412947e883e
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Fri Sep 27 02:46:11 2013 +0200

        Javascript examples.

    commit ecf9f96079067386a5f8bc83fadd4ac9e03f551c
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Fri Sep 27 02:45:22 2013 +0200

        Javascript documentation.

    commit 00053169cd5d69c42b1b1bbf58336776e1820c97
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Fri Sep 27 02:44:53 2013 +0200

        CMake configuration.

    commit 6a366cc050f25b3d358d8f4d85e37011ada82726
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Fri Sep 27 03:23:37 2013 +0200

        Fix regression.

    commit 6dcbbf07db310a78457d1c00e84a60761502ea5d
    Merge: 4492a3d c2d3da2
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Fri Sep 27 02:29:02 2013 +0200

        Conflicts:
        	.gitignore
        	.project
        	.travis.yml
        	Examples/Makefile.in
        	Examples/test-suite/director_nspace.i

    commit c2d3da2eeca2d1923d9c69dda70a8ce2f1b2cf1e
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Thu Sep 26 05:14:34 2013 +0200

        Fix test configuration.

    commit 582bd297690605d98ae758d164cc48e299ae34b3
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Thu Sep 26 04:55:34 2013 +0200

        Trying to install former working version of nodejs.

    commit 7adf93ef0f86babb564b1458228f5b4666f414dc
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Thu Sep 26 04:13:32 2013 +0200

        Fix test configuration for nodejs.

    commit 335d926c449d22821eb916d0f862062b925c2ca6
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Sep 24 03:56:19 2013 +0200

        Add stub std_deque.i files.

    commit 51b36d1a1f0c9efe3ef3d25c8bd8c3dfecfa4a52
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Sep 24 03:55:51 2013 +0200

        Add non pretty printing function to Templates.

    commit dc62a69775f7eff6a11e7ca7f162ae960b53e671
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Sep 24 03:55:10 2013 +0200

        Fix bug with typedefd function pointers.

    commit 2efe63ebb2c87e2e8cde445ffdf964f6cc38869e
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Sep 24 01:50:33 2013 +0200

        Add some test runners.

    commit b9ecf75f17c05bc58d6e6347877b5aedd92d2d28
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Sep 24 01:50:13 2013 +0200

        Fix emitter for member pointer constants.

        However, I am not happy with the constant emitter in general.
        Should not return dynamic values but register constant wrappers statically.

    commit 8bf966a65c2120d2bf050857587e7e7bd7cafd58
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Sep 24 01:47:13 2013 +0200

        Fix %nspace support and activated relevant tests.

    commit d34a6da08c1dd59ad14731f4ea6a7e8b3b6dd8b7
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Sep 17 01:53:22 2013 +0200

        Disable warnings for some v8 test-cases.

    commit b3c198ccee3dad34f75c4617900e53e1770f0ee9
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Mon Sep 16 22:28:14 2013 +0200

        Fix regression.

    commit b99e8613ad7103bd99d7f6c7e24b774c73467201
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Mon Sep 16 21:56:52 2013 +0200

        Bugfix in argument marshalling.

    commit dd4ed7f3d6bc6a13c271ac7ffb629115414113ec
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Mon Sep 16 11:46:52 2013 +0200

        Disable testcase 'typemap_variables' for v8.

        It uses output typemaps that are not compatible with the
        v8 API.

    commit 0528fd3ac3f6205ce642fa6997908df160030608
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Mon Sep 16 11:46:00 2013 +0200

        Bugfix for Javascript generator.

    commit 147cec70f1226dead5d93afd711b99bc9e81827f
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Mon Sep 16 04:54:57 2013 +0200

        Replace $symname in generated function wrappers.

    commit eb9523b5caef732bbd1b259850e16dc8a9e11564
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Mon Sep 16 04:12:55 2013 +0200

        Add missing macros.

    commit 3e28d1e28f81688184cf2c362fa01b7efaaad790
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Mon Sep 16 04:12:42 2013 +0200

        Let v8 generated code include stdlib.h

    commit b6426bde2501e6304193644ddc6e8c933db4412e
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Mon Sep 16 04:12:06 2013 +0200

        Add cdata.i typemaps.

    commit 1f07195812f79a20bb1f37178e596dd0bab8ef2e
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Mon Sep 16 03:53:00 2013 +0200

        Rearrange generation of init block to have custom init code within the initializer body.

    commit 80ce36c445c704a105a70d6820baefb74a7cd0ec
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Mon Sep 16 02:27:51 2013 +0200

        Make JSC inheritance definition more robust.

    commit 973042302b017111b06305bedafe47798fcfad86
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Mon Sep 16 01:57:55 2013 +0200

        Removed dead code.

    commit bf416876ddf24249f75eff9854e551d789dfab42
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Mon Sep 16 01:33:19 2013 +0200

        Bugfix for JSC %typemap(out) std::string&.

    commit b7f827e42ce3073d44f163877f7712782740d1bf
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Mon Sep 16 01:23:03 2013 +0200

        Fix typemap declarations for (unsigned) long long.

    commit 68eff3e81efd46692206dcf2ea762931f94c63ce
    Merge: bb7bd50 018847b
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Mon Sep 16 00:55:57 2013 +0200

        Merge branch 'devel' of github.com:oliver----/swig-v8 into devel

    commit bb7bd50eabdf5cc2f07640227713ef75dc1c8fce
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Mon Sep 16 00:55:43 2013 +0200

        Add support for IN/OUTPUT typemaps.

    commit 018847b0002a445a1e7110e16dd108aac34564a9
    Merge: acfed20 325b544
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sun Sep 15 06:00:06 2013 -0700

        Merge pull request #28 from whoozle/devel

        fixed newer v8 compilation

    commit 325b5445d67ccf60855aac970ecb6ba913e2b32b
    Author: Vladimir Menshakov <menshakov@spb.gs.ru>
    Date:   Sat Sep 14 16:19:47 2013 +0400

        removed Clear before Dispose from newer v8 code, consider the following code:
        template <class T>
        void Persistent<T>::Dispose() {
          if (this->IsEmpty()) return; //Clear will trigger this
          V8::DisposeGlobal(reinterpret_cast<internal::Object**>(this->val_));
          ...
        }

    commit 89fd7ed9c1b1c1e0a1a5344018ab9d0a5ce711b0
    Author: Vladimir Menshakov <menshakov@spb.gs.ru>
    Date:   Sat Sep 14 16:17:21 2013 +0400

        fixed newer v8 compilation

    commit 477b2393b10f664696b8cf1e49c2b98deab39d79
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Thu Sep 12 05:26:22 2013 +0200

        Add stub 'typemaps.i' files.

    commit acfed20eba1c72571f65048c62653bf339d5564b
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Thu Sep 12 05:10:23 2013 +0200

        Bugfix Javascript generator: valid name for dispatcher functions.

    commit 1a04e488bc5e17de266181f6b39e00e114f9ae8a
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Thu Sep 12 05:40:59 2013 +0300

        Fix Javascript generator for smartpointeraccessed variables.

    commit 8bf95c4356b61da9f510245310a0bd3c1fafe36f
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Thu Sep 12 05:09:35 2013 +0300

        Bugfix for Javascript generator: avoid duplicate action code generation.

    commit 09a210e037c8d5ca46ee4edc4c904f11b04cb893
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Thu Sep 12 04:09:21 2013 +0300

        Bugfix in Javascript generator: detect member setter/getters correctly.

    commit c53e3e4dab9b6ab61e63880476721c61ec9ff940
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Sep 10 14:45:33 2013 +0300

        Fix configuration for nodejs based tests.

        - use $(SWIGOPT)
        - less verbose

    commit dd84e6f9e0b67737ca1031cd6bbb4dcc4eb84340
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Sep 10 14:16:36 2013 +0300

        Some fixes and cleanup in Javascript generator.

        - v8 generator uses the correct mangled name for class templates
        - removed symbols for template variables in favor of using the string
          literals directly, as it is easier to understand when debugging.

    commit 001f38c6a9ebd19dee26196e9b0ee2421b8cbe5f
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Sep 10 13:29:16 2013 +0300

        Fix settings for building nodejs tests.

        Removed the `-node` command line flag.
        Instead one has to use `-v8 -DBUILDING_NODE_EXTENSION=1`.

    commit be35d94fdb8b274b443e2467d8a1b6d2dd0723c6
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Sep 10 11:53:12 2013 +0300

        Add support for PackedData to Javascript generator.

    commit e5ad9cdc0527b21cbabaad02a22efd8418459d99
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Mon Sep 9 22:26:30 2013 +0300

        Added two more Javascript tests.

        - `abstract_inherit`
        - `char_strings`

    commit 571c516a0b096564b070350c9b90255db3422768
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Mon Sep 9 22:25:51 2013 +0300

        Some fixes for the Javascript generator.

        - added missing `exception.i`
        - added missing generator block `wrappers` for v8

    commit 3c5946d998f2bcecc88f04de8df7a6f3da292b32
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Mon Sep 9 17:38:44 2013 +0300

        Redefined set of Javascript smoke tests.

    commit 407d8ef5acff62578c701da74cfdf9a752baffd1
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Mon Sep 9 17:34:53 2013 +0300

        Clean up in `javascripttypemaps.swg`.

        - following the same layout/order as pytypemaps
        - added typemaps for `long long` and `unsigned long long`, which are
          only copies of those for `long` and `unsigned long` and hence are
          just experimental.

    commit fc4d9b665c5839df06501e736163bfeadb7503d1
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Mon Sep 9 16:28:29 2013 +0300

        Fix v8 generator to use a non clashing name for built-in 'equals' method.

    commit b6c9c97b96bc3039ccb291d76a64d009fc81fbb7
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Mon Sep 9 15:05:11 2013 +0300

        Fix Javascript generator to use %renamed variable names.

    commit 108143951da3859e0c056780706b6841231febb3
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Mon Sep 9 13:55:08 2013 +0300

        Activate Javascript test-cases `rename_simple` and `rename_scope`.

        These reveal current deficiencies in the Javascript generator with `%rename`ing.

    commit 64da1173ddf8bd1fe04800e2afbe0f9c5d2dc818
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Mon Sep 9 13:23:47 2013 +0300

        Activate Javascript testcases `rename1-4`.

    commit 1438d0cfb45f0f1b740eb8d1d366f694ba99d0b6
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Mon Sep 9 13:17:38 2013 +0300

        Add `infinity` test-case to list of smoke tests.

    commit e01e337d752dbbfc58a06b87fe1169d3f6ada76f
    Author: Eric Wing <ewing -dot- public |-at-| gmail.com>
    Date:   Thu Sep 5 14:50:15 2013 -0700

        Added unit test using C99 INFINITY. This test actually tests a float
        conversion bug where converting to float imposed overflow checking which
        should not be there and causes this program to error out. This was seen
        originally in Javascript, but it turns out Python has the same bug. Lua
        does not have this bug. Other generators have not been tested.

        This test also tests the rename feature. The Javascript generator was
        not renaming the variable correctly.

    commit 1729fac3605d6649919ee508bcf8b03f904886f4
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Mon Sep 9 12:46:07 2013 +0300

        Bug-fix for static variables as proposed by Kota Iguchi.

        Fixes #20.

    commit 8408e9b19395f9f7ffca586de80012473b6c3a4e
    Merge: 6b35c2d b49da78
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Fri Sep 6 19:50:51 2013 -0700

        Merge pull request #19 from whoozle/devel

        fixed deprecation warnings for v8-3.21

    commit 6b35c2d419eac4f71780a939254e8a459c075849
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Fri Sep 6 16:26:02 2013 +0300

        Let Travis test all three targets.

        - nodejs: 0.10.12
        - libwebgitgtk 1.0
        - libv8 3.7.12

        We should soon switch to a new v8 version or add an extra runner.

    commit 0facc7ecf9f48a98a6f66c557917657d3adb2d36
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Fri Sep 6 15:59:43 2013 +0300

        Allow to run the test suite with our list of smoke tests.

        The javascript generator can not deal with the whole test-suite.
        Moreover, during development I want to have immediate feedback using
        a set of smoke tests.

    commit 492d3010ff33c1b6af9bca9472ad08e0330ffb42
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Fri Sep 6 01:40:23 2013 +0300

        Javascript V8 test-cases always create cpp wrappers.

    commit 26b5acbbe850c3494f4b79c62f678a92f219f61a
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Fri Sep 6 00:42:56 2013 +0300

        Test-suite Makefile now supports testing for all three Javascript variants.

        - node.js
        - custom JavascriptCore interpreter
        - custom V8 interpreter

    commit 962207e0f33a322af3f9303f1e15ce9e28eb7281
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Fri Sep 6 00:41:18 2013 +0300

        Rewritten Javascript autoconfiguration.

    commit 29ccb270afa761d57d6a6728ca49d92fe9d35bc0
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Fri Sep 6 00:40:29 2013 +0300

        Renamed object provided to JS initializers.

        JSC initializer create a new module object.
        V8 initializer fill a provided 'exports' object.

    commit 4794fa1884215982384535d25bfcc8e37b496629
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Fri Sep 6 00:38:07 2013 +0300

        Refactored custom javascript engines to support primitive 'require' statements.

    commit b49da78b0a6ef1d6e9f624c60710f79e709fca2e
    Author: Vladimir Menshakov <menshakov@spb.gs.ru>
    Date:   Thu Sep 5 19:50:15 2013 +0400

        fixed deprecation warnings for v8-3.21

    commit 740da9c733e505d52a918742bc0ac559d7e4ccf6
    Merge: 8b0ee54 2a39abe
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Wed Sep 4 09:18:42 2013 -0700

        Merge pull request #17 from whoozle/devel

        fixed v8-3.20+ compilation and deprecation warnings.

    commit 2a39abebb684e7e5a2bf878b9d74c54de415bae1
    Author: Vladimir Menshakov <menshakov@spb.gs.ru>
    Date:   Wed Sep 4 20:10:42 2013 +0400

        moved common swig v8 definitions in javascriptruntime.swg, fixed obsoleted api calls

    commit 8b0ee5491a9f19a57fef83433d755cc0a9e40c40
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Wed Sep 4 18:04:40 2013 +0200

        Added missing template configuration files for nodejs based tests.

    commit 315287b6563f4730468e4b882e569fa72893ba71
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Wed Sep 4 17:55:44 2013 +0200

        Put the SWIG_V8_VERSION macro into "runtime" block.

    commit 4068f31c6b66f08c24f760f46da5b4a4d7b6f11b
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Wed Sep 4 17:54:35 2013 +0200

        Use a diffent name for the V8_VERSION provided via command line.

    commit b7db2a84c907b96e3371b8c8301b32421a10fef5
    Author: Vladimir Menshakov <menshakov@spb.gs.ru>
    Date:   Wed Sep 4 19:33:48 2013 +0400

        fixed return values and added missing newer v8 dtor wrapper.

    commit fec11a8def1e1bea9626fab8f17d05c253178bec
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Wed Sep 4 13:07:07 2013 +0200

        Allow exceptions in generated example/test node extensions.

    commit 54dd7e96c0f9623649947f8f6237a8f1be1ac770
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Wed Sep 4 12:47:24 2013 +0200

        Fix cleanup configuration for javascript test-suite.

    commit 8778146b4b45d5033bb65701ab881b1edcc51b9b
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Wed Sep 4 12:10:08 2013 +0200

        Relax type check in SWIG_AsVal_int.

        The array_member test-case revealed that integers
        come in as `Numbers`.

    commit 0e78fc0ad7a962f2d3687c1fb32294e174e68dd5
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Sep 3 18:50:46 2013 +0200

        Fixing travis configuration.

    commit da48f3307f4ac358ca2d325f8c04b9a5afb90323
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Sep 3 18:24:19 2013 +0200

        Remove javascript autoconf detection (Temporarily).

        I want to cut it down to a minimum having only nodejs.
        We will activate the others (native JSC and V8) later.

    commit 262aca8ead684a53c4f2029db5f32a3505e348b3
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Sep 3 17:16:40 2013 +0200

        Fix in travis config.

    commit 83e6aa85b6e7f8097eb02179bb8f3faaeb06037b
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Sep 3 17:13:38 2013 +0200

        Not a real change.

    commit 0aabfeb231d74ac997b28e816987fb033d6b2fd9
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Sep 3 17:07:49 2013 +0200

        Slight modification to travis config.

    commit fa27ff29769031cef7dbb3b1951ec6adde09b0cf
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Sep 3 17:03:08 2013 +0200

        Add a travis configuration (experimental).

    commit 8bbd92883101584583e3139e442bc418100b4a45
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Sep 3 16:57:40 2013 +0200

        Make javascript test-suite work with nodejs.

    commit cef82c720f4875b9ddf53667e5396d3b80c7eefd
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Sep 3 14:41:35 2013 +0200

        Replace old style v8 version switches.

    commit d3074ba4c1cc46bfebd3b09671f92965cab533ed
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Sep 3 14:02:52 2013 +0200

        Fix error in SWIG_V8_GetInstancePtr.

    commit f70c0e16f292e1fab77fb9ae63f56e86c3ae90c4
    Author: Kota Iguchi <infosia.jp@gmail.com>
    Date:   Wed Aug 28 15:08:50 2013 +0900

        Add "equals" to compare between pointers
        Add "getCPtr" to retrieve pointer value

    commit a29975c69a0bf0628d740232cab722387588eed2
    Author: Kota Iguchi <infosia.jp@gmail.com>
    Date:   Fri Aug 16 16:08:47 2013 +0900

        Typemap for natural support for arrays

    commit 78a3cc9e3e4bdf6d55cb52ab8812c4127e6ad475
    Author: Kota Iguchi <infosia.jp@gmail.com>
    Date:   Fri Aug 16 10:15:37 2013 +0900

        Added the finalize callback (JSObjectFinalizeCallback)

    commit 14a137adca1a101595e103893d7143aa43525791
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Sep 3 06:27:14 2013 +0200

        Fix regression.

    commit 5da54ca435741f74a7212d7034b11b9fa17046d7
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Sep 3 06:26:54 2013 +0200

        Convert javascript examples to nodejs.

    commit dbf2b1fe945714641322c2f758bde63140db37fa
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Sep 3 05:46:19 2013 +0200

        Ignore javascript Example build files.

    commit 11e2179dd318d49665fe665022a2a5ea30c59392
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Sep 3 05:40:22 2013 +0200

        First example that addresses node.js as primary execution environment.

    commit a48438c562b3f1601e5bbc9cedcf9f124af97975
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Sep 3 05:39:37 2013 +0200

        Better v8 version handling.

        You should start to specify a version on command line, e.g.,

            swig -javascript -v8 -DSWIG_V8_VERSION=0x032007

    commit 5228c0eeab0e96930d18e1b0b0d732636adc882f
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Sep 3 05:36:41 2013 +0200

        Add a dedicated mode for creating node modules.

    commit 5aba4c7ea657f086519acb950e19c416d808b74a
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Sep 3 05:35:03 2013 +0200

        Starting from scratch with Examples configuration.

    commit cb5f4dc47eeac71a0c5f39618027382567cb53d4
    Author: Vladimir Menshakov <menshakov@spb.gs.ru>
    Date:   Thu Aug 15 14:33:00 2013 +0400

        ported to newer, more efficient v8 api

    commit c291675ccef1b058ea5e4c642f0f5b2e72b9e006
    Merge: 046ca76 0732592
    Author: Jason Turner <jason@emptycrate.com>
    Date:   Fri Aug 9 14:09:43 2013 -0600

        Merge branch 'devel' of https://github.com/ewmailing/swig-v8 into devel

    commit 0732592ed99759afab2f05e6be1723659e955464
    Author: Kota Iguchi <kota@lanica.co>
    Date:   Wed Aug 7 18:10:53 2013 -0700

        Patch to support argout typemap for your swig-v8 branch.

    commit 32f9cce600452a6210b0eebfd1d598219b90d7bc
    Merge: 4503c53 306b265
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Aug 31 03:47:43 2013 +0200

        Merged whoozle branch with ewmailing branch.

        Conflicts:
        	Lib/javascript/v8/javascriptcode.swg

    commit 306b265af99613948481a60d55fa902ae6a84c17
    Merge: 65a0be8 b511e33
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Aug 31 03:47:08 2013 +0200

        Merge branch 'devel' of git://github.com/oliver----/swig-v8 into devel

        Conflicts:
        	Lib/javascript/v8/javascriptcode.swg

    commit 4503c5390304202275a849eaa8473985adf86f02
    Author: Eric Wing <ewing -dot- public |-at-| gmail.com>
    Date:   Wed Aug 7 15:12:36 2013 -0700

        Since this code uses assert, #include <assert.h> is needed.

    commit 65a0be8876959dd9a79bc3d7290af15ab646202d
    Author: Eric Wing <ewing -dot- public |-at-| gmail.com>
    Date:   Thu Jul 11 20:04:01 2013 -0700

        v8: variable name bug fix in my template modifications for pointers to structs.

    commit f8feeacb68593063914c58c60e408d8515295b7f
    Author: Eric Wing <ewing -dot- public |-at-| gmail.com>
    Date:   Thu Jul 11 19:11:56 2013 -0700

        v8: Removed the extern "C" around the initialize function because it makes no sense since it requires a C++ templates object as a parameter.

    commit ed729f7d3adaf675bbf7f1f800cdcbe17287d987
    Author: Eric Wing <ewing -dot- public |-at-| gmail.com>
    Date:   Thu Jul 11 19:09:17 2013 -0700

        This brings over the memory leak fixes for pointers to structs with a %extend destructor from my Neha fork.  The generator was not generating and connecting the needed code for the requested destructor to the v8 dtor finalizer.

        I did not realize this branch has some JavaScriptCore stuff in it too. Unfortunately, it seems to have its own unique problems (like creating C++ files when it should be generating C files). My changes are targeted for v8, and I don't think my JSCore changes fully reach in this JSCore implementation so more work would need to be done to get this branch working. I think my Neha fork is in better shape at the moment.

        Also, I did port over the 'NULL out the dtor function pointer' in the %nodefaultdtor fix to v8.

        Usage case:
        struct MyData {
        %extend {
        ~MyData() {
        FreeData($self);
        }
        }
        };
        %newobject CreateData;
        struct MyData* CreateData(void);
        %delobject FreeData;
        void FreeData(struct MyData* the_data);

        where the use case is something like:
        var my_data = example.CreateData();
        my_data = null;

    commit 046ca7686b5605fc7e729d5a4afbe28f2d2c6807
    Author: Jason Turner <jason@emptycrate.com>
    Date:   Sat Jul 27 12:35:36 2013 -0600

        Adjust for v8::Persistent API which was deprecated @ 3.19.16

        https://groups.google.com/forum/#!topic/v8-users/oBE_DTpRC08

    commit d5df0bb72101d057b6d59cf7d683263e65288884
    Author: Eric Wing <ewing -dot- public |-at-| gmail.com>
    Date:   Wed Aug 7 15:11:49 2013 -0700

        Added #if defined guard for V8_3_14 to allow users from the original SWIG v8 implementation to continue using the new changes. It works similarly to the BUILDING_NODE_EXTENSION in all but two places. This define must be explicitly set by users  because there is no way to auto detect. (Perhaps a command line switch can be added to generate this on request?)

    commit cf9b7e89ac52badd89acc2ba2bb5072055837ce0
    Author: Jason Turner <jason@emptycrate.com>
    Date:   Sat Jul 27 09:50:03 2013 -0600

        Get memory updates working with Node.js again.

    commit 3af7d543cb52623f962a48f91a129181af29901a
    Author: Vladimir Menshakov <menshakov@spb.gs.ru>
    Date:   Wed Aug 7 16:11:59 2013 +0400

        fixed crash while instantiating generic-wrapped objects from external code, please review

    commit 9e74bdb97e049511be20322aa85884c1249d3606
    Author: Vladimir Menshakov <menshakov@spb.gs.ru>
    Date:   Tue Aug 6 15:50:43 2013 +0400

        added virtual dtor to V8ErrorHandler

    commit 868803ce2ad158326cb70d2e5667baf4014df31a
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Aug 31 03:44:44 2013 +0200

        Merge replayed as done by c778d16abed35829b103d607a53c8f88e3b2d595

    commit a190288e663e207375a42bfb7476ab1ca336f2af
    Author: Vladimir Menshakov <menshakov@spb.gs.ru>
    Date:   Thu Jul 18 21:03:56 2013 +0400

        fixed overloaded functions multiplication

    commit 45bfc97ef437eb919bec2579dd39e3bbb0fd1c12
    Author: Vladimir Menshakov <menshakov@spb.gs.ru>
    Date:   Thu Jul 18 19:15:38 2013 +0400

        converted function templates to the persistent ones (fixed crash on large wrappers)

    commit 9b6a4870dd96656f0e9ec731e9b2dea856ae4939
    Author: Vladimir Menshakov <menshakov@spb.gs.ru>
    Date:   Thu Jul 18 18:53:15 2013 +0400

        added missing scope.Close()

    commit fe25e2dfc8fd4fa29702685684337444f5948cb1
    Author: Vladimir Menshakov <menshakov@spb.gs.ru>
    Date:   Thu Jul 18 18:42:03 2013 +0400

        replaced GetInternalField with GetAlignedPointer (it does not work with SetAlignedPointer, btw)

    commit 9111773400ba10b6b98fea7996d3dcbf53b97ecf
    Author: Vladimir Menshakov <menshakov@spb.gs.ru>
    Date:   Thu Jul 11 16:41:40 2013 +0400

        generate v8-3.19.x compatible code

    commit 26a4f849485d03fe57ba47435f11953b019ae515
    Author: Vladimir Menshakov <menshakov@spb.gs.ru>
    Date:   Thu Jul 11 15:06:08 2013 +0400

        added missing javascript/v8 dir

    commit b511e33121c5167a9a206ddc2f3417f56d39afa9
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Fri May 3 18:23:36 2013 +0200

        Remove std::iostream relicts from generated v8 wrapper code.

    commit d3aa8e06fb3d3eb49c05975108acf2c84b716774
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Wed Jan 30 18:50:03 2013 +0100

        Bugfix: treat persistent V8 references correctly.

        V8 is somewhat inconvenient regarding invoke of destructors for C++ proxies.

    commit 827cef75a35ff9ff84c76c46abf483672c4dbcc4
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Fri Jan 25 17:09:13 2013 +0100

        Add an ifndef-guard to resolve a warning when building nodejs extension.

    commit 31feff8586c880bf91f7b6bde61b9dbdc6be57c9
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Fri Jan 25 17:03:23 2013 +0100

        Add missing return statement in v8 code template.

    commit 5da4f5794c45a09f3e8b641568d38ff650403752
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Fri Jan 25 14:20:51 2013 +0100

        Add preprocessor define for building node.js extensions.

    commit 65560a8664f19aaa03392bba33a4ac435867fa35
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Fri Jan 25 14:07:06 2013 +0100

        Fix v8 string conversion in case of null arguments.

    commit e3da21ee442913c5554203bf8699cab62a69ed15
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Jan 22 19:28:44 2013 +0100

        Add more ignores.

    commit a4036deda841a9894e7228c4fb80cebe86ff8efc
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Jan 22 19:26:29 2013 +0100

        Add pre-processor defines to detect the javascript engine.

    commit b0cb875ac1a1899c8752b7df33b7c70ab5ff4b3c
    Merge: 8b10c47 2252524
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Jan 22 19:24:12 2013 +0100

        Merge branch 'devel' of github.com:oliver----/swig-v8 into devel

    commit 8b10c47ed80a42c4f47b339820333132188659c0
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Jan 22 19:23:11 2013 +0100

        Fix regression: add an include for Node.js header.

    commit 22525249f26e36d6603c7ee7bce58cefd8ff611f
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Jan 22 15:54:08 2013 +0100

        Resolve compile warnings in v8_shell.

    commit 8eb9aa9e73fca795fbd6a716ba830366a4919405
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Jan 22 15:53:39 2013 +0100

        Add gitignore file.

    commit 04c0803f736ef8bd264d7a099a88b4258461547f
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Fri Jan 18 15:35:45 2013 +0100

        Fixes in configuration to detect JavascriptCore on MacOSX correctly.

    commit 4ac7065c3ba1b73cdf081eaae45ccc28853a4770
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Fri Jan 18 15:34:11 2013 +0100

        Bugfix: in javascript interpreter load extensions on MacOSX correctly.

    commit 04cdde05636f22d8504389a3a92a5c39885f04ad
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Fri Jan 18 15:33:04 2013 +0100

        Add test to check javascript unicode strings.

    commit caa92740d3241e6aa34ee38a6dbcf846d72c3275
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Wed Jan 9 00:33:09 2013 +0100

        Add an option to deactivate creation of an extra module object in javascript.

        This is useful, if the extension host calls the initializer with custom
        local variables.
        E.g., this is the case with node.js.

    commit 213c107b7f4762bf58f7d6a7c7f8b463e2068206
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Jan 8 22:37:16 2013 +0100

        Add a swig macro to register node.js extensions.

    commit 4fea3a403e5856565d51a5bf0b0a4cec4c03a583
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Jan 8 22:36:32 2013 +0100

        Generate an extra file part after the initializer for v8 modules.

        E.g., this is useful for creating node.js modules.

    commit 31844ac72adfd82c310c239434db579ba7f6670a
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Jan 8 22:34:38 2013 +0100

        Simplify the signature of the v8 module intializer.

    commit 9d630ab930f83252e75d6e66e2912cbe75ca253f
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Jan 8 21:48:22 2013 +0100

        Fix std::string support for v8.

    commit 2c4a90a37d7818f792417bfff73a88b9efcbdd01
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Tue Dec 4 01:36:51 2012 +0100

        Generate defines for initializer function.

    commit be06ceea2686f65a29a5d46d5d675d4366e5571c
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sun Dec 2 23:51:47 2012 +0100

        Fixes in std_string for JSC generator.

    commit 7fffd801e410749c37a818b22c5682375c5f9a1b
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Dec 1 13:21:22 2012 +0100

        Fix std_string.i which generated compile errors in certain cases.

    commit fb9c4955fb4c39f66ea74dcd714bb34f593b3b40
    Author: Oliver Buchtala <oliver@Olivers-Mac-mini.local>
    Date:   Thu Nov 29 03:20:49 2012 +0100

        Not a real change: removed some trailing spaces.

    commit f9d6afbdfef0d3ef3fb0d5a1675a0b1f4d2a5630
    Author: Oliver Buchtala <oliver@Olivers-Mac-mini.local>
    Date:   Thu Nov 29 03:19:00 2012 +0100

        Add a missing return statement in JS shell.

    commit 9d2264456334c88a6b0b74940cc3e96add527325
    Author: Oliver Buchtala <oliver@Olivers-Mac-mini.local>
    Date:   Thu Nov 29 03:17:27 2012 +0100

        Rename a argument variable to avoid errors with overloaded functions.

    commit bad64925eddf9f78b5bddd6fe559973c51b7f59f
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Fri Nov 23 01:59:54 2012 +0100

        Configuration is now easier for building and running examples and tests using v8.

    commit caa6827dafc4cc5b0ea3b8c16922905c46bbbf29
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Fri Nov 23 01:09:11 2012 +0100

        Javascript interpreter supports for JSC and V8 simultaneously.

        Before, one had to build two different versions.

    commit 008adca72f5917d8a80cc252572f0b1e80ed4e69
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Thu Nov 22 22:50:50 2012 +0100

        Provide more control about the target object/namespace where a v8 module is registered to.

    commit 6754bf2b49862211eb67bc2a31ce79ae31de9034
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Nov 17 03:41:22 2012 +0100

        Generate cleanup code for %newobject.

    commit 058a27bf32c6fc082c3753af3aaffb1ab4d85e83
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Nov 17 02:12:12 2012 +0100

        Simplify creation of a Javascript shell.

    commit 57980975a0f86961b3a9545fd24f34575609c6c7
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Fri Nov 16 22:10:02 2012 +0100

        Generate cleanup code.

    commit 94730dad7a5d00468d4b2798c7cbd04db6b1d30d
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:16:54 2012 +0000

        Beautify output of v8 emitter.

        Trimming some of the code templates.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13830 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit 86cb62146661f89f9cd3dd76c721ddfed529b99d
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:16:42 2012 +0000

        Add comments to v8 code templates.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13829 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit 217ffb11d0cbcfbcfbaa679bd815a80b897b1c8b
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:16:26 2012 +0000

        Fix regressions of latest commits.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13828 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit 9b06144d39f3f1b820ee90ad0bf1c2cf96cbaf6a
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:16:09 2012 +0000

        Fix handling of overloaded ctors in v8 emitter.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13827 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit 131a106204e060ac15bd2474c8a5501f82868284
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:15:51 2012 +0000

        Improve names and comments of code templates for javascript emitters.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13826 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit 8b7a9fec2519aa5faac9c3bb26f7612ee1f5aefb
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:15:29 2012 +0000

        Add complex support to v8 module.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13825 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit 7c7d1cf3b9e8a1dfd92b3ca199e2ee0b8bf1cc6f
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:15:12 2012 +0000

        Fix errors related to wrapping and destruction of (undefined) SWIG_TYPES.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13824 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit 296a5d028547c0a0a013a24e65cdcb9c3086fb52
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:14:48 2012 +0000

        Minor change in javascript example Makefile configuration.

        Propagate global CFLAGS and CXXFLAGS to inner javascript targets.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13823 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit 4616f9643ff5ce8aefe0594289c9a97230cabf09
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:14:37 2012 +0000

        Adapt test-suite configuration to allow switching between js engines.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13822 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit 8948360725e853f2232188edd38a834ac1f87666
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:14:23 2012 +0000

        Fix configuration_in for detecting v8 include and lib.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13821 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit 20927938681c14e4f812879973f8e677c08d77b0
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:14:14 2012 +0000

        Make v8 shell more quiet.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13820 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit f814a8e702dcfe2ae2f2480de372e78c5a997eb5
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:14:02 2012 +0000

        Fix errors concerning object wrapping and cleanup in v8 emitter.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13819 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit 8db76ddee10085765c41be3c5829ec0cce1e0933
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:13:42 2012 +0000

        Remove generated file from repository.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13818 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit 5425edc50894d32724b7cde8d11bce9fbd3fcdf8
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:13:29 2012 +0000

        Add library flag for building v8 shell.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13817 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit da109ee764b0c48f93554f4cc093997fe530ec28
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:13:17 2012 +0000

        Fix input string handling in v8 typemaps.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13816 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit 91fc0ff205f6f6679a0cb51716adc91a21524929
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:13:03 2012 +0000

        Use a throwing default setter in v8 emitter.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13815 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit a82e0a6e8f7ba258f29de6f8680e406a8b102ae5
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:12:46 2012 +0000

        Fix c++ linking problem in example 'variables'.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13814 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit 843c8a408cb76e22efc10ede577f17e2e5b7deb2
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:12:33 2012 +0000

        Fix AsVal macros of long and int for v8.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13813 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit d13289cc918061b9ffea6aeb9fe1dba9990727e5
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:12:18 2012 +0000

        Fix function dispatching for v8.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13812 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit 68f0f859f887f7be4c61d53b37ec8989c02833b9
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:11:51 2012 +0000

        Fix name collision in generated v8 initializer.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13811 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit da6307a19ea5668757ab59f95e670f99bd64b61a
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:11:32 2012 +0000

        Enable overloading ctors for v8.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13810 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit 70383a1b61aacfb475f72652cf120515f11de2c1
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:11:11 2012 +0000

        Enable string exceptions in v8.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13809 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit 84e5476147cd141d1178cd25be35df6b01c5b92e
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:10:57 2012 +0000

        Add std::string support to v8 typemaps.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13808 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit a4f8e4c1c3bbcd36a771313f2516717aa113b771
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:10:42 2012 +0000

        Fix bug in v8 ctor emitter.

        This bug leaded to flaky crashes of v8 engine.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13807 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit 2893df9f7394ef48424f0b88e44af702a11fdd95
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:10:27 2012 +0000

        Several fixes in v8 emitter.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13806 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit c4ab8790278b8ec1cb96f542985824af84e3144a
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:10:10 2012 +0000

        Fix string warnings of for char* constants in CPP wrappers.

        This has been done by changing the implementation of marshalOutputArgs,
        which now does not create a local result variable in this case, and
        uses the constant inline in the output typemap.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13805 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit 58e4f9703c78052ee60f3021724bc3274f3d329a
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:09:57 2012 +0000

        Fix handling of Char constants in JSC typemaps.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13804 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit 915e65135cdf90a484bd1078eb3cfe15f192e50e
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:09:43 2012 +0000

        Minor fix in v8 shell.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13803 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit c3918f3f822a09b297f30ef060c9269dc97e0f39
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:09:31 2012 +0000

        Add string support to v8 typemaps.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13802 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit bd752ff86b94a082235d0ff424729c7d5e043715
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:09:18 2012 +0000

        In example Makefiles for v8 forward to CPP target.

        As v8 is C++ it is not possible to build wrappers in C.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13801 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit 1862f43cfcd93a3f79cf652da70f22a438de4cf9
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:09:05 2012 +0000

        Minor clean up in class example.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13800 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit f1e9b21dfd63df4b694bac471daa1f9359c88378
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:08:50 2012 +0000

        Add missing swig_type_info registration in v8 emitter.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13799 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit 21bdb78f1ca2f016afb73c84b4286312f47d3175
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:08:33 2012 +0000

        Activate SwigModuleInitializer for in v8 emitter.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13798 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit 9a914af2b787b336228f779c519b39147e536a68
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:08:16 2012 +0000

        Fix v8 shell to initialize v8 context in proper order.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13797 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit 46cff47ada4ec3197798359425c165e09d4498a5
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:08:03 2012 +0000

        Several fixes in generator for v8 initializer function.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13796 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit 78f5b46381e4c93f3d1227a702761a8eda01f4ca
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:07:43 2012 +0000

        Fix class example.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13795 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit 022c274256d5f61daa6a880d781b903cb82af677
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:07:21 2012 +0000

        Minor fixes in v8 javascript shell.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13794 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit cda09239ad4b7f5367ea3382e4497cc8d830338b
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:06:58 2012 +0000

        Several fixes in v8 emitter and code templates.

        Achieves first compile of example "class" after re-integration.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13793 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit 0cae8fccd0cfdbcc6dc426c75102ac8a08430b5d
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:06:39 2012 +0000

        Minor refactor of marshalInputArgs for generalization.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13792 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit 9b0c8dae839def6e83b447230923630e819b64b4
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:06:26 2012 +0000

        Add argcount checking to functions and ctors.

        Before argument counts were only checked for overloaded functions/ctors.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13791 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit d5c5f7ebeebeef78bb847dea31bda75e65d5d197
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:06:08 2012 +0000

        Generalize ctor overloading.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13790 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit 72002392770b42c3c1a15a4167426635bf9128db
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:05:51 2012 +0000

        Fix regression in javascript's test-suite configuration.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13789 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit 78442b27647e2a3d7e45516c709632f8419b7fd6
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:05:37 2012 +0000

        Several adaptations and fixes on the way to get V8 emitter running.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13788 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit 8d72616e6598dac37109fce3562c32c31188beb1
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:05:11 2012 +0000

        Refactor emitter and code templates to use defined template variables.

        Also switched from "${...}" to $..., which is swig's common notation
        of typemap variables.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13787 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit cdd450fbe4b9fa9a756cb464dbb3f54e2791106a
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:04:51 2012 +0000

        Delete obsolete source file.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13786 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit 5fab9c8a3857f2c0499790461160bdb4bc9d3602
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:04:40 2012 +0000

        Minor cleanup in javascript shell implementation.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13785 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit 0341e6b14c9f118ca2bfe853385df88779f0521b
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:04:26 2012 +0000

        Clean up example Makefiles.

        git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13784 626c5289-ae23-0410-ae9c-e8d60b6d4f22

    commit 10dc758cadc7e0f27eee867a071ba199678e8a0a
    Author: Oliver Buchtala <oliver.buchtala@googlemail.com>
    Date:   Sat Sep 8 01:03:42 2012 +0000

        Refactored javascript shell implementation to support JSC and v8.

        Also changed configuration in examples Makefile.in to allow switching modes.

        git-svn-id: https://swig.svn.sou…
  • Loading branch information...
oliver---- committed Mar 6, 2014
1 parent c99417a commit 20ca51a3b55d93d8891ea021abd9b55da4fb6418
Showing with 12,516 additions and 18 deletions.
  1. +8 −0 .gitignore
  2. +8 −2 .travis.yml
  3. +3 −1 COPYRIGHT
  4. +770 −0 Doc/Manual/Javascript.html
  5. +1 −0 Doc/Manual/chapters
  6. +5 −1 Doc/Manual/style.css
  7. +113 −0 Examples/Makefile.in
  8. +13 −0 Examples/javascript/check.list
  9. +3 −0 Examples/javascript/class/Makefile
  10. +8 −0 Examples/javascript/class/binding.gyp
  11. +28 −0 Examples/javascript/class/example.cxx
  12. +34 −0 Examples/javascript/class/example.h
  13. +10 −0 Examples/javascript/class/example.i
  14. +1 −0 Examples/javascript/class/example.js
  15. +46 −0 Examples/javascript/class/runme.js
  16. +3 −0 Examples/javascript/constant/Makefile
  17. +8 −0 Examples/javascript/constant/binding.gyp
  18. +8 −0 Examples/javascript/constant/example.h
  19. +24 −0 Examples/javascript/constant/example.i
  20. +1 −0 Examples/javascript/constant/example.js
  21. +14 −0 Examples/javascript/constant/runme.js
  22. +3 −0 Examples/javascript/enum/Makefile
  23. +8 −0 Examples/javascript/enum/binding.gyp
  24. +37 −0 Examples/javascript/enum/example.cxx
  25. +13 −0 Examples/javascript/enum/example.h
  26. +11 −0 Examples/javascript/enum/example.i
  27. +1 −0 Examples/javascript/enum/example.js
  28. +34 −0 Examples/javascript/enum/runme.js
  29. +3 −0 Examples/javascript/exception/Makefile
  30. +8 −0 Examples/javascript/exception/binding.gyp
  31. +1 −0 Examples/javascript/exception/example.cxx
  32. +53 −0 Examples/javascript/exception/example.h
  33. +12 −0 Examples/javascript/exception/example.i
  34. +1 −0 Examples/javascript/exception/example.js
  35. +64 −0 Examples/javascript/exception/runme.js
  36. +3 −0 Examples/javascript/functor/Makefile
  37. +8 −0 Examples/javascript/functor/binding.gyp
  38. 0 Examples/javascript/functor/example.cxx
  39. +25 −0 Examples/javascript/functor/example.i
  40. +1 −0 Examples/javascript/functor/example.js
  41. +15 −0 Examples/javascript/functor/runme.js
  42. +52 −0 Examples/javascript/js_example.mk
  43. +3 −0 Examples/javascript/namespace/Makefile
  44. +8 −0 Examples/javascript/namespace/binding.gyp
  45. +36 −0 Examples/javascript/namespace/example.cxx
  46. +20 −0 Examples/javascript/namespace/example.h
  47. +10 −0 Examples/javascript/namespace/example.i
  48. +1 −0 Examples/javascript/namespace/example.js
  49. +10 −0 Examples/javascript/namespace/runme.js
  50. +3 −0 Examples/javascript/operator/Makefile
  51. +8 −0 Examples/javascript/operator/binding.gyp
  52. +36 −0 Examples/javascript/operator/example.h
  53. +34 −0 Examples/javascript/operator/example.i
  54. +1 −0 Examples/javascript/operator/example.js
  55. +25 −0 Examples/javascript/operator/runme.js
  56. +3 −0 Examples/javascript/overload/Makefile
  57. +8 −0 Examples/javascript/overload/binding.gyp
  58. +28 −0 Examples/javascript/overload/example.h
  59. +16 −0 Examples/javascript/overload/example.i
  60. +1 −0 Examples/javascript/overload/example.js
  61. +9 −0 Examples/javascript/overload/runme.js
  62. +3 −0 Examples/javascript/pointer/Makefile
  63. +8 −0 Examples/javascript/pointer/binding.gyp
  64. +16 −0 Examples/javascript/pointer/example.cxx
  65. +30 −0 Examples/javascript/pointer/example.i
  66. +1 −0 Examples/javascript/pointer/example.js
  67. +35 −0 Examples/javascript/pointer/runme.js
  68. 0 Examples/javascript/pointer/typemaps.i
  69. +3 −0 Examples/javascript/reference/Makefile
  70. +8 −0 Examples/javascript/reference/binding.gyp
  71. +46 −0 Examples/javascript/reference/example.cxx
  72. +26 −0 Examples/javascript/reference/example.h
  73. +42 −0 Examples/javascript/reference/example.i
  74. +1 −0 Examples/javascript/reference/example.js
  75. +67 −0 Examples/javascript/reference/runme.js
  76. +22 −0 Examples/javascript/reference/swig_gdb.log
  77. +3 −0 Examples/javascript/simple/Makefile
  78. +8 −0 Examples/javascript/simple/binding.gyp
  79. +18 −0 Examples/javascript/simple/example.cxx
  80. +7 −0 Examples/javascript/simple/example.i
  81. +1 −0 Examples/javascript/simple/example.js
  82. +26 −0 Examples/javascript/simple/runme.js
  83. +3 −0 Examples/javascript/template/Makefile
  84. +8 −0 Examples/javascript/template/binding.gyp
  85. +32 −0 Examples/javascript/template/example.h
  86. +17 −0 Examples/javascript/template/example.i
  87. +1 −0 Examples/javascript/template/example.js
  88. +30 −0 Examples/javascript/template/runme.js
  89. +3 −0 Examples/javascript/variables/Makefile
  90. +8 −0 Examples/javascript/variables/binding.gyp
  91. +96 −0 Examples/javascript/variables/example.cxx
  92. +6 −0 Examples/javascript/variables/example.h
  93. +49 −0 Examples/javascript/variables/example.i
  94. +1 −0 Examples/javascript/variables/example.js
  95. +68 −0 Examples/javascript/variables/runme.js
  96. +9 −0 Examples/javascript/variables/swig_gdb.log
  97. +23 −3 Examples/test-suite/common.mk
  98. +1 −1 Examples/test-suite/constructor_copy.i
  99. +1 −1 Examples/test-suite/director_nspace.i
  100. +48 −0 Examples/test-suite/infinity.i
  101. +172 −0 Examples/test-suite/javascript/Makefile.in
  102. +6 −0 Examples/test-suite/javascript/abstract_access_runme.js
  103. +40 −0 Examples/test-suite/javascript/abstract_inherit_runme.js
  104. +6 −0 Examples/test-suite/javascript/abstract_typedef2_runme.js
  105. +8 −0 Examples/test-suite/javascript/abstract_typedef_runme.js
  106. +11 −0 Examples/test-suite/javascript/abstract_virtual_runme.js
  107. +22 −0 Examples/test-suite/javascript/array_member_runme.js
  108. +18 −0 Examples/test-suite/javascript/arrays_global_runme.js
  109. +30 −0 Examples/test-suite/javascript/callback_runme.js
  110. +38 −0 Examples/test-suite/javascript/char_binary_runme.js
  111. +11 −0 Examples/test-suite/javascript/char_strings_runme.js
  112. +6 −0 Examples/test-suite/javascript/class_ignore_runme.js
  113. +6 −0 Examples/test-suite/javascript/class_scope_weird_runme.js
  114. +22 −0 Examples/test-suite/javascript/complextest_runme.js
  115. +33 −0 Examples/test-suite/javascript/constover_runme.js
  116. +42 −0 Examples/test-suite/javascript/constructor_copy_runme.js
  117. +28 −0 Examples/test-suite/javascript/cpp_enum_runme.js
  118. +47 −0 Examples/test-suite/javascript/cpp_namespace_runme.js
  119. +9 −0 Examples/test-suite/javascript/cpp_static_runme.js
  120. +5 −0 Examples/test-suite/javascript/director_alternating_runme.js
  121. +22 −0 Examples/test-suite/javascript/disown_runme.js
  122. +12 −0 Examples/test-suite/javascript/dynamic_cast_runme.js
  123. +1 −0 Examples/test-suite/javascript/empty_runme.js
  124. +8 −0 Examples/test-suite/javascript/enum_template_runme.js
  125. +4 −0 Examples/test-suite/javascript/infinity_runme.js
  126. +9 −0 Examples/test-suite/javascript/javascript_unicode_runme.js
  127. +3 −0 Examples/test-suite/javascript/namespace_virtual_method_runme.js
  128. +30 −0 Examples/test-suite/javascript/node_template/binding.gyp.in
  129. +1 −0 Examples/test-suite/javascript/node_template/index.js.in
  130. +27 −0 Examples/test-suite/javascript/nspace_extend_runme.js
  131. +77 −0 Examples/test-suite/javascript/nspace_runme.js
  132. +4 −0 Examples/test-suite/javascript/overload_copy_runme.js
  133. +23 −0 Examples/test-suite/javascript/preproc_include_runme.js
  134. +14 −0 Examples/test-suite/javascript/preproc_runme.js
  135. +68 −0 Examples/test-suite/javascript/rename1_runme.js
  136. +68 −0 Examples/test-suite/javascript/rename2_runme.js
  137. +68 −0 Examples/test-suite/javascript/rename3_runme.js
  138. +68 −0 Examples/test-suite/javascript/rename4_runme.js
  139. +17 −0 Examples/test-suite/javascript/rename_scope_runme.js
  140. +50 −0 Examples/test-suite/javascript/rename_simple_runme.js
  141. +8 −0 Examples/test-suite/javascript/ret_by_value_runme.js
  142. +6 −0 Examples/test-suite/javascript/setup_test.sh
  143. +11 −0 Examples/test-suite/javascript/struct_value_runme.js
  144. +3 −0 Examples/test-suite/javascript/template_static_runme.js
  145. +7 −0 Examples/test-suite/javascript/typedef_class_runme.js
  146. +23 −0 Examples/test-suite/javascript/typedef_inherit_runme.js
  147. +12 −0 Examples/test-suite/javascript/typedef_scope_runme.js
  148. +5 −0 Examples/test-suite/javascript/typemap_arrays_runme.js
  149. +5 −0 Examples/test-suite/javascript/typemap_delete_runme.js
  150. +7 −0 Examples/test-suite/javascript/typemap_namespace_runme.js
  151. +4 −0 Examples/test-suite/javascript/typemap_ns_using_runme.js
  152. +4 −0 Examples/test-suite/javascript/using1_runme.js
  153. +4 −0 Examples/test-suite/javascript/using2_runme.js
  154. +44 −0 Examples/test-suite/javascript/varargs_runme.js
  155. +10 −0 Examples/test-suite/javascript_unicode.i
  156. +1 −1 Examples/test-suite/nspace.i
  157. +1 −1 Examples/test-suite/nspace_extend.i
  158. +123 −0 Lib/javascript/jsc/arrays_javascript.i
  159. +26 −0 Lib/javascript/jsc/ccomplex.i
  160. +1 −0 Lib/javascript/jsc/cdata.i
  161. +6 −0 Lib/javascript/jsc/complex.i
  162. +1 −0 Lib/javascript/jsc/exception.i
  163. +19 −0 Lib/javascript/jsc/javascript.swg
  164. +418 −0 Lib/javascript/jsc/javascriptcode.swg
  165. +146 −0 Lib/javascript/jsc/javascriptcomplex.swg
  166. +23 −0 Lib/javascript/jsc/javascriptfragments.swg
  167. +69 −0 Lib/javascript/jsc/javascripthelpers.swg
  168. +67 −0 Lib/javascript/jsc/javascriptinit.swg
  169. +40 −0 Lib/javascript/jsc/javascriptkw.swg
  170. +182 −0 Lib/javascript/jsc/javascriptprimtypes.swg
  171. +298 −0 Lib/javascript/jsc/javascriptrun.swg
  172. +19 −0 Lib/javascript/jsc/javascriptruntime.swg
  173. +184 −0 Lib/javascript/jsc/javascriptstrings.swg
  174. +54 −0 Lib/javascript/jsc/javascripttypemaps.swg
  175. +5 −0 Lib/javascript/jsc/std_common.i
  176. +19 −0 Lib/javascript/jsc/std_complex.i
  177. +1 −0 Lib/javascript/jsc/std_deque.i
  178. +1 −0 Lib/javascript/jsc/std_except.i
  179. +74 −0 Lib/javascript/jsc/std_map.i
  180. +34 −0 Lib/javascript/jsc/std_pair.i
  181. +69 −0 Lib/javascript/jsc/std_string.i
  182. +85 −0 Lib/javascript/jsc/std_vector.i
  183. +10 −0 Lib/javascript/jsc/stl.i
  184. +148 −0 Lib/javascript/jsc/typemaps.i
  185. +125 −0 Lib/javascript/v8/arrays_javascript.i
  186. +26 −0 Lib/javascript/v8/ccomplex.i
  187. +1 −0 Lib/javascript/v8/cdata.i
  188. +6 −0 Lib/javascript/v8/complex.i
  189. +1 −0 Lib/javascript/v8/exception.i
  190. +19 −0 Lib/javascript/v8/javascript.swg
  191. +468 −0 Lib/javascript/v8/javascriptcode.swg
  192. +123 −0 Lib/javascript/v8/javascriptcomplex.swg
  193. +23 −0 Lib/javascript/v8/javascriptfragments.swg
  194. +87 −0 Lib/javascript/v8/javascripthelpers.swg
  195. +118 −0 Lib/javascript/v8/javascriptinit.swg
  196. +40 −0 Lib/javascript/v8/javascriptkw.swg
  197. +198 −0 Lib/javascript/v8/javascriptprimtypes.swg
  198. +462 −0 Lib/javascript/v8/javascriptrun.swg
  199. +39 −0 Lib/javascript/v8/javascriptruntime.swg
  200. +59 −0 Lib/javascript/v8/javascriptstrings.swg
  201. +43 −0 Lib/javascript/v8/javascripttypemaps.swg
  202. +12 −0 Lib/javascript/v8/node.i
  203. +5 −0 Lib/javascript/v8/std_common.i
  204. +19 −0 Lib/javascript/v8/std_complex.i
  205. +1 −0 Lib/javascript/v8/std_deque.i
  206. +1 −0 Lib/javascript/v8/std_except.i
  207. +74 −0 Lib/javascript/v8/std_map.i
  208. +33 −0 Lib/javascript/v8/std_pair.i
  209. +79 −0 Lib/javascript/v8/std_string.i
  210. +85 −0 Lib/javascript/v8/std_vector.i
  211. +10 −0 Lib/javascript/v8/stl.i
  212. +148 −0 Lib/javascript/v8/typemaps.i
  213. +2 −2 Lib/typemaps/strings.swg
  214. +14 −5 Makefile.in
  215. +1 −0 Source/Makefile.am
  216. +2,428 −0 Source/Modules/javascript.cxx
  217. +2 −0 Source/Modules/swigmain.cxx
  218. +58 −0 Tools/javascript/Makefile.in
  219. +66 −0 Tools/javascript/javascript.cxx
  220. +156 −0 Tools/javascript/js_shell.cxx
  221. +53 −0 Tools/javascript/js_shell.h
  222. +233 −0 Tools/javascript/jsc_shell.cxx
  223. +313 −0 Tools/javascript/v8_shell.cxx
  224. +24 −0 Tools/swigprinters.gdb
  225. +574 −0 Tools/swigprinters.py
  226. +226 −0 configure.ac
  227. +153 −0 swig-v8/swig-v8.xcodeproj/project.pbxproj
View
@@ -5,6 +5,8 @@
# Editor files and various other junk
.*.sw?
*.bak
+*.log
+.DS_Store
# Local PCRE
pcre
@@ -23,6 +25,7 @@ pcre
*.so
*.so.*
*.dylib
+*.bundle
# C/C++ static libraries, based on:
# https://github.com/github/gitignore/blob/master/C.gitignore
@@ -71,6 +74,7 @@ Examples/xml/Makefile
Source/Include/stamp-h1
Source/Include/swigconfig.h
Source/Makefile
+Tools/javascript/Makefile
.deps
config.log
config.status
@@ -85,6 +89,7 @@ Source/CParse/parser.c
Source/CParse/parser.h
Source/eswig
swig
+Tools/javascript/javascript
# Generated documentation
Doc/Manual/CCache.html
@@ -102,6 +107,7 @@ Examples/test-suite/d/*/
Examples/test-suite/go/*/
Examples/test-suite/guile/*/
Examples/test-suite/java/*/
+Examples/test-suite/javascript/*/
Examples/test-suite/lua/*/
Examples/test-suite/mzscheme/*/
Examples/test-suite/ocaml/*/
@@ -114,6 +120,8 @@ Examples/test-suite/r/*/
Examples/test-suite/ruby/*/
Examples/test-suite/tcl/*/
Examples/test-suite/uffi/*/
+*_wrap.c
+*_wrap.cxx
# Python generated files, based on:
# https://github.com/github/gitignore/blob/master/Python.gitignore
View
@@ -1,6 +1,5 @@
-language: cpp
+language: c
compiler:
- - clang
- gcc
env:
- SWIGLANG=
@@ -14,6 +13,12 @@ matrix:
env: SWIGLANG=guile
- compiler: gcc
env: SWIGLANG=java
+ - compiler: gcc
+ env: SWIGLANG=javascript ENGINE=node
+ - compiler: gcc
+ env: SWIGLANG=javascript ENGINE=jsc
+ - compiler: gcc
+ env: SWIGLANG=javascript ENGINE=v8
- compiler: gcc
env: SWIGLANG=lua
- compiler: gcc
@@ -43,6 +48,7 @@ before_install:
- if test -z "$SWIGLANG"; then sudo apt-get -qq install yodl; fi
- if test "$SWIGLANG" = "csharp"; then sudo apt-get -qq install mono-devel; fi
- if test "$SWIGLANG" = "go"; then go env | sed -e 's/^/export /' > goenvsetup && source goenvsetup && rm -f goenvsetup; fi # Until configure.ac is fixed
+ - if test "$SWIGLANG" = "javascript"; then sudo apt-get install -qq rlwrap python-software-properties && echo 'yes' | sudo add-apt-repository ppa:chris-lea/node.js && sudo apt-get -qq update && sudo apt-get install -qq nodejs libv8-dev libwebkitgtk-dev && sudo npm install -g node-gyp; fi
- if test "$SWIGLANG" = "guile"; then sudo apt-get -qq install guile-2.0-dev; fi
- if test "$SWIGLANG" = "lua"; then sudo apt-get -qq install lua5.1 liblua5.1-dev; fi
- if test "$SWIGLANG" = "octave"; then sudo apt-get -qq install octave3.2 octave3.2-headers; fi
View
@@ -15,7 +15,9 @@ Active SWIG Developers:
Olly Betts (olly@survex.com) (PHP)
Joseph Wang (joequant@gmail.com) (R)
Xavier Delacour (xavier.delacour@gmail.com) (Octave)
- David Nadlinger (code@klickverbot.at) (D)
+ David Nadlinger (code@klickverbot.at)
+ Oliver Buchtala (oliver.buchtala@gmail.com) (Javascript)
+ Neha Narang (narangneha03@gmail.com) (Javascript)
Past SWIG developers and major contributors include:
Dave Beazley (dave-swig@dabeaz.com) (SWIG core, Python, Tcl, Perl)
View

Large diffs are not rendered by default.

Oops, something went wrong.
View
@@ -23,6 +23,7 @@ D.html
Go.html
Guile.html
Java.html
+Javascript.html
Lisp.html
Lua.html
Modula3.html
View
@@ -25,7 +25,7 @@ div.indent {
margin-right: 4em;
}
-div.code {
+div.code, div:not(.code) pre {
border-style: solid;
border-width: 1px;
padding: 2pt;
@@ -82,3 +82,7 @@ div.indent p {
margin-right: 0;
}
+h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
+ text-decoration:none;
+ color: #000000;
+}
View
@@ -589,6 +589,119 @@ java_clean:
rm -f core @EXTRA_CLEAN@
rm -f *.@OBJEXT@ *@JAVASO@
+##################################################################
+##### JAVASCRIPT ######
+##################################################################
+
+# Note: These targets are also from within Makefiles in the Example directories.
+# There is a common makefile, 'Examples/javascript/js_example.mk' to simplify
+# create a configuration for a new example.
+
+
+ROOT_DIR = @ROOT_DIR@
+JSCFLAGS = @JSCFLAGS@
+JSCXXFLAGS = @JSCXXFLAGS@
+JSINCLUDES = @JSCOREINC@ @JSV8INC@
+JSDYNAMICLINKING = @JSCOREDYNAMICLINKING@ @JSV8DYNAMICLINKING@
+JSLIBRARYPREFIX = @JSLIBRARYPREFIX@
+JSSO =@JSSO@
+JSLDSHARED = @JSLDSHARED@
+JSCXXSHARED = @JSCXXSHARED@
+
+SWIGJS = $(SWIG) -javascript
+
+# ----------------------------------------------------------------
+# Creating and building Javascript wrappers
+# ----------------------------------------------------------------
+
+javascript_wrapper:
+ $(SWIGJS) $(SWIGOPT) -o $(INTERFACEDIR)$(TARGET)_wrap.c $(INTERFACEPATH)
+
+javascript_wrapper_cpp: $(SRCS)
+ $(SWIGJS) -c++ $(SWIGOPT) -o $(INTERFACEDIR)$(TARGET)_wrap.cxx $(INTERFACEPATH)
+
+javascript_build: $(SRCS)
+ $(CC) -c $(CCSHARED) $(CFLAGS) $(JSCFLAGS) $(ISRCS) $(SRCS) $(INCLUDES) $(JSINCLUDES)
+ $(LDSHARED) $(CFLAGS) $(OBJS) $(IOBJS) $(JSDYNAMICLINKING) $(LIBS) -o $(LIBPREFIX)$(TARGET)$(SO)
+
+javascript_build_cpp:: $(SRCS)
+ $(CXX) -c $(CCSHARED) $(CFLAGS) $(JSCFLAGS) $(ICXXSRCS) $(SRCS) $(CXXSRCS) $(INCLUDES) $(JSINCLUDES)
+ $(CXXSHARED) $(CFLAGS) $(OBJS) $(IOBJS) $(JSDYNAMICLINKING) $(LIBS) $(CPP_DLLIBS) -o $(LIBPREFIX)$(TARGET)$(SO)
+
+# TODO: make node-gyp configurable and detected via ./configure
+javascript_build_node: $(SRCS)
+ node-gyp --loglevel=silent configure build 1>>/dev/null
+
+# These targets are used by the test-suite:
+
+javascript: $(SRCS) javascript_custom_interpreter
+ $(SWIGJS) $(SWIGOPT) $(INTERFACEPATH)
+ $(CC) -c $(CCSHARED) $(CFLAGS) $(JSCFLAGS) $(ISRCS) $(SRCS) $(INCLUDES) $(JSINCLUDES)
+ $(LDSHARED) $(CFLAGS) $(OBJS) $(IOBJS) $(JSDYNAMICLINKING) $(LIBS) -o $(LIBPREFIX)$(TARGET)$(SO)
+
+javascript_cpp: $(SRCS) javascript_custom_interpreter
+ $(SWIGJS) -c++ $(SWIGOPT) $(INTERFACEPATH)
+ $(CXX) -c $(CCSHARED) $(CFLAGS) $(JSCFLAGS) $(ICXXSRCS) $(SRCS) $(CXXSRCS) $(INCLUDES) $(JSINCLUDES)
+ $(CXXSHARED) $(CFLAGS) $(OBJS) $(IOBJS) $(JSDYNAMICLINKING) $(LIBS) $(CPP_DLLIBS) -o $(LIBPREFIX)$(TARGET)$(SO)
+
+# -----------------------------------------------------------------
+# Running a javascript example
+# -----------------------------------------------------------------
+
+javascript_custom_interpreter:
+ (cd $(ROOT_DIR)/Tools/javascript && $(MAKE) JSENGINE='$(JSENGINE)')
+
+javascript_run: javascript_custom_interpreter
+ $(ROOT_DIR)/Tools/javascript/javascript -$(JSENGINE) -L $(TARGET) runme.js
+
+# TODO: make node configurable and detected via ./configure
+javascript_run_node:
+ @NODEJS@ runme.js
+
+# -----------------------------------------------------------------
+# Version display
+# -----------------------------------------------------------------
+
+ifeq (, $(ENGINE))
+javascript_version:
+ @ if [ "@NODEJS@" != "" ]; then \
+ echo "Node.js: `(@NODEJS@ --version)`"; \
+ else \
+ echo "Version depends on the interpreter"; \
+ fi
+endif
+
+ifeq (node, $(ENGINE))
+javascript_version:
+ @NODEJS@ --version
+endif
+
+ifeq (jsc, $(ENGINE))
+javascript_version:
+ @ if [ "@JSCOREVERSION@" != "" ]; then \
+ echo "@JSCOREVERSION@"; \
+ else \
+ echo "Unknown JavascriptCore version."; \
+ fi
+endif
+
+ifeq (v8, $(ENGINE))
+javascript_version:
+ echo "Unknown v8 version."
+endif
+
+
+# -----------------------------------------------------------------
+# Cleaning the javascript examples
+# -----------------------------------------------------------------
+
+javascript_clean:
+ rm -rf build
+ rm -f *_wrap* runme
+ rm -f core @EXTRA_CLEAN@
+ rm -f *.@OBJEXT@ *@JSSO@ *.$(SO)
+ (cd $(ROOT_DIR)/Tools/javascript && $(MAKE) -s clean)
+
##################################################################
##### ANDROID ######
##################################################################
@@ -0,0 +1,13 @@
+class
+constant
+enum
+#exception
+functor
+#namespace
+operator
+overload
+pointer
+#reference
+simple
+template
+variables
@@ -0,0 +1,3 @@
+SRCS = example.cxx
+
+include ../js_example.mk
@@ -0,0 +1,8 @@
+{
+ "targets": [
+ {
+ "target_name": "example",
+ "sources": [ "example.cxx", "example_wrap.cxx" ]
+ }
+ ]
+}
@@ -0,0 +1,28 @@
+/* File : example.c */
+#include <iostream>
+#include "example.h"
+#define M_PI 3.14159265358979323846
+
+/* Move the shape to a new location */
+void Shape::move(double dx, double dy) {
+ x += dx;
+ y += dy;
+}
+
+int Shape::nshapes = 0;
+
+double Circle::area(void) {
+ return M_PI*radius*radius;
+}
+
+double Circle::perimeter(void) {
+ return 2*M_PI*radius;
+}
+
+double Square::area(void) {
+ return width*width;
+}
+
+double Square::perimeter(void) {
+ return 4*width;
+}
@@ -0,0 +1,34 @@
+/* File : example.h */
+
+class Shape {
+public:
+ Shape() {
+ nshapes++;
+ }
+ virtual ~Shape() {
+ nshapes--;
+ };
+ double x, y;
+ void move(double dx, double dy);
+ virtual double area(void) = 0;
+ virtual double perimeter(void) = 0;
+ static int nshapes;
+};
+
+class Circle : public Shape {
+private:
+ double radius;
+public:
+ Circle(double r) : radius(r) { };
+ virtual double area(void);
+ virtual double perimeter(void);
+};
+
+class Square : public Shape {
+private:
+ double width;
+public:
+ Square(double w) : width(w) { };
+ virtual double area(void);
+ virtual double perimeter(void);
+};
@@ -0,0 +1,10 @@
+/* File : example.i */
+%module example
+
+%{
+#include "example.h"
+%}
+
+/* Let's just grab the original header file here */
+%include "example.h"
+
@@ -0,0 +1 @@
+module.exports = require("./build/Release/example");
@@ -0,0 +1,46 @@
+var example = require("./example");
+
+// ----- Object creation -----
+
+console.log("Creating some objects:");
+c = new example.Circle(10);
+console.log("Created circle " + c);
+s = new example.Square(10);
+console.log("Created square " + s);
+
+// ----- Access a static member -----
+console.log("\nA total of " + example.Shape.nshapes + " shapes were created"); // access static member as properties of the class object
+
+// ----- Member data access -----
+// Set the location of the object.
+// Note: methods in the base class Shape are used since
+// x and y are defined there.
+
+c.x = 20;
+c.y = 30;
+s.x = -10;
+s.y = 5;
+
+console.log("\nHere is their new position:");
+console.log("Circle = (" + c.x + "," + c.y + ")");
+console.log("Square = (" + s.x + "," + s.y + ")");
+
+// ----- Call some methods -----
+console.log("\nHere are some properties of the shapes:");
+console.log("Circle:");
+console.log("area = " + c.area() + "");
+console.log("perimeter = " + c.perimeter() + "");
+console.log("\n");
+console.log("Square:");
+console.log("area = " + s.area() + "");
+console.log("perimeter = " + s.perimeter() + "");
+
+// ----- Delete everything -----
+console.log("\nGuess I'll clean up now");
+// Note: this invokes the virtual destructor
+delete c;
+delete s;
+
+console.log(example.Shape.nshapes + " shapes remain");
+
+console.log("Goodbye");
@@ -0,0 +1,3 @@
+SRCS =
+
+include ../js_example.mk
@@ -0,0 +1,8 @@
+{
+ "targets": [
+ {
+ "target_name": "example",
+ "sources": [ "example_wrap.cxx" ]
+ }
+ ]
+}
Oops, something went wrong.

0 comments on commit 20ca51a

Please sign in to comment.