142 lines (131 with data), 4.7 kB
#!/bin/sh
VERSION=`cat VERSION`
TGZ_DEST="$HOME/shiro.dreamhost.com/scheme/vault/"
MAN_DEST="$HOME/shiro.dreamhost.com/scheme/gauche/man/"
DOC_DEST="../test"
RPMDIR="$HOME/rpm"
CHANGELOG_DEST="$HOME/shiro.dreamhost.com/scheme/gauche/ChangeLog.txt"
while [ $# -gt 0 ]; do
case $1 in
doc) doc=yes; shift ;;
docs) doc=yes; docs=yes; shift ;;
tgz) tgz=yes; shift ;;
test) test=yes; shift ;;
testcode) testcode=yes; shift ;;
testclean) testclean=yes; shift ;;
rpm) rpm=yes; shift;;
*) echo "DIST [doc][docs][tgz][test][testclean][rpm]"; exit 0;;
esac
done
if [ "$tgz" = "yes" ]; then
rm -rf ../Gauche-$VERSION
if [ -f Makefile ]; then make realclean; fi
./AUTOCONF
./configure
(cd src; for stub in *.stub; do make `echo $stub | sed 's/\.stub/.c/'` ; done)
(cd ext/charconv/; make GOSH=/usr/local/bin/gosh eucj2ucs.c)
(cd ext/charconv/; make GOSH=/usr/local/bin/gosh guess_tab.c)
(cd ext/charconv/data; make)
make distclean
rm -f DIST_EXCLUDE_X
cat DIST_EXCLUDE > DIST_EXCLUDE_X
find . -name CVS -print -prune >> DIST_EXCLUDE_X
escm -i gosh -o INSTALL INSTALL.esc
LANG=ja_JP escm -i gosh -o INSTALL.eucjp INSTALL.esc
mkdir ../Gauche-$VERSION
tar cvfX - DIST_EXCLUDE_X . | (cd ../Gauche-$VERSION; tar xf -)
(cd ..; tar cvf - Gauche-$VERSION | gzip -9 > Gauche-$VERSION.tgz)
if [ -d $TGZ_DEST ]; then
mv ../Gauche-$VERSION.tgz $TGZ_DEST
cp ChangeLog $CHANGELOG_DEST
fi
fi
if [ "$doc" = "yes" ]; then
(cd doc; make texi)
for lang in j e; do
rm -rf $DOC_DEST/gauche-ref$lang
mkdir $DOC_DEST/gauche-ref$lang
cp doc/gauche-ref$lang.texi doc/gauche-ref.texi doc/Makefile doc/extract $DOC_DEST/gauche-ref$lang/
(cd $DOC_DEST/gauche-ref$lang; make gauche-ref${lang}_toc.html; rm -f *.texi extract Makefile)
done
fi
if [ "$docs" = "yes" ]; then
rm -rf $MAN_DEST
mkdir $MAN_DEST
for lang in j e; do
(cd doc; make gauche-ref$lang.html; gzip gauche-ref$lang.html; mv gauche-ref$lang.html.gz $TGZ_DEST)
(cd $DOC_DEST; tar czf $TGZ_DEST/gauche-ref$lang.tgz gauche-ref$lang)
cp $DOC_DEST/gauche-ref$lang/* $MAN_DEST
done
fi
if [ "$test" = "yes" ]; then
rm -rf ../test/Gauche
cd ../test
tar xzvf ~/shiro.dreamhost.com/scheme/vault/Gauche-$VERSION.tgz
cd Gauche-$VERSION
./configure
make
make -s test
make install
cd ..
for tt in `cat ./Gauche-$VERSION/test/TESTS`; do
/usr/local/bin/gosh -I./Gauche-$VERSION/test $tt >> test.log
done
fi
if [ "$testcode" = "yes" ]; then
rm -rf ../test/Gauche
cd ../test
tar xzvf ~/shiro.dreamhost.com/scheme/vault/Gauche-$VERSION.tgz >& /dev/null
cd Gauche-$VERSION
rm -f testcode.log
echo "EUC-JP ----------------------------------------------------"
./configure --enable-multibyte=euc-jp >> testcode.log 2>&1
make -s
make -s test
make -s distclean
echo "UTF-8 -----------------------------------------------------"
./configure --enable-multibyte=utf-8 >> testcode.log 2>&1
make -s
make -s test
make -s distclean
echo "SJIS ------------------------------------------------------"
./configure --enable-multibyte=sjis >> testcode.log 2>&1
make -s
make -s test
make -s distclean
echo "NONE ------------------------------------------------------"
./configure --enable-multibyte=none >> testcode.log 2>&1
make -s
make -s test
fi
if [ "$testclean" = "yes" ]; then
rm -rf ../test/Gauche ../test/Gauche-$VERSION
rm -rf ../test/test.log ../test/temp.o ../test/tmp1.o
fi
if [ "$rpm" = "yes" ]; then
rm -f $RPMDIR/SOURCES/Gauche-$VERSION.tgz
cp $TGZ_DEST/Gauche-$VERSION.tgz $RPMDIR/SOURCES/
spec=$RPMDIR/SPECS/Gauche.spec
echo "UTF8, i386 ----------------------------------------------"
rm -f $spec
cat Gauche.spec | sed 's/%define encoding .*/%define encoding utf8/' > $spec
rpm -bb --clean $spec
echo "UTF8, i686 ----------------------------------------------"
rm -f $spec
cat Gauche.spec | sed 's/%define encoding .*/%define encoding utf8/' > $spec
rpm -bb --clean --target i686 $spec
echo "EUC, i386 -----------------------------------------------"
rm -f $spec
cat Gauche.spec | sed 's/%define encoding .*/%define encoding eucjp/' > $spec
rpm -bb --clean $spec
echo "EUC, i686 -----------------------------------------------"
rm -f $spec
cat Gauche.spec | sed 's/%define encoding .*/%define encoding eucjp/' > $spec
rpm -ba --clean --target i686 $spec
echo "Finishing..."
mv $RPMDIR/RPMS/i386/Gauche-eucjp-*.rpm $TGZ_DEST
mv $RPMDIR/RPMS/i386/Gauche-utf8-*.rpm $TGZ_DEST
mv $RPMDIR/RPMS/i686/Gauche-eucjp-*.rpm $TGZ_DEST
mv $RPMDIR/RPMS/i686/Gauche-utf8-*.rpm $TGZ_DEST
mv $RPMDIR/SRPMS/Gauche-*.rpm $TGZ_DEST
fi