#!/bin/bash

basedir=`dirname $0`
. $basedir/../common/funcs.sh
prefixDir=`calculatePrefix $@`
basedir=`canonicalize $basedir`
echo "Prefix dir is ${prefixDir}"


Version=0.4
sslVersion=0.9.7m

sslCompile=1
sslDebug=0

openssldir=$basedir/openssl
opensslversion=$basedir/openssl/openssl-${sslVersion}

function installOpenSSL
{
	if ! [ -f ${opensslversion}.tar.gz ] ; then
	  echo This package needs "$openssltarball"
	  exit 1
	fi
	
	 if [ "$sslCompile" == "1" ]; then
	 	(
			echo "====Compiling openssl version $sslVersion===="
			cd $openssldir
                        rm -rf openssl-${sslVersion}
			unTar openssl-${sslVersion}.tar.gz                   || exit 1
			cd openssl-${sslVersion}                            || exit 1
			if [ "$sslDebug" == "1" ]; then
				echo "-debug mode-"
				./config -d -shared threads                       || exit 1
			else
				echo "-release mode-"
				./config -shared threads                          || exit 1
			fi
			#Hack for newer versions of gcc
			gccVersion=`gcc -dumpversion`
			if [ "$gccVersion" \> "4.3.0" ]; then
			 #do
			 cat Makefile | sed 's/-m486/-mtune=i486/g' > Makefile.changed
			 mv Makefile.changed Makefile
			fi
			#MAKE!
			make -j4                                              || exit 1
		)
	fi
}

function installGSI
{
	(
		cd $basedir
		INSTALLbin=`canonicalize $prefixDir/bin`
		INSTALLlib=`canonicalize $prefixDir/lib`
		export PATH=$INSTALLbin:$PATH
		python=`which python` ; python=`canonicalize $python`
		DIRACpython=`canonicalize $INSTALLbin/python`
		python_version=`$python -V 2>&1 | awk '{print $2}' | awk -F. '{printf "%s.%s",$1,$2}'` || exit 1
		$python setup.py build                                     || exit 1
		$python setup.py bdist_egg                                 || exit 1
		echo "HERE"
		rm -rf temp                                                || exit 1
		mkdir temp                                                 || exit 1
		(
			cd temp
			python $basedir/unzip.py ../dist/pyGSI-${Version}-py${python_version}-*-*.egg  || exit 1
			rm -rf EGG-INFO                                            || exit 1
			if [ $python == $DIRACpython ] ; then
			  cp -r * ${INSTALLlib}/python${python_version}/site-packages/ || exit 1
			fi
		)
	)
}

installOpenSSL || exit 1
installGSI || exit 1
