mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 04:22:27 +01:00
56 lines
1.5 KiB
Text
56 lines
1.5 KiB
Text
|
#!/bin/sh -
|
||
|
# $Id: s_javah,v 1.1 2002/08/14 17:14:24 dda Exp $
|
||
|
#
|
||
|
# Use javah to build the libdb_java/com_*.h header files.
|
||
|
#
|
||
|
# To run this, you will need a javac and javah in your PATH.
|
||
|
# If possible, install tools with a recent vintage, JDK 1.3 or higher is good.
|
||
|
# Using Sun's JDK rather than some other installation ensures
|
||
|
# that the header files will not be constantly changed.
|
||
|
|
||
|
. RELEASE
|
||
|
|
||
|
JAVAC=javac
|
||
|
JAVAH=javah
|
||
|
export CLASSPATH
|
||
|
CLASSPATH=
|
||
|
|
||
|
# CLASSES are only those classes for which we have native methods.
|
||
|
D=com.sleepycat.db
|
||
|
CLASSES="$D.Dbc $D.DbEnv $D.Db $D.DbLock $D.DbLogc $D.DbLsn $D.Dbt $D.DbTxn $D.xa.DbXAResource"
|
||
|
|
||
|
d=/tmp/__javah
|
||
|
c=$d/classes
|
||
|
trap 'rm -rf $d; exit 0' 0 1 2 3 13 15
|
||
|
|
||
|
rm -rf $d
|
||
|
mkdir $d || exit 1
|
||
|
mkdir $c || exit 1
|
||
|
|
||
|
# Make skeleton versions of XA classes and interfaces
|
||
|
# We only need to compile them, not run them.
|
||
|
pkg="package javax.transaction.xa"
|
||
|
echo "$pkg; public interface XAResource {}" > $d/XAResource.java
|
||
|
echo "$pkg; public interface Xid {}" > $d/Xid.java
|
||
|
echo "$pkg; public class XAException extends Exception {}" \
|
||
|
> $d/XAException.java
|
||
|
|
||
|
|
||
|
# Create the .class files and use them with javah to create the .h files
|
||
|
${JAVAC} -d $c $d/*.java \
|
||
|
../java/src/com/sleepycat/db/*.java \
|
||
|
../java/src/com/sleepycat/db/xa/*.java || exit 1
|
||
|
${JAVAH} -classpath $c -d $d ${CLASSES} || exit 1
|
||
|
|
||
|
for cl in ${CLASSES}; do
|
||
|
h=`echo $cl | sed -e 's/\./_/g'`.h
|
||
|
t=$d/$h
|
||
|
f=../libdb_java/$h
|
||
|
if [ ! -f $t ]; then
|
||
|
echo "ERROR: $t does not exist"
|
||
|
exit 1
|
||
|
fi
|
||
|
cmp $t $f > /dev/null 2>&1 ||
|
||
|
(echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)
|
||
|
done
|