#!/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

echo "+========================+"
echo "| gcc-2.7.2.3+g77-0.5.21 |"
echo "+========================+"
cd $TMP
tar xzvf $CWD/gcc-2.7.2.3.tar.gz
tar xzvf $CWD/g77-0.5.21.tar.gz
mv g77-0.5.21/* gcc-2.7.2.3
rmdir g77-0.5.21
cd gcc-2.7.2.3
zcat $CWD/gcc-2.7.2.3-ada.diff.gz | patch -p2
#cat f/gbe/2.7.2.3.diff | patch -p1
#(same as above patch, but doesn't rename compiler dir to 2.7.2.3.f.1)
zcat $CWD/g77-0.5.21.diff.gz | patch -p1

./configure --build=i486-unknown-linux-gnulibc1 --prefix=/usr --local-prefix=/usr/local --gxx-include-dir=/usr/include/g++

# Rebuild documentation, since g77 has patched the texinfo files.
make -f Makefile.in gcc.info

#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="c c++ proto objective-c f77"
make objc-runtime CC=gcc CFLAGS=-O2 LDFLAGS=-s

## Build libg++:
cd $TMP
tar xzvf $CWD/libg++-2.7.2.8.tar.gz
cd libg++-2.7.2.8
./configure --prefix=/usr --enable-shared i486-unknown-linux-gnulibc1
#ln -sf ../gcc-2.7.2.3 gcc
make CFLAGS=-O2 CXXFLAGS=-O2

## Build libg++ (2.7.2.1)
#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-unknown-linux-gnulibc1
#ln -sf ../gcc-2.7.2.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.3
  rm -rf $PKG
fi