# most of JNI functions. You can use it to further customize the behavior
# of your code.
module java is
- c_compiler_option("-I $(JAVA_HOME)/include/")
+ c_compiler_option "-I $(JAVA_HOME)/include/ -I $(JAVA_HOME)/include/linux/"
c_linker_option("-L $(JNI_LIB_PATH) -ljvm")
new_annotation extra_java_files
end
# Tell the C compiler where to find jni.h and how to link with libjvm
private fun insert_compiler_options
do
- c_compiler_options = "{c_compiler_options} -I $(JAVA_HOME)/include/"
+ c_compiler_options = "{c_compiler_options} -I $(JAVA_HOME)/include/ -I $(JAVA_HOME)/include/linux/"
c_linker_options = "{c_linker_options} -L $(JNI_LIB_PATH) -ljvm"
end
return new ArrayList();
`}
- fun add(o: Int) in "Java" `{ recv.add(o); `}
+ fun add(o: JavaString) in "Java" `{ recv.add(o); `}
redef fun output in "Java" `{
for (Object i: recv) {
- System.out.println((long)i);
+ System.out.println((String)i);
}
`}
end
var ll = new JavaArrayList
-ll.add(1)
-ll.add(2)
-ll.add(1)
-ll.add(3)
-ll.add(20)
-ll.add(10)
+ll.add "1".to_java_string
+ll.add "2".to_java_string
+ll.add "1".to_java_string
+ll.add "3".to_java_string
+ll.add "20".to_java_string
+ll.add "10".to_java_string
ll.output
ll.sort
ll.output
# Get the first Java lib available
shopt -s nullglob
-paths=`echo /usr/lib/jvm/*/`
-paths=($paths)
-JAVA_HOME=${paths[0]}
+JAVA_HOME=$(dirname $(dirname $(readlink -f $(which javac))))
paths=`echo $JAVA_HOME/jre/lib/*/{client,server}/`
paths=($paths)
JNI_LIB_PATH=${paths[0]}
+echo $JAVA_HOME
+echo $JNI_LIB_PATH
shopt -u nullglob
outdir="out"