; A simple installation-script for the Recall-package

(set #programmer		"© 1993 Ketil Hunn")
(set #version				"V1.01")
(set #Mainprog			"Recall")
(set #Prefsprog			"RecallPrefs")
(set #Script				"Recall.prefs")
(set #guide					"Recall.guide")
(set #Sourcedir			"Source")
(set @default-dest	"SYS:")

(set mainsize		 	14280)
(set prefssize	 	27672)
(set libssize		 	38104)
(set projectsize		863)
(set guidesize	 	25506)
(set sourcesize		83507)

(set done (+ mainsize prefssize libssize projectsize guidesize sourcesize))

(complete 0)

(set progs
	(askoptions
		(help			@askoptions-help)
		(prompt			"Select parts of the package to be installed:")
			(choices	"Recall"
								"RecallPrefs"
								"Recall.prefs"
								"Recall.guide"
								"C-Source"
				(default	31)
	  	)
	)
)

(if (IN progs 3) (
	(set docdest
		(askdir
			(prompt		"Select in which drawer to install the documentation:")
			(help			@askdir-help)
			(default	@default-dest))
		)
	)
)

(if (IN progs 4) (
	(set sourcedest
		(askdir
			(prompt		"Select in which drawer to install the sourcecode:")
			(help			@askdir-help)
			(default	@default-dest))
		)
	)
)

(if (IN progs 0) (
	(copylib(source	#Mainprog)
					(dest		"SYS:WBStartup")
					(prompt (cat "About to copy " #Mainprog))
					(help		@copylib-help)
					(confirm)
					(infos))
	)
)
(complete (/ (* (set sofar (+ sofar mainsize)) 100) done))

(if (IN progs 1) (
	(copylib(source	#Prefsprog)
					(dest		"SYS:Prefs")
					(prompt (cat "About to copy " #Prefsprog))
					(help		@copylib-help)
					(confirm)
					(infos))
	)
)
(complete (/ (* (set sofar (+ sofar prefssize)) 100) done))

(copylib(source	"Libs")
				(dest		"Libs:")
				(prompt (cat "About to copy ReqTools.library" ))
				(help		@copylib-help)
				(confirm))
(complete (/ (* (set sofar (+ sofar libssize)) 100) done))

(if (IN progs 2) (
	(set OK (askbool(prompt "About to copy " #Script "\n\n"
									"Destination Drawer to Copy to:\n"
									"ENVARC:")
									(help @askbool-help)
									(default 1)))
		(copyfiles(source	#Script)
							(dest		"ENVARC:"))
	)
)
(complete (/ (* (set sofar (+ sofar projectsize)) 100) done))

(if (IN progs 3) (
	(copyfiles(source	#guide)
						(dest		docdest)
						(infos))
	)
)
(complete (/ (* (set sofar (+ sofar guidesize)) 100) done))

(if (IN progs 4) (
	(copyfiles(source	#Sourcedir)
						(dest		(tackon sourcedest "RecallSource"))
						(all)
						(infos))
	)
)
(complete 100)
