; $VER: Install HPAsm 2.00 (8.09.94)
; Vallée Christophe © 1994

(set DEVICE "hd1:")
(set DEFAULTDEVICE "sys:")
(set DISTDIR "HPAsm")

(welcome)
(complete 0)

; parties à installer

(set OPTIONS
	(askoptions
		(prompt "Which parts of the distribution do you want to install ?")
		(help @askoptions-help)
		(choices
			"The assembler HPAsm"
			"The documentations" 
			"The examples"
			"The utilities"
			"The HPTopaz font")
		(default 31)
	)
)

; choix répertoire principal

(set MAINDIR
	(askdir
		(prompt "Where do you want to install HPAsm (a directory will be "
       "created in the directory you will choose) ?")
		(help @askdir-help)
		(default (if ((= (exists DEVICE (noreq)) 2)) (DEVICE) (DEFAULTDEVICE)))
		(disk)
	)
)
(if (= (exists MAINDIR) 0) (makedir MAINDIR (infos)))
(complete 5)

(set DIR (tackon MAINDIR DISTDIR))
(set @default-dest DIR)


; crée répertoire

(if (= (exists DIR) 2) (
	(message "Directory '" DIR "' already exists. All the files of this "
            "directory will be deleteted.")
	(run ("delete \"%s\" all" DIR))
	)
)
(makedir DIR (infos))
(complete 10)


; choix jeu d'icônes

(set ICONSET
	(askchoice
		(prompt "Two sets of icons are disponible "
         "according the screen you are using. "
			"Which set of icons do you want ?")
		(help @askchoice-help)
		(choices "Med-res screen (ratio 1x2)"
			"High-res screen (ratio 1x1)")
		(default 0)
	)
)
(set ICONDIR (select ICONSET "icons/medres" "icons/highres"))
(complete 15)

(copyfiles
	(source (tackon ICONDIR "source.info"))
	(dest "ENVARC:HPAsm")
)
(tooltype
	(dest ("ENVARC:HPAsm/source"))
	(setdefaulttool (tackon DIR "HPAsm"))
	(noposition))

(copyfiles
	(source "ENVARC:HPAsm/source.info")
	(dest "ENV:HPAsm")
)

(copyfiles
	(source (tackon ICONDIR "code.info"))
	(dest "ENVARC:HPAsm")
)
(tooltype
	(dest ("ENVARC:HPAsm/code"))
	(setdefaulttool (tackon DIR "utils/Send"))
	(noposition))

(copyfiles
	(source "ENVARC:HPAsm/code.info")
	(dest "ENV:HPAsm")
)

; installe l'assembleur

(if (in OPTIONS 0) (
	(copyfiles
		(source "HPAsm")
		(dest DIR))
	(copyfiles
		(source (tackon ICONDIR "HPAsm.info"))
		(dest DIR)
		(newname "HPAsm.info"))
	(tooltype
		(dest (tackon DIR "HPAsm"))
		(noposition))
	)
)
(complete 20)


; installe les docs

(if (in OPTIONS 1) (
	(set DOCDIR (tackon DIR "docs"))
	(makedir DOCDIR (infos))

	(copyfiles
		(source "docs")
		(dest DOCDIR)
		(pattern "~(#?.info)"))

	(foreach DOCDIR "#?"
		(copyfiles
			(source (tackon ICONDIR "doc.info"))
			(dest DOCDIR)
			(newname (cat @each-name ".info")))
		(tooltype 
			(dest (tackon DOCDIR (fileonly @each-name))
			(setdefaulttool (tackon DIR "HPAsm"))
			(noposition))))
   )
)
(complete 40)


; installe les exemples

(if (in OPTIONS 2) (
	(set EXEMDIR (tackon DIR "examples"))
	(makedir EXEMDIR (infos))

	(copyfiles
		(prompt "\nSelect the examples you want to install:\n")
		(help @copyfiles-help)
		(source "examples")
		(dest EXEMDIR)
		(pattern "~(#?.info)")
		(confirm))

	(foreach EXEMDIR "#?.(i|s)"
		(copyfiles
			(source "ENV:HPAsm/source.info")
			(dest EXEMDIR)
			(newname (cat @each-name ".info"))))

	(foreach EXEMDIR "#?.cod"
		(copyfiles
			(source "ENV:HPAsm/code.info")
			(dest EXEMDIR)
			(newname (cat @each-name ".info"))))

	(foreach EXEMDIR "#?.doc"
		(copyfiles
			(source (tackon ICONDIR "doc.info"))
			(dest EXEMDIR)
			(newname (cat @each-name ".info")))
		(tooltype
			(dest (tackon EXEMDIR (fileonly @each-name))
			(setdefaulttool (tackon DIR "HPAsm"))
			(noposition))))

	)
)
(complete 60)


; installe les utilitaires

(if (in OPTIONS 3) (
	(set UTIDIR (tackon DIR "utils"))
	(makedir UTIDIR (infos))

	(copyfiles
		(prompt "\nSelect the utilities you want to install:\n")
		(help @copyfiles-help)
		(source "utils")
		(dest UTIDIR)
		(pattern "~(#?.info)")
		(confirm))
	)
)

(complete 80)

; installe la fonte

(if (in OPTIONS 4) (
	(copyfiles
		(source "fonts/")
		(dest "FONTS:")
		(all))
	)
)

; fin

(complete 100)
(exit)
