#!/bin/sh

# create a directory to extract to.

if [ "$1" = "help" ];then
	echo "not entering any arguments will invoke an interactive install process"
        echo "$0 [prefix current-faxien-install-dir erts-vsn]"
        exit 0
fi

if [ "$#" = "4" ];then
	PREFIX=$1
	FAXIEN_INSTALL_DIR=$2
	TARGET_ERTS_VSN=$3
else
	
	DEFAULT_PREFIX=$(dirname $0)/otp-base
	echo "Please enter the location for your OTP Base install. When doing so think about how you plan"
	echo "to use OTP Base. If you plan to use a new install for each project you work on you should"
	echo "install OTP Base into a directory named after your project like '/home/jdoe/my_project'."
	echo "Alternatively if you plan to use a single OTP Base install to house many applications and"
	echo "releases you should go with the default install of ./otp-base or a similarly generic prefix."
	echo "Please enter your install location, aka prefix, here. Use an absolute path. Default: [$DEFAULT_PREFIX] $> \c"
	read PREFIX

	if [ "$PREFIX" = "" ];then
		PREFIX=$DEFAULT_PREFIX
	fi

	if [ -e $PREFIX ];then
		echo "$PREFIX already exists"
		echo "Would you like to delete it? Answer [y|N] $> \c"
		read RESP

		case "$RESP" in
			"y")
				echo ""
				echo "    Are you sure? This will delete your entire previous install."
				echo "    Please type \"yes\" to continue $> \c"
				read SURE_RESP
				if [ "$SURE_RESP" != "yes" ];then
					echo ""
					echo "Keeping previous install, and aborting bootstrap."
					exit 0
				fi
				echo ""
				echo "Removing previous install"
				rm -rf $PREFIX
				;;
			*)
				echo "exiting the Erlware OTP Base bootstrap process"
				exit 1
				;;
		esac

	fi

	DEFAULT_FAXIEN_INSTALL_DIR="/usr/local/erlware"
	echo ""
	echo "Please enter the base directory for your Faxien install [$DEFAULT_FAXIEN_INSTALL_DIR] $> \c"
	read FAXIEN_INSTALL_DIR

	if [ "$FAXIEN_INSTALL_DIR" = "" ];then
		FAXIEN_INSTALL_DIR=$DEFAULT_FAXIEN_INSTALL_DIR
	fi

	if [ ! -e $FAXIEN_INSTALL_DIR ];then
		echo "$FAXIEN_INSTALL_DIR does not exist. Please go to code.google.com/p/faxien and install Faxien"
		exit 2
	fi

	ERL=$(which erl)
	if [ "$ERL" = "" ];then
		ERL=$FAXIEN_INSTALL_DIR/bin/erl
		echo "erl not found on path using $ERL"
	fi

	DEFAULT_TARGET_ERTS_VSN=$($ERL -s init stop | grep V | sed -e 's/.*V\([0-9\.]*\).*/\1/')
	echo ""
	echo "Please enter the erts version for the current version of Erlang you are running"
	echo "It appears to be $DEFAULT_TARGET_ERTS_VSN and this will be the default value if you choose"
	echo "not to enter one here. Default: [$DEFAULT_TARGET_ERTS_VSN] $> \c"
	read TARGET_ERTS_VSN

	if [ "$TARGET_ERTS_VSN" = "" ];then
		TARGET_ERTS_VSN=$DEFAULT_TARGET_ERTS_VSN
	fi

	export PREFIX
	export FAXIEN_INSTALL_DIR
	export TARGET_ERTS_VSN
fi
	
SKIP=`awk '/^__ARCHIVE_FOLLOWS__/ { print NR + 1; exit 0; }' $0`

echo "Extracting the Erlware OTP Base bootstrap"
echo Creating target directory $PREFIX

mkdir -p $PREFIX

if [ $? != 0 ]; then
echo "Error executing mkdir, do you have permission?"
exit 1
fi

export PREFIX=$(cd $PREFIX; pwd)

echo Untaring into $PREFIX

