; Installer script for PManager.

(user 1)
(set @default-dest "Work:")
(welcome "\nThis installer script will install PManager v2.92 (13 June 1999)\nthe programmer's project manager")

(if
    (not (= (exists "MUI:" (noreq)) 2))
    (abort "PManager needs MUI 3.7 or higher.\n")
)
(
    (set a_compiler
	    (askchoice
		    (prompt "Select C compiler environment to install")
		    (choices "SAS/C" "Other")
	       (help "Currently fully supported only SAS/C")
		    (default 0)
	    )
    )
    (if (= a_compiler 0)
    (
	(set a_editor
		(askchoice
			(prompt "Select editor environment to install")
			(choices "GoldED" "SAS/C SE" "Other")
		   (help "Currently fully supported only GoldED 4.xx and SAS/C SE editors")
			(default 0)
		)
	)
    )
    )

    (set #ddir
	(askdir
	    (prompt "Select destination directory to install (directory called \"PManager\" will be created there).\n Or select PManager parent directory to update old version.")
	    (help @askdir-help)
	    (default @default-dest)
	)
    )
    (set @default-dest (tackon #ddir "PManager"))

    (copylib
	(prompt "Installing the WBStart.library")
	(help "")
	(source "config/libs/wbstart.library")
	(dest "Libs:")
	(confirm)
    )

    (makedir @default-dest)
    (copyfiles
	(source "/PManager_Install.info")
	(dest #ddir)
	(newname "PManager.info")
    )
    (makedir @default-dest)
    (copyfiles
	(source "docs.info")
	(dest  @default-dest)
    )
    (copyfiles
	(source "config/")
	(choices "PManager.info" "PManager")
	(dest @default-dest)
    )

    (makedir (tackon @default-dest "docs"))
    (run ("delete %s/sc all force" @default-dest))
    (run ("delete %s/sc.info all force" @default-dest))
    (run ("delete %s/arexx all force" @default-dest))
    (run ("delete %s/arexx.info all force" @default-dest))

    (copyfiles
	(source "")
	(choices "docs/PManager.guide" "docs/PManager.guide.info"
		 "docs/PManager.readme" "docs/PManager.readme.info")
	(dest (tackon @default-dest "docs"))
	(prompt "Installing documentation")
	(help "")
	(confirm)
    )
    (if (= (exists ("%s/PManager.sections" @default-dest)) 0)
    (
	(copyfiles
	    (source "config/PManager.sections")
	    (dest @default-dest)
	)
    )
    )

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

    (if (= a_compiler 0)
    (
	(copyfiles
	    (source "config/compiler/sc")
	    (choices "grep_gui" "makegst")
	    (dest "sc:c/")
	    (prompt "Installing GREP_GUI and MAKEGST")
	    (help "")
	    (confirm)
	)

	(if (= (exists ("%s/PManager.tools" @default-dest)) 1)
	(
	    (if
	    (askbool
		    (prompt "Would you like to install default \"PManager.tools\" v2.9?\n (Your edition will be saved with .bak extension)\n\n New in version 2.9:\n\n\"Touch  setdate \"%f\"\"")
		    (help "In the new \"PManager.tools\" v2.9 there is a new option \"Touch\"")
		    (default 1)
	    )

		(
		    (copyfiles
			(source ("%s/PManager.tools" @default-dest))
			(dest @default-dest)
			(newname "PManager.tools.bak")
			(optional "nofail")
		    )
		    (copyfiles
			(source "config/compiler/sc/PManager.tools")
			(dest @default-dest)
		    )
		)
	    )
	)
	(copyfiles
	    (source "config/compiler/sc/PManager.tools")
	    (dest @default-dest)
	)
	)

	(if (= (exists ("%s/PManager.config" @default-dest)) 1)
	(
	    (if
	    (askbool
		    (prompt "Would you like to install default \"PManager.config\" v2.9?\n (Your edition will be saved with .bak extension)")
		    (help "In the new \"PManager.config\" v2.9 there is a fixed \"edit\" option for SAS/C SE editor")
		    (default 1)
	    )
		(
		    (copyfiles
			(source ("%s/PManager.config" @default-dest))
			(dest @default-dest)
			(newname "PManager.config.bak")
			(optional "nofail")
		    )
		    (if (= a_editor 0)
		    (
			(run ("join config/editor/golded/PManager.config config/compiler/sc/PManager.config to %s/PManager.config"
			       @default-dest))
			(copyfiles
			    (source "config/editor/golded/scmsg")
			    (dest "ENVARC:sc/")
			)
		    )
		    )
		    (if (= a_editor 1)
		    (
			(run ("join config/editor/golded/PManager.config config/compiler/sc/PManager.config to %s/PManager.config"
			       @default-dest))
			(copyfiles
			    (source "config/editor/se/scmsg")
			    (dest "ENVARC:sc/")
			)
		    )
		    )
		    (if (= a_editor 2)
		    (
			    (run ("join config/editor/golded/PManager.config config/compiler/sc/PManager.config to %s/PManager.config"
				   @default-dest))
		    )
		    )
		)
	    )
	)
	(
	(if (= a_editor 0)
	(
	    (run ("join config/editor/golded/PManager.config config/compiler/sc/PManager.config to %s/PManager.config"
		   @default-dest))
	    (copyfiles
		(source "config/editor/golded/scmsg")
		(dest "ENVARC:sc/")
	    )
	)
	)
	(if (= a_editor 1)
	(
	    (run ("join config/editor/golded/PManager.config config/compiler/sc/PManager.config to %s/PManager.config"
		   @default-dest))
	    (copyfiles
		(source "config/editor/se/scmsg")
		(dest "ENVARC:sc/")
	    )
	)
	)
	(if (= a_editor 2)
	(
		(run ("join config/editor/golded/PManager.config config/compiler/sc/PManager.config to %s/PManager.config"
		       @default-dest))
	)
	)
	)

	)
    )
    )

    (if (= a_compiler 1)
    (
	    (if (= (exists ("%s/PManager.config" @default-dest)) 0)
	    (
		(run ("join config/editor/other/PManager.config config/compiler/other/PManager.config to %s/PManager.config"
		       @default-dest))
		(run ("ed %s/PManager.config" @default-dest))
	    )
	    )
	    (if (= (exists ("%s/PManager.tools" @default-dest)) 0)
	    (
		(copyfiles
		    (source "config/compiler/other/PManager.tools")
		    (dest @default-dest)
		)
	    )
	    )
    )
    )

    (exit)
)
