From 625d525491098309f19ae61ee591539cbc9e60b8 Mon Sep 17 00:00:00 2001 From: michelou Date: Tue, 12 Jun 2007 12:03:29 +0000 Subject: added .dll test library (Win32) --- test/files/jvm/mkLibNatives.bat | 68 ++++++++++++++++++++++++++++++++++++++++ test/files/jvm/mkLibNatives.sh | 43 +++++++++++++++++++++---- test/files/jvm/natives-32.dll | Bin 0 -> 49152 bytes 3 files changed, 105 insertions(+), 6 deletions(-) create mode 100755 test/files/jvm/mkLibNatives.bat create mode 100755 test/files/jvm/natives-32.dll 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 Binary files /dev/null and b/test/files/jvm/natives-32.dll differ -- cgit v1.2.3