#!/bin/bash

. script/option

EPDIR=`echo ../eptex-[0-9]*`

PATCH=patch
gpatch --version &>/dev/null && PATCH=gpatch

rm -rf ../eptexdir ../euptexdir

cd ..
make etex
cat texmfmem.h \
  | sed "s/#if\ \!defined(Omega)/#if\ \!defined(Omega)\ \&\&\ \!defined(TeX)/" \
  > texmfmem2.h
mv texmfmem.h texmfmem.h.orig
mv texmfmem2.h texmfmem.h

cp -r ptex eptexdir

cd eptexdir

cat <<EOF >> kanji.defines
  @define function getintone();
  @define procedure setintone();
EOF

mv ptex-base.ch eptex-base.ch
cp $EPDIR/eptex-base-tl08-3.1.11.diff eptex-base-ptetex3.diff

UPTEX_VERSION=`cat ../uptexdir/uptex-base.ch |grep upTeX_version_string==|sed "s/@d\ upTeX_version_string=='-//"|sed "s/'//g"`
echo $UPTEX_VERSION
if [ "x$UPTEX_VERSION" = "x" ] ; then
  UPTEX_VERSION = u0.28
fi

$PATCH -p0 < $EPDIR/eptex-ptetex3-$UPTEX_VERSION.diff

$PATCH -p0 < eptex-base-ptetex3.diff

../tie -m eptex.web ../etex.web ../etex.ch $EPDIR/etex-sysdep.ch \
    eptex-base.ch $EPDIR/fam256.ch 
../tangle eptex
./pconvert eptex

cat <<EOF >> texd.h
#define getintone(w) (w).cint1
#define setintone(w,a) ((w).cint1=a)
EOF

$CC $LDFLAGS $CFLAGS -o eptex texini.c tex0.c tex1.c tex2.c tex3.c \
    ptexextra.c kanji.c version.c usage.c  ../lib/lib.a plib.a \
    ../../kpathsea/.libs/libkpathsea.a -lm ../../ptexenc/.libs/libptexenc.a

cd $EPDIR
pwd

if [ -d ../uptexdir ] ;then
  cd ..
  cp -r uptexdir/ euptexdir
  cd euptexdir

  cat <<EOF >> kanji.defines
    @define function getintone();
    @define procedure setintone();
EOF

  mv uptex-base.ch euptex-base.ch
  cp $EPDIR/fam256.ch ./fam256.ch

  cp $EPDIR/euptex-base-tl08-3.1.11-$UPTEX_VERSION.diff euptex-base-ptetex3-$UPTEX_VERSION.diff
  $PATCH -p0 < $EPDIR/euptex-ptetex3-$UPTEX_VERSION.diff
  $PATCH -p0 < euptex-base-ptetex3-$UPTEX_VERSION.diff

  ../tie -m euptex.web ../etex.web ../etex.ch $EPDIR/etex-sysdep.ch \
    euptex-base.ch fam256.ch 
  ../tangle euptex
  ./pconvert euptex

  cat <<EOF >> texd.h
#define getintone(w) (w).cint1
#define setintone(w,a) ((w).cint1=a)
EOF

  $CC $LDFLAGS $CFLAGS -o euptex texini.c tex0.c tex1.c tex2.c tex3.c \
    ptexextra.c kanji.c version.c usage.c  ../lib/lib.a plib.a \
    ../../kpathsea/.libs/libkpathsea.a -lm ../../ptexenc/.libs/libptexenc.a
  
  cd $EPDIR
  echo "------------------------" 
  ls -l ../euptexdir/euptex ../eptexdir/eptex
  ../euptexdir/euptex -version | head -n 1

else

  echo "------------------------" 
  ls -l ../eptexdir/eptex
fi
../eptexdir/eptex -version | head -n 1

cd ..
mv texmfmem.h.orig texmfmem.h


exit 0
