diff options
-rwxr-xr-x | test/files/jvm/mkLibNatives.bat | 68 | ||||
-rwxr-xr-x | test/files/jvm/mkLibNatives.sh | 43 | ||||
-rwxr-xr-x | test/files/jvm/natives-32.dll | bin | 0 -> 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 Binary files differnew file mode 100755 index 0000000000..5671147982 --- /dev/null +++ b/test/files/jvm/natives-32.dll |