#!/bin/sh - # $Id: s_java,v 1.9 2001/05/16 15:22:18 bostic Exp $ # # Build the Java files. msgjava="// DO NOT EDIT: automatically built by dist/s_java." . RELEASE t=/tmp/__java trap 'rm -f $t; 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" ../include/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 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" ../include/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" ../include/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" ../include/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 ../include/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 '}' } # 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 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 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 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 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 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 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 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 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)