mariadb/bdb/dist/s_java
kent@mysql.com c6002966be mysql-test-run.pl:
Removed -c from /bin/sh call
make_win_src_distribution.sh:
  Copy all content in mysql-test
make_win_binary_distribution.sh, make_binary_distribution.sh:
  Add Perl version of mysql-test-run to package
s_win32_dsp, s_win32, s_vxworks, s_test, s_readme, s_java, s_javah:
  Bug #6209 changes for building Berkeley DB from BitKeeper on Solaris
2005-03-09 01:34:22 +01:00

273 lines
7.6 KiB
Bash
Executable file

#!/bin/sh -
# $Id: s_java,v 1.13 2002/09/09 20:47:30 bostic Exp $
#
# Build the Java files.
msgjava="/* DO NOT EDIT: automatically built by dist/s_java. */"
. ./RELEASE
t=/tmp/__java
c=/tmp/__javajnic
h=/tmp/__javajnih
trap 'rm -f $t $c $h; exit 0' 0 1 2 3 13 15
# Build DbConstants.java.
(echo "$msgjava" &&
echo &&
echo 'package com.sleepycat.db;' &&
echo &&
echo 'class DbConstants' &&
echo '{' &&
for i in `egrep '^DB_.*J$' pubdef.in | awk '{print $1}'`; do \
egrep -w "^#define[ ]$i|^[ ][ ]*$i" ../dbinc/db.in; \
done |
sed -e "s/@DB_VERSION_MAJOR@/$DB_VERSION_MAJOR/" \
-e "s/@DB_VERSION_MINOR@/$DB_VERSION_MINOR/" \
-e "s/@DB_VERSION_PATCH@/$DB_VERSION_PATCH/" \
-e 's/^#define[ ][ ]*//' \
-e 's/[()=,]/ /g' \
-e 's/\/\*/ /' | \
awk '{ print " static final int " $1 " = " $2 ";" }' &&
echo '}' &&
echo &&
echo '// end of DbConstants.java') > $t
f=../java/src/com/sleepycat/db/DbConstants.java
cmp $t $f > /dev/null 2>&1 ||
(echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)
# Build Db.java.
f=../java/src/com/sleepycat/db/Db.java.in
sed '/BEGIN-JAVA-SPECIAL-CONSTANTS/q' < $f > $t
(echo " $msgjava" &&
for i in `egrep '^DB_.*C$' pubdef.in | awk '{print $1}'`; do \
egrep -w "^#define[ ]$i|^[ ][ ]*$i" ../dbinc/db.in; \
done |
sed -e 's/^#define[ ][ ]*//' \
-e 's/[()=,]/ /g' |
awk '{ print " public static final int " $1 " = " $2 ";" }') >> $t
(for i in `egrep '^DB_.*J$' pubdef.in | awk '{print $1}'`; do \
egrep -w "^#define[ ]$i|^[ ][ ]*$i" ../dbinc/db.in; \
done |
sed -e 's/^#define[ ][ ]*//' \
-e 's/[()=,]/ /g' |
awk '{ print " public static final int " $1 ";" }') >> $t
sed -n \
'/END-JAVA-SPECIAL-CONSTANTS/,/BEGIN-JAVA-CONSTANT-INITIALIZATION/p' \
< $f >> $t
(echo " $msgjava" &&
for i in `egrep '^DB_.*J$' pubdef.in | awk '{print $1}'`; do \
egrep -w "^#define[ ]$i|^[ ][ ]*$i" ../dbinc/db.in; \
done |
sed -e 's/^#define[ ][ ]*//' \
-e 's/[()=,]/ /g' \
-e 's/\/\*/ /' | \
awk '{ print " " $1 " = DbConstants." $1 ";" }') >> $t
sed -n '/END-JAVA-CONSTANT-INITIALIZATION/,$p' < $f >> $t
f=../java/src/com/sleepycat/db/Db.java
cmp $t $f > /dev/null 2>&1 ||
(echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)
# Script to convert DB C structure declarations into Java declarations.
jclass()
{
cat ../dbinc/db.in |
sed -n \
-e "/struct $1 {/,/^}/{" \
-e "/$1/d" \
-e '/;/!d' \
-e '/^}/d' \
-e '/char[ ]*\*/{' \
-e "s/^[ ]*[^\*]*\*[ ]*\([^;]*\).*/$2 public String \1;/p"\
-e 'd' \
-e '}' \
-e '/time_t/{' \
-e "s/^[ ]*[^ ]*[ ]*\([^;]*\).*/$2 public long \1;/p" \
-e 'd' \
-e '}' \
-e '/DB_LSN[ ]*/{' \
-e "s/^[ ]*[^ ]*[ ]*\([^;]*\).*/$2 public DbLsn \1;/p"\
-e 'd' \
-e '}' \
-e '/DB_TXN_ACTIVE[ ]*\*/{' \
-e "s/^[ ]*[^\*]*\*[ ]*\([^;]*\).*/$2 public Active \1[];/p"\
-e 'd' \
-e '}' \
-e "s/^[ ]*[^ ]*[ ]*\([^;]*\).*/$2 public int \1;/p" \
-e '}'
}
# Script to convert DB C structure declarations into Java declarations.
jclass_jni()
{
c=$3
h=$4
echo "extern int $2(JNIEnv *jnienv, jclass cl, jobject jobj, struct $1 *statp);" >> $h
echo "int $2(JNIEnv *jnienv, jclass cl," >> $c
echo " jobject jobj, struct $1 *statp) {" >> $c
cat ../dbinc/db.in |
sed -n \
-e "/struct $1 {/,/^}/{" \
-e "/$1/d" \
-e '/;/!d' \
-e '/^}/d' \
-e '/char[ ]*\*/{' \
-e "s/^[ ]*[^\*]*\*[ ]*\([^;]*\).*/ JAVADB_STAT_STRING(jnienv, cl, jobj, statp, \1);/p"\
-e 'd' \
-e '}' \
-e '/time_t/{' \
-e "s/^[ ]*[^ ]*[ ]*\([^;]*\).*/ JAVADB_STAT_LONG(jnienv, cl, jobj, statp, \1);/p" \
-e 'd' \
-e '}' \
-e '/DB_LSN[ ]*/{' \
-e "s/^[ ]*[^ ]*[ ]*\([^;]*\).*/ JAVADB_STAT_LSN(jnienv, cl, jobj, statp, \1);/p"\
-e 'd' \
-e '}' \
-e '/DB_TXN_ACTIVE[ ]*\*/{' \
-e "s/^[ ]*[^\*]*\*[ ]*\([^;]*\).*/ JAVADB_STAT_ACTIVE(jnienv, cl, jobj, statp, \1);/p"\
-e 'd' \
-e '}' \
-e "s/^[ ]*[^ ]*[ ]*\([^;]*\).*/ JAVADB_STAT_INT(jnienv, cl, jobj, statp, \1);/p" \
-e '}' >> $c
echo ' return (0);' >> $c
echo '}' >> $c
}
echo "$msgjava" >> $c
echo "$msgjava" >> $h
echo '#include "java_util.h"' >> $c
# Build DbBtreeStat.java
(echo "$msgjava" &&
echo &&
echo 'package com.sleepycat.db;' &&
echo &&
echo "public class DbBtreeStat"
echo '{'
jclass __db_bt_stat &&
echo '}' &&
echo '// end of DbBtreeStat.java') > $t
jclass_jni __db_bt_stat __jv_fill_bt_stat $c $h
f=../java/src/com/sleepycat/db/DbBtreeStat.java
cmp $t $f > /dev/null 2>&1 ||
(echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)
# Build DbHashStat.java
(echo "$msgjava" &&
echo &&
echo 'package com.sleepycat.db;' &&
echo &&
echo "public class DbHashStat"
echo '{'
jclass __db_h_stat &&
echo '}' &&
echo '// end of DbHashStat.java') > $t
jclass_jni __db_h_stat __jv_fill_h_stat $c $h
f=../java/src/com/sleepycat/db/DbHashStat.java
cmp $t $f > /dev/null 2>&1 ||
(echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)
# Build DbLockStat.java
(echo "$msgjava" &&
echo &&
echo 'package com.sleepycat.db;' &&
echo &&
echo "public class DbLockStat"
echo '{'
jclass __db_lock_stat &&
echo '}' &&
echo '// end of DbLockStat.java') > $t
jclass_jni __db_lock_stat __jv_fill_lock_stat $c $h
f=../java/src/com/sleepycat/db/DbLockStat.java
cmp $t $f > /dev/null 2>&1 ||
(echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)
# Build DbLogStat.java
(echo "$msgjava" &&
echo &&
echo 'package com.sleepycat.db;' &&
echo &&
echo "public class DbLogStat"
echo '{'
jclass __db_log_stat &&
echo '}' &&
echo '// end of DbLogStat.java') > $t
jclass_jni __db_log_stat __jv_fill_log_stat $c $h
f=../java/src/com/sleepycat/db/DbLogStat.java
cmp $t $f > /dev/null 2>&1 ||
(echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)
# Build DbMpoolFStat.java
(echo "$msgjava" &&
echo &&
echo 'package com.sleepycat.db;' &&
echo &&
echo "public class DbMpoolFStat"
echo '{'
jclass __db_mpool_fstat &&
echo '}' &&
echo '// end of DbMpoolFStat.java') > $t
jclass_jni __db_mpool_stat __jv_fill_mpool_stat $c $h
f=../java/src/com/sleepycat/db/DbMpoolFStat.java
cmp $t $f > /dev/null 2>&1 ||
(echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)
# Build DbQueueStat.java
(echo "$msgjava" &&
echo &&
echo 'package com.sleepycat.db;' &&
echo &&
echo "public class DbQueueStat"
echo '{'
jclass __db_qam_stat &&
echo '}' &&
echo '// end of DbQueueStat.java') > $t
jclass_jni __db_qam_stat __jv_fill_qam_stat $c $h
f=../java/src/com/sleepycat/db/DbQueueStat.java
cmp $t $f > /dev/null 2>&1 ||
(echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)
# Build DbRepStat.java
(echo "$msgjava" &&
echo &&
echo 'package com.sleepycat.db;' &&
echo &&
echo "public class DbRepStat"
echo '{'
jclass __db_rep_stat &&
echo '}' &&
echo '// end of DbRepStat.java') > $t
jclass_jni __db_rep_stat __jv_fill_rep_stat $c $h
f=../java/src/com/sleepycat/db/DbRepStat.java
cmp $t $f > /dev/null 2>&1 ||
(echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)
# Build DbTxnStat.java
(echo "$msgjava" &&
echo &&
echo 'package com.sleepycat.db;' &&
echo &&
echo "public class DbTxnStat"
echo '{'
echo " public static class Active {"
jclass __db_txn_active " " &&
echo ' };' &&
jclass __db_txn_stat &&
echo '}' &&
echo '// end of DbTxnStat.java') > $t
jclass_jni __db_txn_stat __jv_fill_txn_stat $c $h
f=../java/src/com/sleepycat/db/DbTxnStat.java
cmp $t $f > /dev/null 2>&1 ||
(echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)
mv $c $t
f=../libdb_java/java_stat_auto.c
cmp $t $f > /dev/null 2>&1 ||
(echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)
mv $h $t
f=../libdb_java/java_stat_auto.h
cmp $t $f > /dev/null 2>&1 ||
(echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)