;----------------------------
; BJ (13.06.96)(05.09.96)
; tabsize=4
;----------------------------
;****************************

(set #readme-file "README")	;name of readme file
(set #cleanup "")			;files to delete after install

;****************************
;----------------------------
; Checks if given program is reachable via the path
; parameters:
;		#program		- to check
; result:
;		#instok			- 0 if not found

(procedure P_chkinst
	(if
		(= 0 (run ("cd SYS:\nWhich %s" #program)))
		(set #instok 1)
		(set #instok 0)
	)
)

;----------------------------
; Checks if given program is reachable via the path
;  if not reachable tries to install from local to RAM:
;   if fails abort install
; parameters:
;		#program		- to check

(procedure P_chkrun
	(P_chkinst)
	(if
		(= #instok 0)
		(
			(if
				(exists #program)
				(copyfiles
					(help @copyfiles-help)
					(source #program)
					(dest "RAM:")		;should always be in the path
				)
				(if
					(exists ("//c/%s" #program))		;on installation package
					(copyfiles
						(help @copyfiles-help)
						(source ("//c/%s" #program))
						(dest "RAM:")		;should always be in the path
					)
					(abort ("You must install %s first !" #program))
				)
			)
			(set #cleanup ("RAM:%s %s" #program #cleanup))
		)
	)
)

;----------------------------
; Waits for inserting disk
; parameters:
;	 	#AD_disk		- name of disk

(procedure P_disk
	(
		(askdisk
			(dest #AD_disk)
			(prompt ("\nInsert Disk \"%s\" in any drive !" #AD_disk))
			(help @askdisk-help)
		)
	)
)


;****************************

; check if WHDLoad is installed
(set #program "WHDLoad")
(P_chkinst)
(if
	(= #instok 0)
	(abort "You must install WHDLoad first !")
)

; check if DIC is installed
(set #program "DIC")
;(P_chkrun)

; check if Reloc is installed
(set #program "Reloc")
(P_chkrun)

(set @default-dest
(askdir
	(prompt ("Where should \"%s\" installed ?\nA drawer \"%s\" will automatically created." @app-name @app-name))
	(help @askdir-help)
	(default @default-dest)
	(disk)
)
)

(set #dest (tackon @default-dest @app-name))

;if anything similar exist delete it
(if
	(exists #dest)
	(run ("Delete %s %s.info all" #dest #dest))
)

(makedir #dest
	(help @makedir-help)
	(infos)
)

;----------------------------

(copyfiles
	(help @copyfiles-help)
	(source ("%s.slave" @app-name))
	(dest #dest)
)
(copyfiles
	(help @copyfiles-help)
	(source ("%s.inf" @app-name ))
	(newname ("%s.info" @app-name ))
	(dest #dest)
)
(if
	(exists #readme-file)
	(copyfiles
		(help @copyfiles-help)
		(source #readme-file)
		(dest #dest)
	)
)

(set #dest (tackon #dest "data"))
(makedir #dest
	(help @makedir-help)
)

(set #AD_disk "Oscar1")
(P_disk)
(copyfiles
	(help @copyfiles-help)
	(source ("%s:" #AD_disk))
	(dest #dest)
	(pattern "~(00|11|s)")
)
(rename (tackon #dest "10") (tackon #dest "exe"))
(if
	(= 0 (run "Path RAM: ADD\nReloc" (tackon #dest "exe") "QUIET" ">con://///WAIT/CLOSE/AUTO"))
	("")
	(abort "\"Reloc\" has failed")
)

(set #AD_disk "Oscar2")
(P_disk)
(copyfiles
	(help @copyfiles-help)
	(source ("%s:" #AD_disk))
	(dest #dest)
	(pattern "~(00)")
)

(set #AD_disk "Oscar3")
(P_disk)
(copyfiles
	(help @copyfiles-help)
	(source ("%s:" #AD_disk))
	(dest #dest)
	(pattern "~(00)")
)

;----------------------------

(run ("Delete %s ALL QUIET FORCE" #cleanup))		;delete all temporary files

(if
	(exists #readme-file)
	(if 
		(= 0 (run ("SYS:Utilities/Multiview %s" #readme-file)))
		("")
		(run ("SYS:Utilities/More %s" #readme-file))
	)
)

(exit)

