From bb84cbb4f6fc08d381f82508b0193c83d469076c Mon Sep 17 00:00:00 2001 From: Marcelo Matus Date: Fri, 30 Dec 2005 10:03:00 +0000 Subject: [PATCH] add java example and missing cvsignore files git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8137 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- SWIG/Examples/ruby/check.list | 1 + SWIG/Examples/ruby/free_function/.cvsignore | 1 + SWIG/Examples/ruby/java/.cvsignore | 2 ++ SWIG/Examples/ruby/java/Example.java | 29 +++++++++++++++++++++ SWIG/Examples/ruby/java/Makefile | 28 ++++++++++++++++++++ SWIG/Examples/ruby/java/example.cxx | 0 SWIG/Examples/ruby/java/example.i | 9 +++++++ SWIG/Examples/ruby/java/runme.rb | 16 ++++++++++++ SWIG/Examples/ruby/mark_function/.cvsignore | 1 + 9 files changed, 87 insertions(+) create mode 100644 SWIG/Examples/ruby/free_function/.cvsignore create mode 100644 SWIG/Examples/ruby/java/.cvsignore create mode 100644 SWIG/Examples/ruby/java/Example.java create mode 100644 SWIG/Examples/ruby/java/Makefile create mode 100644 SWIG/Examples/ruby/java/example.cxx create mode 100644 SWIG/Examples/ruby/java/example.i create mode 100644 SWIG/Examples/ruby/java/runme.rb create mode 100644 SWIG/Examples/ruby/mark_function/.cvsignore diff --git a/SWIG/Examples/ruby/check.list b/SWIG/Examples/ruby/check.list index 44e114a0e..789af8ef1 100644 --- a/SWIG/Examples/ruby/check.list +++ b/SWIG/Examples/ruby/check.list @@ -21,3 +21,4 @@ std_vector template value variables +java diff --git a/SWIG/Examples/ruby/free_function/.cvsignore b/SWIG/Examples/ruby/free_function/.cvsignore new file mode 100644 index 000000000..bd7dd8a57 --- /dev/null +++ b/SWIG/Examples/ruby/free_function/.cvsignore @@ -0,0 +1 @@ +example_wrap.cxx diff --git a/SWIG/Examples/ruby/java/.cvsignore b/SWIG/Examples/ruby/java/.cvsignore new file mode 100644 index 000000000..7926f8113 --- /dev/null +++ b/SWIG/Examples/ruby/java/.cvsignore @@ -0,0 +1,2 @@ +example_wrap.cxx +Example.class Example.h diff --git a/SWIG/Examples/ruby/java/Example.java b/SWIG/Examples/ruby/java/Example.java new file mode 100644 index 000000000..91ddb1ac5 --- /dev/null +++ b/SWIG/Examples/ruby/java/Example.java @@ -0,0 +1,29 @@ +public class Example { + public int mPublicInt; + + public Example() { + mPublicInt = 0; + } + + public Example(int IntVal) { + mPublicInt = IntVal; + } + + + public int Add(int a, int b) { + return (a+b); + } + + public float Add(float a, float b) { + return (a+b); + } + + public String Add(String a, String b) { + return (a+b); + } + + public Example Add(Example a, Example b) { + return new Example(a.mPublicInt + b.mPublicInt); + } +} + diff --git a/SWIG/Examples/ruby/java/Makefile b/SWIG/Examples/ruby/java/Makefile new file mode 100644 index 000000000..aac27fcb2 --- /dev/null +++ b/SWIG/Examples/ruby/java/Makefile @@ -0,0 +1,28 @@ +CXX = gcj +TOP = ../.. +SWIG = $(TOP)/../preinst-swig +CXXSRCS = +TARGET = example +INTERFACE = example.i +LIBS = -lm + +all:: Example.class + $(MAKE) -f $(TOP)/Makefile CXXSRCS='$(CXXSRCS)' SWIG='$(SWIG)' \ + TARGET='$(TARGET)' INTERFACE='$(INTERFACE)' CXX="gcj" CFLAGS="-fPIC" \ + CXXSHARED="gcj -fPIC -shared Example.class" DEFS='' ruby_cpp + + +clean:: + $(MAKE) -f $(TOP)/Makefile python_clean + rm -f *.class Example.h + +check: all + +run: + ruby runme.rb + +Example.class: Example.java + gcj -v || exit 0 + gcj -fPIC -C -c -g Example.java + gcjh Example + diff --git a/SWIG/Examples/ruby/java/example.cxx b/SWIG/Examples/ruby/java/example.cxx new file mode 100644 index 000000000..e69de29bb diff --git a/SWIG/Examples/ruby/java/example.i b/SWIG/Examples/ruby/java/example.i new file mode 100644 index 000000000..43cafaf29 --- /dev/null +++ b/SWIG/Examples/ruby/java/example.i @@ -0,0 +1,9 @@ +%module example +%include + +%{ +#include "Example.h" +%} + + +%include Example.h diff --git a/SWIG/Examples/ruby/java/runme.rb b/SWIG/Examples/ruby/java/runme.rb new file mode 100644 index 000000000..4531532fb --- /dev/null +++ b/SWIG/Examples/ruby/java/runme.rb @@ -0,0 +1,16 @@ +require 'example' + +Example.JvCreateJavaVM(nil) +Example.JvAttachCurrentThread(nil, nil) + +e1 = Example::Example.new(1) +e2 = Example::Example.new(2) + +print e1.Add(1,2),"\n" +print e1.Add(1.0,2.0),"\n" +e3 = e1.Add(e1,e2) +print e3.mPublicInt,"\n" + + +Example.JvDetachCurrentThread() + diff --git a/SWIG/Examples/ruby/mark_function/.cvsignore b/SWIG/Examples/ruby/mark_function/.cvsignore new file mode 100644 index 000000000..bd7dd8a57 --- /dev/null +++ b/SWIG/Examples/ruby/mark_function/.cvsignore @@ -0,0 +1 @@ +example_wrap.cxx