#!/bin/sh - # $Id: s_java_swig,v 1.1.1.1 2005/06/24 22:42:42 ca Exp $ # # Run SWIG to generate the Java APIs SWIG=swig SWIG_DIR=../libdb_java SWIG_FILE=$SWIG_DIR/db.i PACKAGE="com.sleepycat.db.internal" die() { echo "$@" >&2 exit 1 } [ -f $SWIG_FILE ] || die "Must be run from the dist directory" for api in java ; do echo "Building $api API" swig_args="" case $api in java) swig_args="-nodefault -package $PACKAGE $args" ;; esac $SWIG -Wall -$api $swig_args -I$SWIG_DIR \ -o ../libdb_$api/db_${api}_wrap.c $SWIG_FILE || exit $? done # Skip Java sources if run with "-n" if [ "x$1" = "x-n" ] ; then rm -f $SWIG_DIR/*.java exit 0 fi # Fixups for Java JAVA_SRCTOP=../java/src JAVA_PKGDIR=com/sleepycat/db/internal JAVA_SRCDIR=$JAVA_SRCTOP/$JAVA_PKGDIR # SWIG 1.3.18 puts the Java files in the same directory as the native code. cd $SWIG_DIR [ -f Db.java ] || exit 1 for f in *.java ; do case $f in SWIGTYPE*) die "Interface contains unresolved types: $f" esac rm -f $JAVA_SRCDIR/$f perl -p $SWIG_DIR/java-post.pl < $f > $JAVA_SRCDIR/$f || exit $? rm -f $f done