forked from WolfgangWaltenberger/rave
-
Notifications
You must be signed in to change notification settings - Fork 2
/
rave_autoconf.i.in
46 lines (40 loc) · 1.22 KB
/
rave_autoconf.i.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
// Python & Java convenience
%{
#include <sstream>
%}
%define STRINGHELPER(classname)
%extend classname {
const char * toString() {
std::ostringstream os;
os << (*self);
return os.str().c_str();
}
std::string __str__() {
std::ostringstream os;
os << (*self);
return os.str();
}
};
%enddef // STRINGHELPER
%include "rave.i"
%pragma(java) jniclasscode = %{
static {
String libname = System.mapLibraryName( "@JAVALIBRARY@" );
try {
try {
System.load ( "@prefix@/lib/jni/" + libname );
System.out.println( libname + " successfully loaded!" );
} catch(UnsatisfiedLinkError e) {
libname = "lib@JAVALIBRARY@.so";
System.load ( "@prefix@/lib/jni/" + libname );
System.out.println( libname + " successfully loaded!" );
}
} catch(SecurityException e) {
System.out.println( libname + " not loaded!" );
e.printStackTrace();
} catch(UnsatisfiedLinkError e) {
System.out.println( libname + " not loaded!" );
e.printStackTrace();
}
}
%}