#!/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.1+g77-0.5.19.1 |"
echo "+==========================+"
cd $TMP
tar xzvf $CWD/gcc-2.7.2.1.tar.gz
tar xzvf $CWD/g77-0.5.19.1.tar.gz
mv g77-0.5.19.1/* gcc-2.7.2.1
rmdir g77-0.5.19.1
cd gcc-2.7.2.1
zcat $CWD/gcc-2.7.2-linux.diff.gz | patch -p2
#cat f/gbe/2.7.2.1.diff | patch -p1
#(same as above patch, but doesn't rename compiler dir to 2.7.2.1.f.1)
zcat $CWD/g77-2.7.2.1.diff.gz | patch -p1

./configure --build=i486-linuxaout --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.2.tar.gz
cd libg++-2.7.2
zcat $CWD/libg++-2.7.2-2.7.2.1.diff.gz | patch -p2
./configure --prefix=/usr --enable-shared i486-linuxaout
ln -sf ../gcc-2.7.2.1 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.1
  rm -rf $PKG
fi