#!/bin/sh
echo pmake...

echo Cleaning up...
/bin/rm -rf pmake

echo Unpacking...
tar xfz distrib/pmake.v1.0.tar.gz

echo Patching...
cd pmake

patch -p1 < ../patches/pmake-1.0-fsstnd.patch
patch -p1 < ../patches/pmake-1.0-rules.patch
patch -p1 < ../patches/pmake.james.patch

/usr/bin/make -f Makefile.dist EXTRACFLAGS=-D_PATH_DEFSYSPATH=\\\"`pwd`/mk\\\" pmake

cd ..

echo Xview...

echo Cleaning up...
/bin/rm -rf xview3.2p1-X11R6

echo Unpacking...
tar xfz distrib/xview3.2p1-X11R6.tar.gz
echo Patching...


cd xview3.2p1-X11R6

zcat ../patches/xview3.2p1-X11R6-LinuxELF.2.diff.gz | patch -p1 2> /dev/null
patch -p1 < ../patches/xview-ncurses.patch 2> /dev/null

#group 1 (group 1 and 2 patches fix incompatabilities)
patch -p1 < ../patches/xview.james1.patch 2> /dev/null
#group 2
patch -p1 < ../patches/xview.james2.patch  2> /dev/null
#group 3 (group 3 patches fix bugs)
patch -p1 < ../patches/xview.james3.patch  2> /dev/null

if [ `arch` = alpha ]; then
	echo "Applying alpha patches... (EXPERIMENTAL)"
	patch -p1 < ../patches/xv.alpha.james1.patch  2> /dev/null
	patch -p1 < ../patches/xv.alpha.james2.patch  2> /dev/null
fi

patch -p1 < ../patches/xview.james4.patch  2> /dev/null

# Group 5 fix strncpy and so on which are
# now defined as macros GRRRR.
#
patch -p1 < ../patches/xview.james5.patch  2> /dev/null

#
# l10_read buffer size
#
patch -p1 < ../patches/xview.james6.patch  2> /dev/null

#Uncomment the following to  enable debugging
#
#
#
#patch -p1 < ../patches/xview.debug.patch 2> /dev/null



#The following is the most horrible hack you are ever likely to see

echo Removing extra tabs from makefiles...

echo Finding Makefiles...
MAKEFILES=`find . -name Makefile -print`

echo Pass 1...
HORRID1=`grep -l "	XVC" $MAKEFILES`

for i in $HORRID1; do
sed 's/	XVC/        XVC/g' < $i > horrid1
/bin/rm -rf $i
mv horrid1 $i
done

echo Pass 2...

HORRID2=`grep -l "	     XVC" $MAKEFILES`
for i in $HORRID2; do
sed 's/	     XVC/             XVC/g' < $i > horrid2
/bin/rm -rf $i
mv horrid2 $i
done

echo Done.

chmod +x Build-LinuxXView.bash


(
mkdir build
cd build
mkdir include
cd include
mkdir bitmaps images olgx olgx_private pixrect xview xview_private
cd ..
cd ..
)


set -x

Build-LinuxXView.bash libs 
Build-LinuxXView.bash instlibs 
Build-LinuxXView.bash clients 
Build-LinuxXView.bash instclients 


cd ..



echo olvwm4...
echo Cleaning up...
/bin/rm -rf olvwm4
echo Unpacking...
tar xfz distrib/olvwm4-truecolor.tar.gz
echo Patching...
cd olvwm4
patch -p2 < ../patches/olvwm4-bison.patch  2> /dev/null


patch -p1 < ../patches/olvwm4.james.patch  2> /dev/null
if [ `arch` = alpha ]; then
	echo "Applying alpha patches... (EXPERIMENTAL)"
	patch -p1 < ../patches/olvwm4.alpha.james.patch  2> /dev/null
fi
set +x
xmkmf -a
make
make install



exit