# Take the TGZ portion of this file and pipe it to tar.
tail -n +$SKIP $0 > $PREFIX/tmp.tar.gz
(cd $PREFIX; tar -zxf tmp.tar.gz)
rm $PREFIX/tmp.tar.gz

if [ $? != 0 ]; then
echo "Unable to untar bootstrap"
exit 1
fi

echo "Performing substitutions"
echo "FAXIEN_INSTALL_DIR=$FAXIEN_INSTALL_DIR"
echo "TARGET_ERTS_VSN=$TARGET_ERTS_VSN"

FAXIEN_INSTALL_DIR=$(echo $FAXIEN_INSTALL_DIR | sed -e "s;\/;\\\/;g")
sed -e "s;%FAXIEN_INSTALL_DIR%;$FAXIEN_INSTALL_DIR;" \
    -e "s;%TARGET_ERTS_VSN%;$TARGET_ERTS_VSN;" \
    $PREFIX/build/otp.mk > $PREFIX/build/otp.mk.tmp
 
mv $PREFIX/build/otp.mk.tmp $PREFIX/build/otp.mk

echo ""
echo "*** Erlware OTP Base is now installed ***"
echo ""
echo "For instructions on how to get started please read the README"
echo "file located inside your new Erlware OTP Base install"
echo ""

exit 0

__ARCHIVE_FOLLOWS__
 EG =kw۸jػӯ$N#KT#ɛ	Yl(%);i%uk;V8Z1 QW>yRƲK+{_.'\={D*)(6C'S3oaz7[:#+H
