[go: up one dir, main page]

Menu

[8e6ea9]: / DIST  Maximize  Restore  History

Download this file

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