#!/bin/sh

if [ -s ./.config ]; then
. ./.config
else
OPENSSLDIR=/opt/openssl-0.9.6i
APACHEDIR=/opt/apache-1.3.27
SHAREDSSL=
fi

C="\c"; N="-n"
x=`echo $N $C`
if [ X$x = X-n ]; then
    unset N
else
    unset C
fi
unset ans
while [ "$ans" != "y" -a "$ans" != "n" ]; do
    if [ ! -z "$ans" ]; then
	echo "Please answer with 'y' or 'n'."
    fi
    echo $N "Has OpenSSL already been installed? (y/n) $C"
    read ans
done
unset loc
while [ "$loc" = "" ]; do
    if [ "$ans" = "y" ]; then
	echo $N "Where is OpenSSL installed ($OPENSSLDIR): $C"
    else
	echo $N "Where do you want to install OpenSSL ($OPENSSLDIR): $C"
    fi
    read loc
    if [ "$loc" = "" -a "$OPENSSLDIR" != "" ]; then
	loc=$OPENSSLDIR
    fi
    if [ "$ans" = "y" -a ! -d $loc/lib ]; then
	echo
	echo "OpenSSL doesn't appear to be installed in $loc."
	unset loc
    fi
done
OPENSSLDIR=$loc

if [ "$ans" != "y" ]; then
    unset ans
    while [ "$ans" != "y" -a "$ans" != "n" ]; do
	if [ ! -z "$ans" ]; then
	    echo "Please answer with 'y' or 'n'."
	fi
	echo $N "Build OpenSSL with shared library support? $C"
	if [ "$SHAREDSSL" = "" ]; then
	    echo $N "(n/y) $C"
	else
	    echo $N "(y/n) $C"
	fi
	read ans
    done
    if [ "$ans" = "y" ]; then
	SHAREDSSL=shared
    else
	unset SHAREDSSL
    fi
fi

unset loc
while [ "$loc" = "" ]; do
    echo $N "Where do you want to install Apache ($APACHEDIR): $C"
    read loc
    if [ "$loc" = "" -a "$APACHEDIR" != "" ]; then
	loc=$APACHEDIR
    fi
done
APACHEDIR=$loc

DISTDIR=`pwd`/distfiles
PATCHDIR=`pwd`/patches
( echo "# config file for building OpenSSL and Apache"
  echo "DISTDIR=$DISTDIR";	\
  echo "PATCHDIR=$PATCHDIR";	\
  echo "OPENSSLDIR=$OPENSSLDIR";	\
  echo "SHAREDSSL=$SHAREDSSL";	\
  echo "APACHEDIR=$APACHEDIR";	\
) > .config

echo


for d in openssl apache modules i2a2; do
    [ -f $d/Makefile ] && mv $d/Makefile $d/Makefile.old
    if [ -f $d/Makefile.tmpl ]; then
	dirs="$dirs $d"
	echo "Building $d/Makefile"
	sed -e "s:%%DISTDIR%%:${DISTDIR}:g"	\
	    -e "s:%%PATCHDIR%%:${PATCHDIR}:g"	\
	    -e "s:%%APACHEDIR%%:${APACHEDIR}:g"	\
	    -e "s:%%OPENSSLDIR%%:${OPENSSLDIR}:g" \
	    -e "s:%%SHAREDSSL%%:${SHAREDSSL}:g" \
	       < $d/Makefile.tmpl > $d/Makefile
    fi
done

echo
echo "You may now proceed with the following commands:"
for d in $dirs; do
    echo "cd $d"
    if [ $d = "i2a2" ]; then
	echo "make patch"
	echo "vi src/*/libpuidX/extlib/Makefile.PL	# fix LIBPUIDX_CCOPTS for your system"
    fi
    echo "make"
    echo "make install"
    echo "cd .."
    echo
done
