diff options
Diffstat (limited to 'test/disabled/jvm')
-rwxr-xr-x | test/disabled/jvm/libnatives-32.so | bin | 0 -> 5359 bytes | |||
-rwxr-xr-x | test/disabled/jvm/libnatives-64.so | bin | 0 -> 7466 bytes | |||
-rwxr-xr-x | test/disabled/jvm/libnatives.jnilib | bin | 0 -> 8456 bytes | |||
-rwxr-xr-x | test/disabled/jvm/mkLibNatives.bat | 68 | ||||
-rwxr-xr-x | test/disabled/jvm/mkLibNatives.sh | 61 | ||||
-rwxr-xr-x | test/disabled/jvm/natives-32.dll | bin | 0 -> 40960 bytes | |||
-rw-r--r-- | test/disabled/jvm/natives.c | 8 | ||||
-rw-r--r-- | test/disabled/jvm/natives.check | 1 | ||||
-rw-r--r-- | test/disabled/jvm/natives.h | 21 | ||||
-rw-r--r-- | test/disabled/jvm/natives.scala | 23 |
10 files changed, 182 insertions, 0 deletions
diff --git a/test/disabled/jvm/libnatives-32.so b/test/disabled/jvm/libnatives-32.so Binary files differnew file mode 100755 index 0000000000..ccbcdd646f --- /dev/null +++ b/test/disabled/jvm/libnatives-32.so diff --git a/test/disabled/jvm/libnatives-64.so b/test/disabled/jvm/libnatives-64.so Binary files differnew file mode 100755 index 0000000000..8cc6152057 --- /dev/null +++ b/test/disabled/jvm/libnatives-64.so diff --git a/test/disabled/jvm/libnatives.jnilib b/test/disabled/jvm/libnatives.jnilib Binary files differnew file mode 100755 index 0000000000..daac50e3df --- /dev/null +++ b/test/disabled/jvm/libnatives.jnilib diff --git a/test/disabled/jvm/mkLibNatives.bat b/test/disabled/jvm/mkLibNatives.bat new file mode 100755 index 0000000000..045afe0ca2 --- /dev/null +++ b/test/disabled/jvm/mkLibNatives.bat @@ -0,0 +1,68 @@ +@echo off
+
+rem ##########################################################################
+rem # Author : Stephane Micheloud
+rem # Revision: $Id$
+rem ##########################################################################
+
+rem ##########################################################################
+rem # variables
+
+if "%OS%"=="Windows_NT" @setlocal
+
+rem debug switches are: off=0, on=1
+set DEBUG=0
+set STDOUT=NUL
+if %DEBUG%==1 set STDOUT=CON
+
+set CLASS_NAME=Test$
+set CLASS_DIR=.
+
+set OBJ_NAME=natives
+set LIB_NAME=natives-32
+
+if "%JAVA_HOME%"=="" goto error1
+if "%VSINSTALLDIR%"=="" goto error2
+
+set JAVAH=%JAVA_HOME%\bin\javah
+set JAVAH_OPTIONS=-jni -force -classpath %CLASS_DIR% -o %OBJ_NAME%.h
+
+set CC=%VSINSTALLDIR%\vc\bin\cl
+set CC_OPTIONS=/nologo /c
+set CC_INCLUDES=-I%VSINSTALLDIR%\vc\include -I%JAVA_HOME%\include -I%JAVA_HOME%\include\win32
+
+set LNK_OPTIONS=/nologo /MT /LD
+
+rem variable LIB is used by the C++ linker to find libcmt.lib, ..
+set LIB=%VSINSTALLDIR%\vc\lib
+
+rem ##########################################################################
+rem # commands
+
+del /s/q *.obj *.exp *.lib *.dll 1>%STDOUT%
+
+if %DEBUG%==1 echo %JAVAH% %JAVAH_OPTIONS% %CLASS_NAME%
+%JAVAH% %JAVAH_OPTIONS% %CLASS_NAME%
+
+if %DEBUG%==1 echo %CC% %CC_OPTIONS% %CC_INCLUDES% /Fo%OBJ_NAME%.obj natives.c
+%CC% %CC_OPTIONS% %CC_INCLUDES% /Fo%OBJ_NAME%.obj natives.c 1>%STDOUT%
+
+if %DEBUG%==1 echo %CC% %LNK_OPTIONS% /Fe%LIB_NAME%.dll %OBJ_NAME%.obj
+%CC% %LNK_OPTIONS% /Fe%LIB_NAME%.dll %OBJ_NAME%.obj 1>%STDOUT%
+
+goto end
+
+rem ##########################################################################
+rem # subroutines
+
+:error1
+echo ERROR: environment variable JAVA_HOME is undefined. It should point to your JDK installation.
+goto end
+
+:error2
+echo ERROR: environment variable VSINSTALLDIR is undefined. It should point to your MS Visual Studio installation.
+goto end
+
+:end
+if "%OS%"=="Windows_NT" @endlocal
+
diff --git a/test/disabled/jvm/mkLibNatives.sh b/test/disabled/jvm/mkLibNatives.sh new file mode 100755 index 0000000000..ed80c24c3e --- /dev/null +++ b/test/disabled/jvm/mkLibNatives.sh @@ -0,0 +1,61 @@ +#!/bin/sh + +############################################################################## +# Author : Stephane Micheloud +############################################################################## + +############################################################################## +# variables + +# set any value to enable debugging output +debug= + +cygwin=false; +darwin=false; +case "`uname`" in + CYGWIN*) cygwin=true ;; + Darwin*) darwin=true ;; +esac + +CLASS_NAME=Test\$ +CLASS_DIR=natives-jvm.obj + +OBJ_NAME=natives +LIB_NAME=libnatives + +if [ -z "${JAVA_HOME}" ]; then + echo "environment variable JAVA_HOME is undefined." + exit +elif $cygwin; then + echo "Cygwin not supported (use 'mkLibNatives.bat')." + exit +fi + +JAVAH=${JAVA_HOME}/bin/javah +JAVAH_OPTIONS="-jni -force -classpath ${CLASS_DIR} -o ${OBJ_NAME}.h" + +CC=gcc + +if $darwin; then + CC_OPTIONS="-c -arch ppc -arch i386" + CC_INCLUDES="-I/System/Library/Frameworks/JavaVM.framework/Headers" + LNK_OPTIONS="-dynamiclib -framework JavaVM" + FULL_LIB_NAME=${LIB_NAME}.jnilib +else + CC_OPTIONS=-c + CC_INCLUDES="-I${JAVA_HOME}/include -I${JAVA_HOME}/include/${OSTYPE}" + LNK_OPTIONS="-shared -Wl,-soname,${LIB_NAME}" + FULL_LIB_NAME=${LIB_NAME}.so +fi + +############################################################################## +# commands + +[ $debug ] && echo ${JAVAH} ${JAVAH_OPTIONS} ${CLASS_NAME} +${JAVAH} ${JAVAH_OPTIONS} ${CLASS_NAME} + +[ $debug ] && echo ${CC} ${CC_OPTIONS} ${CC_INCLUDES} -o ${OBJ_NAME}.o natives.c +${CC} ${CC_OPTIONS} ${CC_INCLUDES} -o ${OBJ_NAME}.o natives.c + +[ $debug ] && echo ${CC} ${LNK_OPTIONS} -o ${FULL_LIB_NAME} ${OBJ_NAME}.o +${CC} ${LNK_OPTIONS} -o ${FULL_LIB_NAME} ${OBJ_NAME}.o diff --git a/test/disabled/jvm/natives-32.dll b/test/disabled/jvm/natives-32.dll Binary files differnew file mode 100755 index 0000000000..a06c1da3e3 --- /dev/null +++ b/test/disabled/jvm/natives-32.dll diff --git a/test/disabled/jvm/natives.c b/test/disabled/jvm/natives.c new file mode 100644 index 0000000000..7b6d7b5ba5 --- /dev/null +++ b/test/disabled/jvm/natives.c @@ -0,0 +1,8 @@ +#include "natives.h" + +JNIEXPORT jstring JNICALL Java_Test_00024_sayHello + (JNIEnv *env, jobject thisobject, jstring js) + +{ + return js; +} diff --git a/test/disabled/jvm/natives.check b/test/disabled/jvm/natives.check new file mode 100644 index 0000000000..2265459198 --- /dev/null +++ b/test/disabled/jvm/natives.check @@ -0,0 +1 @@ +Invocation returned "Scala is great!" diff --git a/test/disabled/jvm/natives.h b/test/disabled/jvm/natives.h new file mode 100644 index 0000000000..0d360d3654 --- /dev/null +++ b/test/disabled/jvm/natives.h @@ -0,0 +1,21 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ +#include <jni.h> +/* Header for class Test__ */ + +#ifndef _Included_Test__ +#define _Included_Test__ +#ifdef __cplusplus +extern "C" { +#endif +/* + * Class: Test__ + * Method: sayHello + * Signature: (Ljava/lang/String;)Ljava/lang/String; + */ +JNIEXPORT jstring JNICALL Java_Test_00024_sayHello + (JNIEnv *, jobject, jstring); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/test/disabled/jvm/natives.scala b/test/disabled/jvm/natives.scala new file mode 100644 index 0000000000..14ee4e1c1b --- /dev/null +++ b/test/disabled/jvm/natives.scala @@ -0,0 +1,23 @@ +object Test { + + //println("java.library.path=" + System.getProperty("java.library.path")) + + val sysWordSize = System.getProperty("sun.arch.data.model", "32") + val sysType = System.getProperty("os.name") + + val libName = + if (sysType == "Mac OS X") + "natives" + else + "natives-" + sysWordSize + + System.loadLibrary(libName) + + @native + def sayHello(s: String): String = null + + def main(args: Array[String]) { + val s = sayHello("Scala is great!") + println("Invocation returned \"" + s + "\"") + } +} |