; $VER: MaxonC++ 4 PRO Install Version 1.0 (7.11.96)
; Script zum Installieren von MaxonC++ 4 PRO
;
;============================
;=== Deutsche Erklärungen ===
;============================
(set #introduction
(cat "\nMit diesem Installationsprogramm können Sie\n\nMaxonC++ 4 LT\n\n auf einer "
     "Festplatte installieren.\n"
     "Die komplette Installation läuft "
     "automatisch ab. "
     "Auf Ihrer Festplatte muß mindestens 7 MB Platz frei sein!\n\n"))

(set #askdir-help
(cat "\nWählen Sie zuerst die Partition Ihrer Festplatte aus, auf der "
     "Sie gerne MaxonC++ 4 PRO installieren möchten. Sie müssen KEIN Verzeichnis "
     "anlegen, da das Installationsprogramm dies automatisch macht! "

     "\nSie können über das Symbol 'Laufwerke anz.' (bzw. 'Show drives') "
     "eine Übersicht über alle Laufwerke Ihres Amiga anfordern; aus "
     "dieser Übersicht sollten Sie nur die oberen, nicht farblich "
     "gekennzeichneten Einträge auswählen.\n"
     "Typische sinnvolle Namen sind z.B. \"WORK:\", \"HD0:\" oder \"DH0:\"; "
     "nicht verwenden sollten Sie Namen wie \"DF0:\", \"DF1:\", "
     "\"DF2:\", \"DF3:\", \"RAD:\", \"RAM:\", \"System2.0:\", "
     "\"WB_2.x:\", \"System3.0:\" oder \"WB_3.x:\"!"
     "\n\n"
     ))

(set #help-startup
(cat "Die Datei \"user-startup\" befindet sich im Verzeichnis \"S:\". "
     "In ihr befinden sich spezielle Kommandos, die einige Programme "
     "bereits beim Systemstart ausführen.\n\n"))



(set #COPVERZ  (cat "\nAuf welcher Partition soll MaxonC++ 4 PRO\nangelegt werden?"
                    "\nDas Verzeichnis \"MCPP4.0_PRO\" wird automatisch erzeugt!"
))


(set @language "Deutsch")

(set os-version (/ (getversion) 65536))
(set os-13 (< os-version 36))
(set os-20 (>= os-version 36))
(set os-21 (>= os-version 38))


(Procedure Inst_LhaFiles
   (working @Working)
   (run ("RAM:Lhx -E -N x %s \"%s/\"" (tackon @default-src @Source) @Dest))
)

(Procedure Inst_NormFiles
   (if (< (getdiskspace @Dest) @Size)
      (abort #no-inst))

   (set @anzeige (cat "Kopiere "@FName" aus "@SOURCE" \nnach "@Dest))
   (copyfiles (prompt @anzeige)(help @copyfiles-help)(source @Source)(choices @FName)(files)(infos)(dest @Dest)(confirm))
)

(Procedure Inst_PatternFiles
   (if (< (getdiskspace @Dest) @Size)
      (abort #no-inst))

   (set @anzeige (cat "Kopiere "@FName" aus "@SOURCE" \nnach "@Dest))
   (copyfiles (prompt @anzeige)(help @copyfiles-help)(source @Source)(pattern @Pattern)(infos)(dest @Dest)(confirm))
)



(message #introduction)
(welcome)
(set old_level @user-level)

(complete 0)


(set @default-dest                        ; Verzeichnis aussuchen
   (askdir
      (prompt #COPVERZ)
      (help #askdir-help)
      (default "WORK:")
   )
)

(set @default-dest (tackon @default-dest "MCPP4.0_PRO"))
(set @default-src "MCPP4_PRO-1:")



(if                                       ; Verzeichnis erzeugen
   (= (exists @default-dest) 0)
   (makedir @default-dest (infos))
)


(askdisk
   (prompt "\n\n\nBitte legen Sie die Diskette 1/3 ein!")
   (help #askdir-help)
   (dest "MCPP4_PRO-1")
)



(complete 5)


                                          ; LHX in RAM-Disk kopieren
(
   (set @Source (tackon @default-src "c"))
   (set @Dest "RAM:")
      (set @FName "LHX")
   (Inst_NormFiles)
)

(complete 10)

(
   (set @Working "Entpacke Entwicklungsumgebung")
   (set @Source "maxondev_pro.lha")
   (set @Dest @default-dest)
   (Inst_LhaFiles)
)

(complete 20)

(
   (set @Working "Entpacke Logo")
   (set @Source "logo.lha")
   (set @Dest @default-dest)
   (Inst_LhaFiles)
)

(complete 25)

(
   (set @Working "Entpacke C-Libraries")
   (set @Source "c-libs.lha")
   (set @Dest @default-dest)
   (Inst_LhaFiles)
)

(complete 30)

(askdisk
   (prompt "\n\n\nBitte legen Sie die Diskette 2/3 ein!")
   (help #askdir-help)
   (dest "MCPP4_PRO-2")
)

(set @default-src "MCPP4_PRO-2:")



(
   (set @Working "Entpacke Compiler")
   (set @Source "compiler.lha")
   (set @Dest @default-dest)
   (Inst_LhaFiles)
)

(complete 40)

(
   (set @Working "Entpacke C-Includes")
   (set @Source "c-includes.lha")
   (set @Dest @default-dest)
   (Inst_LhaFiles)
)

(complete 50)

(
   (set @Working "Entpacke Assembler-Includes")
   (set @Source "asm-includes.lha")
   (set @Dest @default-dest)
   (Inst_LhaFiles)
)

(complete 60)

(
   (set @Working "Entpacke Assembler")
   (set @Source "assembler.lha")
   (set @Dest @default-dest)
   (Inst_LhaFiles)
)


(complete 70)

(askdisk
   (prompt "\n\n\nBitte legen Sie die Diskette 3/3 ein!")
   (help #askdir-help)
   (dest "MCPP4_PRO-3")
)

(set @default-src "MCPP4_PRO-3:")


(
   (set @Working "Entpacke Demo-Programme")
   (set @Source "demos.lha")
   (set @Dest @default-dest)
   (Inst_LhaFiles)
)

(complete 85)

(
   (set @Working "Entpacke EasyObjects-Includes")
   (set @Source "easyobjects-includes.lha")
   (set @Dest @default-dest)
   (Inst_LhaFiles)
)


; Eintrag in user-startup

(set command1 (cat "Assign MDEV: " @default-dest))
(set #command1.txt
   (cat  "\nUm mit MaxonC++ 4 arbeiten zu können, wird ein logisches Gerät "
         "erzeugt. Außerdem wird eine Änderung in der \"User-Startup\" vorgenommen:\n\n"
         command1))

(startup "MaxonDEVELOP"
   (prompt #command1.txt)
   (help #help-startup)
   (command command1)
)
(makeassign "MDEV")
(makeassign "MDEV" @default-dest)





(run "C:DELETE RAM:LHX")                           ; aufräumen ...

(complete 100)

; ------- FERTIG

(exit)

;=============================================================================

