blob: ed80c24c3e85ea5bd96bf8eb88901298bbbed5ef (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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
|