#!/bin/sh
# Set initial variables:
CWD=`pwd`
if [ "$TMP" = "" ]; then
  TMP=/tmp
fi
PKG=$TMP/package-g77
SRC=/devel/manpagesrc
INFO=/devel/info-pages/usr/info
TEX=/devel/texinfo-docs

if [ ! -d $TMP ]; then
  mkdir -p $TMP # location to build the source
fi
#if [ ! -d $PKG ]; then
#  mkdir -p $PKG # place for the package to be built
#fi

# Explode the package framework:
#cd $PKG
#explodepkg $CWD/_g77.tar.gz

# Function to handle manpage source:
man2gz () { # $1 is source page name, $2 is target name for preformatted
            # output (full path && name) and $3 is the same, but for the
            # source.
  mkdir -p `dirname $2`
  groff -Tascii -mandoc $1 | gzip -9c > $2
  if [ ! "$3" = "" ]; then
    mkdir -p `dirname $3`
    cat $1 > $3 
  fi 
}

echo "+======================+"
echo "| gcc-2.7.2+g77-0.5.18 |"
echo "+======================+"
cd $TMP
tar xzvf $CWD/gcc-2.7.2.tar.gz
tar xzvf $CWD/g77-0.5.18.tar.gz
mv g77-0.5.18/* gcc-2.7.2
rmdir g77-0.5.18
cd gcc-2.7.2
zcat $CWD/gcc-2.7.2-linux.diff.gz | patch -p2

# cat f/gbe/2.7.2.diff | patch -p1
zcat $CWD/g77-2.7.2-no-dir-rename.diff.gz | patch -p1

./configure --build=i486-linux --prefix=/usr --local-prefix=/usr/local --gxx-include-dir=/usr/include/g++
#make LANGUAGES=c CC=gcc CFLAGS=-O2 LDFLAGS=-s
#make stage1
#make CC="stage1/xgcc -Bstage1/" CFLAGS=-O2 LDFLAGS=-s
#make objc-runtime CC="stage1/xgcc -Bstage1/" CFLAGS=-O2 LDFLAGS=-s
make -k CC=gcc CFLAGS=-O2 LDFLAGS=-s LANGUAGES=f77 all g77
make objc-runtime CC=gcc CFLAGS=-O2 LDFLAGS=-s
cd $TMP
tar xzvf $CWD/libg++-2.7.1.tar.gz
cd libg++-2.7.1
zcat $CWD/libg++-2.7.1-2.7.1.4.diff.gz | patch -p2
./configure --prefix=/usr --enable-shared i486-linux
ln -sf ../gcc-2.7.2 gcc
make CFLAGS=-O2 CXXFLAGS=-O2

# Build the package:
#cd $PKG
#tar czvf $TMP/g77.tgz .

# Clean up the extra stuff:
if [ "$1" = "--cleanup" ]; then
  rm -rf $TMP/gcc-2.7.2
  rm -rf $PKG
fi
