summaryrefslogtreecommitdiff
path: root/test/files/jvm
diff options
context:
space:
mode:
authormichelou <michelou@epfl.ch>2007-06-12 12:03:29 +0000
committermichelou <michelou@epfl.ch>2007-06-12 12:03:29 +0000
commit625d525491098309f19ae61ee591539cbc9e60b8 (patch)
tree34f8943c20d6ce41806406af7dabc4fe13817362 /test/files/jvm
parenta31e3c23a1d00b87b7e205740e956fad3e988eee (diff)
downloadscala-625d525491098309f19ae61ee591539cbc9e60b8.tar.gz
scala-625d525491098309f19ae61ee591539cbc9e60b8.tar.bz2
scala-625d525491098309f19ae61ee591539cbc9e60b8.zip
added .dll test library (Win32)
Diffstat (limited to 'test/files/jvm')
-rwxr-xr-xtest/files/jvm/mkLibNatives.bat68
-rwxr-xr-xtest/files/jvm/mkLibNatives.sh43
-rwxr-xr-xtest/files/jvm/natives-32.dllbin0 -> 49152 bytes
3 files changed, 105 insertions, 6 deletions
diff --git a/test/files/jvm/mkLibNatives.bat b/test/files/jvm/mkLibNatives.bat
new file mode 100755
index 0000000000..a6d92b1393
--- /dev/null
+++ b/test/files/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=natives-jvm
+
+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/files/jvm/mkLibNatives.sh b/test/files/jvm/mkLibNatives.sh
index 9d4ded597f..e911330ab3 100755
--- a/test/files/jvm/mkLibNatives.sh
+++ b/test/files/jvm/mkLibNatives.sh
@@ -1,23 +1,54 @@
#!/bin/sh
+##############################################################################
+# Author : Stephane Micheloud
+# Revision: $Id: $
+##############################################################################
+
+##############################################################################
+# variables
+
+# set any value to enable debugging output
+debug=1
+
+cygwin=false;
+darwin=false;
+case "`uname`" in
+ CYGWIN*) cygwin=true ;;
+ Darwin*) darwin=true ;;
+esac
+
CLASS_NAME=Test\$
CLASS_DIR=natives-jvm
OBJ_NAME=natives
LIB_NAME=libnatives
-JAVAH=javah
+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
CC_OPTIONS=-c
CC_INCLUDES="-I${JAVA_HOME}/include -I${JAVA_HOME}/include/${OSTYPE}"
-#echo ${JAVAH} ${JAVAH_OPTIONS} ${CLASS_NAME}
-#${JAVAH} ${JAVAH_OPTIONS} ${CLASS_NAME}
+LNK_OPTIONS="-shared -Wl,-soname,${LIB_NAME}"
+
+##############################################################################
+# commands
+
+[ "$debug" ] && echo ${JAVAH} ${JAVAH_OPTIONS} ${CLASS_NAME}
+${JAVAH} ${JAVAH_OPTIONS} ${CLASS_NAME}
-#echo ${CC} ${CC_OPTIONS} ${CC_INCLUDES} -o ${OBJ_NAME}.o natives.c
+[ "$debug" ] && echo ${CC} ${CC_OPTIONS} ${CC_INCLUDES} -o ${OBJ_NAME}.o natives.c
${CC} ${CC_OPTIONS} ${CC_INCLUDES} -o ${OBJ_NAME}.o natives.c
-#echo ${CC} -shared -Wl,-soname,${LIB_NAME} -o ${LIB_NAME}.so ${OBJ_NAME}.o
-${CC} -shared -Wl,-soname,${LIB_NAME} -o ${LIB_NAME}.so ${OBJ_NAME}.o
+[ "$debug" ] && echo ${CC} -shared -Wl,-soname,${LIB_NAME} -o ${LIB_NAME}.so ${OBJ_NAME}.o
+${CC} ${LNK_OPTIONS} -o ${LIB_NAME}.so ${OBJ_NAME}.o
diff --git a/test/files/jvm/natives-32.dll b/test/files/jvm/natives-32.dll
new file mode 100755
index 0000000000..5671147982
--- /dev/null
+++ b/test/files/jvm/natives-32.dll
Binary files differ