4
# Build the Java files.
6
msgjava="/* DO NOT EDIT: automatically built by dist/s_java. */"
13
trap 'rm -f $t $c $h; exit 0' 0 1 2 3 13 15
15
# Build DbConstants.java.
18
echo 'package com.sleepycat.db;' &&
20
echo 'class DbConstants' &&
22
for i in `egrep '^DB_.*J$' pubdef.in | awk '{print $1}'`; do \
23
egrep -w "^#define[ ]$i|^[ ][ ]*$i" ../dbinc/db.in; \
25
sed -e "s/@DB_VERSION_MAJOR@/$DB_VERSION_MAJOR/" \
26
-e "s/@DB_VERSION_MINOR@/$DB_VERSION_MINOR/" \
27
-e "s/@DB_VERSION_PATCH@/$DB_VERSION_PATCH/" \
28
-e 's/^#define[ ][ ]*//' \
31
awk '{ print " static final int " $1 " = " $2 ";" }' &&
34
echo '// end of DbConstants.java') > $t
36
f=../java/src/com/sleepycat/db/DbConstants.java
37
cmp $t $f > /dev/null 2>&1 ||
38
(echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)
41
f=../java/src/com/sleepycat/db/Db.java
42
sed '/BEGIN-JAVA-SPECIAL-CONSTANTS/q' < $f > $t
44
for i in `egrep '^DB_.*C$' pubdef.in | awk '{print $1}'`; do \
45
egrep -w "^#define[ ]$i|^[ ][ ]*$i" ../dbinc/db.in; \
47
sed -e 's/^#define[ ][ ]*//' \
49
awk '{ print " public static final int " $1 " = " $2 ";" }') >> $t
50
(for i in `egrep '^DB_.*J$' pubdef.in | awk '{print $1}'`; do \
51
egrep -w "^#define[ ]$i|^[ ][ ]*$i" ../dbinc/db.in; \
53
sed -e 's/^#define[ ][ ]*//' \
55
awk '{ print " public static final int " $1 ";" }') >> $t
57
'/END-JAVA-SPECIAL-CONSTANTS/,/BEGIN-JAVA-CONSTANT-INITIALIZATION/p' \
60
for i in `egrep '^DB_.*J$' pubdef.in | awk '{print $1}'`; do \
61
egrep -w "^#define[ ]$i|^[ ][ ]*$i" ../dbinc/db.in; \
63
sed -e 's/^#define[ ][ ]*//' \
66
awk '{ print " " $1 " = DbConstants." $1 ";" }') >> $t
67
sed -n '/END-JAVA-CONSTANT-INITIALIZATION/,$p' < $f >> $t
69
f=../java/src/com/sleepycat/db/Db.java
70
cmp $t $f > /dev/null 2>&1 ||
71
(echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)
73
# Script to convert DB C structure declarations into Java declarations.
78
-e "/struct $1 {/,/^}/{" \
83
-e "s/^[ ]*[^\*]*\*[ ]*\([^;]*\).*/$2 public String \1;/p"\
87
-e "s/^[ ]*[^ ]*[ ]*\([^;]*\).*/$2 public long \1;/p" \
91
-e "s/^[ ]*[^ ]*[ ]*\([^;]*\).*/$2 public DbLsn \1;/p"\
94
-e '/DB_TXN_ACTIVE[ ]*\*/{' \
95
-e "s/^[ ]*[^\*]*\*[ ]*\([^;]*\).*/$2 public Active \1[];/p"\
98
-e "s/^[ ]*[^ ]*[ ]*\([^;]*\).*/$2 public int \1;/p" \
102
# Script to convert DB C structure declarations into Java declarations.
107
echo "extern int $2(JNIEnv *jnienv, jclass cl, jobject jobj, struct $1 *statp);" >> $h
108
echo "int $2(JNIEnv *jnienv, jclass cl," >> $c
109
echo " jobject jobj, struct $1 *statp) {" >> $c
112
-e "/struct $1 {/,/^}/{" \
117
-e "s/^[ ]*[^\*]*\*[ ]*\([^;]*\).*/ JAVADB_STAT_STRING(jnienv, cl, jobj, statp, \1);/p"\
121
-e "s/^[ ]*[^ ]*[ ]*\([^;]*\).*/ JAVADB_STAT_LONG(jnienv, cl, jobj, statp, \1);/p" \
125
-e "s/^[ ]*[^ ]*[ ]*\([^;]*\).*/ JAVADB_STAT_LSN(jnienv, cl, jobj, statp, \1);/p"\
128
-e '/DB_TXN_ACTIVE[ ]*\*/{' \
129
-e "s/^[ ]*[^\*]*\*[ ]*\([^;]*\).*/ JAVADB_STAT_ACTIVE(jnienv, cl, jobj, statp, \1);/p"\
132
-e "s/^[ ]*[^ ]*[ ]*\([^;]*\).*/ JAVADB_STAT_INT(jnienv, cl, jobj, statp, \1);/p" \
134
echo ' return (0);' >> $c
138
echo "$msgjava" >> $c
139
echo "$msgjava" >> $h
140
echo '#include "java_util.h"' >> $c
142
# Build DbBtreeStat.java
145
echo 'package com.sleepycat.db;' &&
147
echo "public class DbBtreeStat"
149
jclass __db_bt_stat &&
151
echo '// end of DbBtreeStat.java') > $t
152
jclass_jni __db_bt_stat __jv_fill_bt_stat $c $h
153
f=../java/src/com/sleepycat/db/DbBtreeStat.java
154
cmp $t $f > /dev/null 2>&1 ||
155
(echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)
157
# Build DbHashStat.java
160
echo 'package com.sleepycat.db;' &&
162
echo "public class DbHashStat"
164
jclass __db_h_stat &&
166
echo '// end of DbHashStat.java') > $t
167
jclass_jni __db_h_stat __jv_fill_h_stat $c $h
168
f=../java/src/com/sleepycat/db/DbHashStat.java
169
cmp $t $f > /dev/null 2>&1 ||
170
(echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)
172
# Build DbLockStat.java
175
echo 'package com.sleepycat.db;' &&
177
echo "public class DbLockStat"
179
jclass __db_lock_stat &&
181
echo '// end of DbLockStat.java') > $t
182
jclass_jni __db_lock_stat __jv_fill_lock_stat $c $h
183
f=../java/src/com/sleepycat/db/DbLockStat.java
184
cmp $t $f > /dev/null 2>&1 ||
185
(echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)
187
# Build DbLogStat.java
190
echo 'package com.sleepycat.db;' &&
192
echo "public class DbLogStat"
194
jclass __db_log_stat &&
196
echo '// end of DbLogStat.java') > $t
197
jclass_jni __db_log_stat __jv_fill_log_stat $c $h
198
f=../java/src/com/sleepycat/db/DbLogStat.java
199
cmp $t $f > /dev/null 2>&1 ||
200
(echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)
202
# Build DbMpoolFStat.java
205
echo 'package com.sleepycat.db;' &&
207
echo "public class DbMpoolFStat"
209
jclass __db_mpool_fstat &&
211
echo '// end of DbMpoolFStat.java') > $t
212
jclass_jni __db_mpool_stat __jv_fill_mpool_stat $c $h
213
f=../java/src/com/sleepycat/db/DbMpoolFStat.java
214
cmp $t $f > /dev/null 2>&1 ||
215
(echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)
217
# Build DbQueueStat.java
220
echo 'package com.sleepycat.db;' &&
222
echo "public class DbQueueStat"
224
jclass __db_qam_stat &&
226
echo '// end of DbQueueStat.java') > $t
227
jclass_jni __db_qam_stat __jv_fill_qam_stat $c $h
228
f=../java/src/com/sleepycat/db/DbQueueStat.java
229
cmp $t $f > /dev/null 2>&1 ||
230
(echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)
232
# Build DbRepStat.java
235
echo 'package com.sleepycat.db;' &&
237
echo "public class DbRepStat"
239
jclass __db_rep_stat &&
241
echo '// end of DbRepStat.java') > $t
242
jclass_jni __db_rep_stat __jv_fill_rep_stat $c $h
243
f=../java/src/com/sleepycat/db/DbRepStat.java
244
cmp $t $f > /dev/null 2>&1 ||
245
(echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)
247
# Build DbTxnStat.java
250
echo 'package com.sleepycat.db;' &&
252
echo "public class DbTxnStat"
254
echo " public static class Active {"
255
jclass __db_txn_active " " &&
257
jclass __db_txn_stat &&
259
echo '// end of DbTxnStat.java') > $t
260
jclass_jni __db_txn_stat __jv_fill_txn_stat $c $h
261
f=../java/src/com/sleepycat/db/DbTxnStat.java
262
cmp $t $f > /dev/null 2>&1 ||
263
(echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)
266
f=../libdb_java/java_stat_auto.c
267
cmp $t $f > /dev/null 2>&1 ||
268
(echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)
271
f=../libdb_java/java_stat_auto.h
272
cmp $t $f > /dev/null 2>&1 ||
273
(echo "Building $f" && rm -f $f && cp $t $f && chmod 444 $f)