a.Xۃ>/ƛXMl~<}	'_/3 %OBx"=0zn_iM|a}["8~W8y|	cھ۾!n4<r}[hOƉca;+sP]5eO=h+]H؟y61\]]e^,O_yoڎwHϖHЯ	e&  kCC[8(3,?"|1c1\IaA8HF֨Iơ?|RB#/^+?-1w&I`'	vwQJ|?RxBǌ%VɸP?X"jplbe<{0׆b h"QYi~XG3Y\2ݒnix<չ;Ehe_쑶H|c<#yNt8&%wHcRlD1*9/%D>(mE|^SQY9pd"ؙQIf"D'NY~ZrPKFl9؀^h@.pJQDiF/}zЂf!^`Px1SMkqxp@hvBTJGT<0ŘuLSC!]Ԣ+A-$3t! R9!viiFiz"?	:u<cw$Dm*qB3&	.dv2͇ғ!<Gdcubr>ECFfX@N6;84GP"a/f<^!.>FQ.kO1'u>t.!	 ͢q&2q,MnHMSFlY ߼[!e&_I̥y,wFS4S[~sZo1[Ed;X7ɁLM!{Ɖo40CAYTT*k/MrV3ƹdfųP*nd8Wtx(oL@qP< B'lXP$Kǒ<72+cT	!̲k38m"4,C^%+]ԖNͰTm^2t|.*Ke]MIy
)i@'B)&\<)8v"nߔE_BhAOL!Q3Y	h$ply)]?A011rF8͏}((N4r)JF3&`2(?
#{uv\+sec'OQGo7)6t"O̅ y`+~.I46pQ?YR(uYyphRm5PHo"$,$}ҲJ/^R0+;?\:&+9d{]hҚ" /r
xˤ9raM	Io?K5qפFs9i2V);-i
>5bi$=ΕT93Q}-rH\Ksُ,)VXH/#h,:iDwMIh/h%F'6-)Skuapb11t1tElD$	|\P(~f<	1/^XH:̒Ԗ#HI&ƀcM83U2d^w`=/꿸`x@wC/̫ÎI[XV󿕝{XT(-h;ʊvcѭOkb\-69֫8..TNڅtXL2oiA] apVA>}f(7N7S$J;A~vz:NL>ߡiW+ wK.8{H;ǀAfovzmm\p ~XG90NڵAw8T׮5۵CXx*MSg|PJ,&[mvfk]gh:j[-g#"CCo%?ZzbWⷂunCn
3F@}E)b0fҳ"uw"a4tL'T|
򯄠
 /h\W¿>[k()(ًP൳\Ό>&aE ^Jj_WeC/xQGޅ&fhh[~HZp"D
ozO4ؘUFZue{g{J[0sI8Aǌ8)Q}5(gylN8cϖczo_|l♐팓1A*2hrzE)g=`vهg:A6Z2%!ێ
H	Dٓ6L\XW0v͋H+]`Fڬa];O)tֈ Gȝ3ww&H6`$=G6tdGf_ߙA辇*ЙQA=9nфA%bČI86Ay}OaҊuXzN{.7l3Yce1ޢ<m|)6cSizhC	OO9*2VYy@ȁ1bU"&t从}L6M+!m1/q	kZf]L9+F_|T(~"Sb)٭6Y-{Cg*7[`4nX5l:5KJ̪m/}Or2NZ򃸄cZq+bz Tbzzr!Wsޝ'Jcs3txJ"q
`X"1@Qddw76(R?߿?g])-+ⵅj^&]VD}B{&TX\ݫuڭW	QO=*M@&m@"
]n8	YDl_8ƾu'3nuBG`u%:d%֬ȧL/L7ќ­m¹ɝr*Qخ,OTMom/KVZGخa#pR!V3	B.(_B?U[FJL*Rq71`3Lb7Ű_keua( ƼA<-HEع?;uf&X(f1"ƕ/-Qe6<K_ڐB3+Pa׹u_wX_#ѹESwv[]T(Oq5FM(rppY<Zi*E!/Ybu{^a>w[hd*/wXR -viOUgvUƢ5N	a4kgA]UU8YL
Veb	˲}鷃Uvn:ս;n2QX6JQGp7oǪ#WUwG)IX,Btgm1e g3ћ0d\*HUA=č7y !uoG@xʿ=ǁCk|\mxI+vnt{VWvu(e0еbBPo"uCbæ5:aVMN.߽!N)iqԉ9z\H{tIkBm:92(ixunA${??zfrp[]	ۆZ ַffF)j}35oKu>ȝSRR6KݒPK^ԉ.UJHDl\$L>GN`f1VFTiIz!%%/\ Bo$8N@5y䫉>B{gKc:gTgեRe|\J}vEBׯ-o&
M8ѽA~G+cՇ^Vh@6kgZgMu>/Niۃie`huFc;v@#jX-ON^kGvkaA6ji7hڵR7:cAZW|qjg1wO?Zo q``푁Վچ骷kmhNjoE0=n{wlpXA\E A 7k'^KG`aI*Pҝb0jm֧@%c|ݽz%CZ~a?^LÎ=Qʭ {VT˻OM 'Ly3_Fr䤼@%?|?ܵ#b'vo({C?'}_ǳMURKAeϤ>zhz8Ff:Z(Ty@7|4:8. P+ZjKPE!SJ{xvzjZ7T	=,/
%pl?W.ǲKP
LW]oD tq7(Qh_[m_!~.ޞon[)|	#_~|M\]xX꒢JcNQ%)"|TJ ΃+:0B_XbJJQh	҆?!եPMɍPH!9NX/DXԊb~:lgNwRj0O	2ۺy}a22<9>Su<=E+IhBѧpRI<io,i}.'uy?h^u?JY:wzwggy>W;i*Dltۍab1aF6T-*tT`Cw|(d)DgSc;M:(.TqqWCx%PJ*7`|jBW(սo	կW|&i&/L`woG)?	9covr$9ƷgC6qwW_/(喼Pey<]_]T*G)z/WEJO_?{+Z;rS)}_c|e[s_{FvY,Ԙ{A-QqZ)ܽ%A
2,3.ytxѐwJEsz|ߤ)0e77B$Rǭ|̽G.![77tQ)'0&ظиlL%ޝegpb`-3efVV^b[vVzwێpJO^;hvܦ?sV>#L KcU]9U1㊑	ʦSx,튼	sQ綊<rRI	j5J4/xErV:~&&-ݽ Y`ay m9T1o3w4?$1a'VTs@.@J&y 4rc,k\:53ĳ_5qƙJ:s)U9īQ1cXjI"2@2z})㞽̢X=qC(9'%(%
B;x=UϯJ	IWek-֚EI
lms&e#믟W	7ࡧ|W%$te0p*dD_4ճ6
Pc-zByL R(S%'?q>ہ[A]i>]$Z35-"P lG,!eWj j""ncRL[XLQWTօ hGHҲu"m=[锵jjJ#C=AQyY#.]q	}uڛ&f?<'%:SS
=45.>'W;Z-//j
G/#VB-ĕ%Ĳ(G5lRAG#JF%MIfÌEuBZ)*P3S:`S`Ѡ?HrRU ѫ|[/oWtNfK	k*q{n67!a=*軷q~-Ɍlk0";3+wEx#}t]aX?hRy}p6iy٠~Bׁ{PX9 {RN,dD6:-ewĦG;xÜ( {a4^ Z	ޫ-~:BMKˈGc	OmwOkq=ZSc^~F~a;7iC Գn8z~57N}BɲI<wVޔ?nyvU9𩂀._m<[@<R)Tw3:$s N9!/+ވQ|ilc̓vvSK!UGrܸ`HuR-1*tէ6]0[VcLSJMf(5>O\~4:i ~~AI?J-
Be}(/!l^1bשvփr3_&z0|C:y|`!TZ.A`[]%aֶ~1*CxjnTb1ЙjLm[5W_=MKb˘7-7[lc.nu(P,(yQR|T6䍢O&X~I 0eλT %_x?|8ya7u|M}5_DSEDD8*7DR5ۥ7juR+%Q1	É3D0GqYྲྀg-(/Ffj9lciE9s.#vvf!VN5Z,-YˎJtQǢzQ</Jy找y|r(kl+~O7k|r~P񦡶ޕ~-\ׇ;Lp0rar%W.U1*3/JK%{ȗ>6QU~JFmK63Xؿ\\TBA-t{2ӣuD;Ǹ/c>F}}]U)!hGhlLTtɩR,
W=XEs3|cVׂ?DLg"<S'>QHfO|׷LтHhhh606\Vd0[F"*+5FK=eY/]?YTjOgۼW_2tQȩ*K@tN[aFUJiajNl;Qk=	
ѭiNh=de&'sч/EY\nLLTXAzQ/"8:&AK34YZmT!v݇+!4g:yO PVXo/x}U酑u+Il-!-o;/KW$&X.X[o3PbŨ6}nCwunU"Rh>ʶ74vFg8JL+4\~Mۤ2xU/IK[K(~008L}7dГ$V4^އd=_%y!~qqq@`9XDa4T7"dIΎ9>{KIbۚ c-Lbx	KސJj/)'TUe\-(ȟ&eM*D>J1e<x`ldo|$(cbv;/i?7[[߹8Oۥ@&$StRHL%S3[WK>5mTi iwkdK<id)M3Uc'.y&~A*Q9?c4	ԗ|ҫRJ<OY4LV>ܡ=r3(CޕR((##bgBͨlJv綸/	_e9s ~*_F\]TG_+nz;CH<D1зG㽾KH^tNJOQ!{%/AT!<b}_"8'I*(!ЪR9 ݅zTuxtdL$븞ŝ( -<k)jF?[Vt]1+<}gereL#o99)o<"
_u(heP-&:_&Dc8"EqodW@IUaeStdR;k~:}	1Њx**t.e=Bq#P<Oꕨ|pB6n.
e8»Y6}P)C$X| /E?!VՑXe ץ4m k ]Ndt*?s7[!dNdyrXw[P/4Z%ۖY>A]:ffÜXgJA3P)GPqT}}K~ƃƃ~S<=G-Kea0	}wxPq'-iÀ&pCW*OFPNWhfVo*s-Yꚫ've	3"U:\x~k6Iv&БV'};覡Qj6y/;qWQG^>Δ	!:wq/a9.%3'rzfYXud^KUaQP]b˟y.qu ;,ax'32+(9-nCh%TrjV1#=:GcnKc@G TlM3Y׍pK>P)iZ fᎍ^Y?{,?wot}o[)I:%zyGt^o^/&? O!S~a54ն-FfL>Emj}pw>rr9c+TW*YN:&~J/L.3ǽdBu =J7Կfe,0(t4(cz:ShЪTj[?R   
