home *** CD-ROM | disk | FTP | other *** search
- ; $VER: MaxonC++ Ligh V3 Install Version 2.0 (31.10.94)
- ; Script zum Installieren von MaxonC++ Light auf Festplatte
- ;
-
- ;====================================================================
- ; Einige Initialisierungen
- ;====================================================================
-
- (complete 0)
-
- (set os-version (/ (getversion) 65536))
- (set os-13 (< os-version 36))
- (set os-20 (>= os-version 36))
- (set os-21 (>= os-version 38))
-
- ; Die Pfadnamen der einzelnen Quell-Dateien.
-
- (set source-more "MaxonC++_LIGHT1:C/More")
- (set source-lhx "MaxonC++_LIGHT3:LHX/LHX")
- (set source-rctlib "MaxonC++_LIGHT1:Libs/rct.library")
-
- ; Patternkopie mit #? (alle auf dem angegebenen Pfad)
-
- (set source-pattern-compiler "MaxonC++_LIGHT1:BIN")
- (set source-pattern-demos "MaxonC++_LIGHT3:Demos")
-
- ; LHA-Dateien
-
- (set source-lha-Includes "MaxonC++_LIGHT4:")
- (set source-lha-Libs "MaxonC++_LIGHT4:lib.lha")
- (set source-lha-Morelibs "MaxonC++_LIGHT4:morelibs.lha")
- (set source-lha-Clicomp "MaxonC++_LIGHT3:CLI-MCPP.lha")
- (set source-lha-HotHelp "MaxonC++_LIGHT3:")
-
- ;============================
- ;=== Deutsche Erklärungen ===
- ;============================
- (set #askdir-global
- (cat "Beschreibung der Schalter:\n\n"
- "Der große \"Rollbereich\" in der Mitte des Fensters zeigt den "
- "Inhalt der aktuellen Diskette oder des aktuellen Verzeichnisses. "
- "Schubladen werden durch\ndie invertierten Buchstaben \"DRW\" vor "
- "deren Namen gekennzeichnet. Der Name der Diskette oder des "
- "Verzeichnisses, das dargestellt wird, erscheint darunter in einem "
- "hervorgehobenen Kasten. Auf der rechten Seite des Inhaltsfeldes "
- "befindete sich ein Schieber, mit dem man sich durch eine "
- "Verzeichnis- liste bewegen kann, falls der sichtbare Platz nicht für "
- "alle Einträge ausreicht.\n\n"
- "Man kann das aktuelle Verzeichnis wechseln, indem auf den Namen "
- "einer Schublade geklickt wird.\n\n"
- "Mit dem Schalter \"Parent Drawer\" gelangt man wieder in das "
- "übergeordnete Verzeichnis (von dem aus eine Schublade angeklickt "
- "wurde.)\n\n"
- "Der Schalter \"Show Drives\" zeigt alle am Amiga ange- schlossenen "
- "Geräte (z.B. Disketten- oder Fest- platten-Laufwerke) an. Klicken "
- "auf einen Namen, um sich den Inhalt des betreffenden Gerätes "
- "anzusehen.\n\n"
- "Über den Schalter \"Make New Drawer\" können Sie ein neues "
- "Verzeichnis erzeugen. Diese neue Schublade\nwird in dem Verzeichnis "
- "angelegt, das Sie soeben betrachten.\nBei der Installation von MaxonC++"
- "wird automatisch ein Verzeichnis mit dem Namen \"MCPP\" angelegt\n\n"
- "Mit dem Schalter \"Proceed\" erklären Sie sich mit dem eingestellten "
- "Verzeichnis zufrieden und fahren mit der Installation fort.\n\n"
- "Ein Klick auf den Schalter \"Abort Install\" bricht die Installation "
- "an dieser Stelle ab. Es werden keine weiteren Änderungen mehr "
- "vorgenommen.\n\n"
- "\"Help...\" zeigt diesen Text."))
- (set #introduction
- (cat "Mit diesem Installationsprogramm können Sie\n\n MaxonC++ Light V3\n\n auf einer "
- "Festplatte installieren.\nDie komplette Installation läuft "
- "nahezu vollständig automatisch ab.\n"
- "Das Compilersystem belegt ca. 2,5 MByte auf Ihrer Festplatte!\n\n"
- "Drücken Sie \"Proceed\", um mit der Installation fortzufahren.\n"
- "Drücken Sie \"Abort Install\", um die Installation abzubrechen."))
- (set #askdir-help
- (cat "\nWählen Sie zuerst die Partition Ihrer Festplatte aus, auf der "
- "Sie gerne MaxonC++ installieren möchten. Dann drücken Sie "
- "auf \"PROCEED\" und das Programm beginnt mit der Arbeit.\n\n"
- #askdir-global))
-
- (set #askdir-Beispiele
- (cat "\nWählen Sie zuerst die Partition Ihrer Festplatte aus, auf der "
- "Sie gerne die HotHelp Beispiele installieren möchten. Dann drücken Sie "
- "auf \"PROCEED\" und das Programm beginnt mit der Arbeit.\n\n"
- #askdir-global))
-
- (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"
- "Wenn Sie auf den Schalter \"Proceed\" klicken, so wird Ihre "
- "\"user-startup\" automatisch um die angezeigten Zeilen ergänzt. "
- "Wollen Sie jedoch diesen Teil überspringen, so klicken Sie auf "
- "den Schalter \"Skip This Part\"\n\n"
- "\"Abort\" bricht die Installation an dieser Stelle ab."))
- (set #help-delete
- (cat "Die Datei \"Assigns\" ist nur nötig, wenn Sie keine Änderungen in der "
- "User-Startup bzw. Startup-Sequence vorgenommen haben.\n\n"
- "Wenn Sie auf den Schalter \"Proceed\" klicken, so wird die Datei "
- "\"Assigns\" gelöscht.\n\n"
- "Wollen Sie jedoch diesen Teil überspringen, so klicken Sie auf "
- "den Schalter \"Skip This Part\". Die Datei \"Assigns\" bleibt im "
- "Installationsverzeichnis erhalten.\n\n"
- "\"Abort\" bricht die Installation an dieser Stelle ab."))
- (set #startup-help
- (cat "Erklärung der Schalter:\n\n"
- "\"Install for Real\"\n"
- "Dies veranlaßt den Installer, die Installation tatsächlich vorzunehmen.\n\n"
- "\"Pretend to Install\"\n"
- "Hiermit führt der Installer alle Schritte der Installation durch. "
- "Allerdings werden keine Änderungen an irgendwelchen Dateien vorgenommen. "
- "Man kann diese Option dazu verwenden, um zu sehen, was der Installer tun "
- "wird, bevor man die eigentliche Installation veranlaßt. In Verbindung "
- "mit dem Schalter \"Log File\" darunter erhält man außerdem eine komplette "
- "Liste über alle durchgeführten Aktionen.\n\n"
- "\"Printer\"\n"
- "Hiermit wird eine Liste aller Aktionen des Installers auf dem Drucker "
- "ausgegeben.\n\n"
- "\"Log File\"\n"
- "Alle Aktionen des Installers werden in eine Protokolldatei geschrieben. Wenn "
- "die Installation beendet ist, werden Sie über den Ort dieser Datei informiert. "
- "Sie können diese Liste mit einem beliebigen Editor betrachten.\n\n"
- "\"None\"\n"
- "Ist dieser Schalter gedrückt, so wird keine Protokolldatei erzeugt.\n"))
-
- (set #wrk-create-pref-file
- "\nDie Voreinstellungs-Datei wird erzeugt...")
- (set #wrk-installing-Compiler
- "\nDas Compilersystem wird installiert...\n")
- (set #wrk-installing-CLICompiler
- "\nDas CLI-Compilersystem wird installiert...\n")
- (set #wrk-installing-Demos
- "\nDie Compiler-Demodateien werden installiert...\n")
- (set #wrk-installing-Includes
- "\nDie Includes für Kickstart 3.1 werden entpackt!\n")
- (set #wrk-installing-Libs
- "\nDie Bibliotheken für C++ und Kickstart 3.1 werden entpackt!\n")
- (set #wrk-installing-Projekte
- "\nDie Compiler-Fehlermeldungs-Projekte werden installiert\n")
- (set #wrk-installing-Referenz
- "\nDie Compiler-Referenz wird kopiert\n")
- (set #wrk-installing-Ref-Icon
- "\nDie Compiler-Referenz wird kopiert\n")
-
-
-
-
- (set #prp-copy-rct-lib
- "Kopieren der RCT-Library")
- (set #hlp-copy-rct-lib
- (cat "Die RCT-Library beinhaltet den Standard-Filerequester "
- "Wenn Sie diese Bibliothek schon auf Ihrer Festplatte "
- "installiert haben, dann ist hier eine neuere Version.\n\n"))
-
- (set #wrk-installing-header
- "\nDie Header-Dateien werden installiert...")
-
-
- (set #no-inst
- (cat "\nDer Platz in dem von Ihnen gewählten Verzeichnis reicht nicht aus, um die "
- "nötigsten MaxonC++-Dateien zu kopieren\n\n"
- "!!! Die Installation wird abgebrochen !!!"))
-
- (set #prp-insert-disk1
- (cat "\n\n\nBitte legen Sie nun die Diskette 2 \"MaxonC++_LIGHT1\" "
- "in ein beliebiges Laufwerk ein!"))
- (set #prp-insert-disk2
- (cat "\n\n\nBitte legen Sie nun die Diskette 3 \"MaxonC++_LIGHT2\" "
- "in ein beliebiges Laufwerk ein!"))
- (set #prp-insert-disk3
- (cat "\n\n\nBitte legen Sie nun die Diskette 4 \"MaxonC++_LIGHT3\" "
- "in ein beliebiges Laufwerk ein!"))
- (set #prp-insert-disk4
- (cat "\n\n\nBitte legen Sie nun die Diskette 5 \"MaxonC++_LIGHT4\" "
- "in ein beliebiges Laufwerk ein!"))
- (set #prp-somefiles
- (cat "\nEinige Installationsdateien werden kopiert ...\n"))
-
-
- (set #ERRORRAM (cat "Kann die notwendigen Dateien nicht in die Ram disk kopieren."))
-
- (set #COPYFILES (cat "\nKopiere Dateien!\n"))
- (set #COPVERZ (cat "Auf welches Partition soll MaxonC++\nkopiert werden?\n\n"))
- (set #CPPINCLDEKOMP (cat "\nDie Includes für Kickstart 3.1 werden entpackt!\n"))
- (set #CPPLIBDEKOMP (cat "\nDie Linker-Libs werden entpackt!\n"))
-
- (set @CPPSIZE 0)
- (set @DEMOSIZE 0)
- (set @CPPINCLSIZE 0)
- (set @CPPLIBSIZE 0)
-
- (set @abort-button "Abbruch")
- (set @language "Deutsch")
-
- (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
- (set @Dest_File (tackon #dest-compilerpath @Dest))
- (if ; Verzeichnis erzeugen
- (= (exists @Dest_File) 0)
- (makedir (@Dest_File))
- )
-
- ; (if (< (getdiskspace @Dest) @Size)
- ; (abort #no-inst))
-
- (set @anzeige (cat "Kopiere "@FName" aus "@SOURCE" \nnach "@Dest_File))
- (working @Working @Dest)
- (copyfiles (prompt @anzeige)(help @copyfiles-help)(source @Source)(pattern @Pattern)(infos)(dest @Dest_File)(confirm))
- )
-
- (Procedure Inst_LhaFiles
- (set @TMP (tackon "RAM:" @FName.lha))
- (set @Dest_File (tackon #dest-compilerpath @Dest))
- (if ; Verzeichnis erzeugen
- (= (exists @Dest_File) 0)
- (makedir (@Dest_File)(infos))
- )
-
- (copyfiles (prompt "")(help "")(source @Source)(choices @FName.lha)(dest "RAM:")(confirm))
- (working @Working @Dest)
- (run ("RAM:Lhx -E -N x %s \"%s/\"" @TMP @Dest_File))
- (delete @TMP)
- )
-
-
- (message #introduction)
- (welcome)
-
- (set @default-dest ;Laufwerk aussuchen
- (askdir
- (prompt #COPVERZ)
- (help #askdir-help)
- (default "DDX:")
- (disk)
- )
- )
-
- (set @default-dest
- (pathonly @default-dest)) ; Nur das Laufwerk wird benötigt
-
- (set #dest-compilerpath (tackon @default-dest "MCPP"))
-
- (if ; Compiler-Verzeichnis erzeugen
- (= (exists #dest-compilerpath) 0)
- (makedir #dest-compilerpath)
- )
-
-
- ; Diskette 1 liegt wahrscheinlich schon im Laufwerk. Dennoch Sicherheitshalber die Abfrage!
-
- (askdisk
- (prompt #prp-insert-disk1)
- (help #askdir-help)
- (dest "MaxonC++_LIGHT1")
- )
-
-
- (if
- (= (exists "C:More") 0)
- (copyfiles ; MuchMore kopieren
- (prompt #prp-somefiles)
- (help @copyfiles-help)
- (source "MaxonC++_LIGHT1:C")
- (dest "C:")
- (choices "More")
- )
- )
-
- (copylib ; RCT-LIB kopieren
- (prompt #prp-copy-rct-lib)
- (help #hlp-copy-rct-lib)
- (source source-rctlib)
- (dest "LIBS:")
- (confirm)
- )
-
- (complete 5)
-
- ( ; Das komplette Compilersystem wird kopiert
- (set @Working #wrk-installing-Compiler)
- (set @Source source-pattern-compiler)
- (set @Dest "BIN")
- (set @Pattern "#?")
- (set @Size @CPPSIZE)
- (Inst_PatternFiles)
- )
-
- (complete 20)
-
- ( ; Das Compiler-Icon
- (set @Working #wrk-installing-Compiler-Icon)
- (set @Dest #dest-compilerpath)
- (set @Source "MaxonC++_LIGHT1:")
- (set @FName "BIN.info")
- (set @Size 0)
- (Inst_NormFiles)
- )
-
- (complete 25)
-
- ; Disk 3 soll eingelegt werden! - Die Demos, der CLI-Compiler und andere Dinge
-
- (askdisk
- (prompt #prp-insert-disk3)
- (help #askdir-help)
- (dest "MaxonC++_LIGHT3")
- )
-
- (copyfiles ; LHX kopieren
- (prompt #prp-somefiles)
- (help @copyfiles-help)
- (source "MaxonC++_LIGHT3:LHX")
- (dest "RAM:")
- (choices "Lhx")
- )
-
- (if(= 0 (exists "RAM:Lhx"))
- (abort #ERRORRAM))
-
-
- ( ; Die Compiler-Demos werden Installiert
- (set @Working #wrk-installing-Demos)
- (set @Source source-pattern-demos)
- (set @Dest "Demos")
- (set @Pattern "#?")
- (set @Size @DEMOSIZE)
- (Inst_PatternFiles)
- )
-
- (complete 30)
-
- ; Nun wird das Verzeichnis ausgewählt, in dem alle HotHelp-Dateien untergebracht
- ; werden sollen. Diesem Verzeichnis wird später das HOTHELP:-Device zugeordnet.
-
- ; Falls HOTHELP: schon assigned ist (HotHelp also schon mal installiert wurde),
- ; weisen wir hier den entsprechenden Pfad an 'hothelp-dir' zu - andernfalls wird
- ; als Default "WORK:HotHelp" angenommen.
-
- (set hothelp-dir (getassign "HOTHELP"))
- (if (<> hothelp-dir "")
- (
- (set hothelp-projekte (tackon hothelp-dir "Projekte"))
-
- ( ; HotHelp-Projekt Fehlermeldungen kopieren
- (set @TMP (tackon "RAM:" "Comperrors_HH.lha"))
-
- (copyfiles (prompt "")(help "")(source source-lha-HotHelp)(choices "Comperrors_HH.lha")(dest "RAM:")(confirm))
- (working #wrk-installing-Projekte hothelp-projekte)
- (run ("RAM:Lhx -E -N x %s \"%s/\"" @TMP hothelp-projekte))
- (delete @TMP)
- )
- )
- )
-
- (complete 40)
-
- ( ; CLI-Compiler kopieren
- (set @Working #wrk-installing-CLICompiler)
- (set @Source source-lha-HotHelp)
- (set @Dest "BIN")
- (set @FName.lha ("CLI-MCPP.lha"))
- (set @Size 0)
- (Inst_LhaFiles)
- )
-
- (complete 50)
-
- ( ; Libs 3.1 kopieren
- (set @Working #wrk-installing-Libs)
- (set @Source source-lha-HotHelp)
- (set @Dest "")
- (set @FName.lha ("LIB.lha"))
- (set @Size @CPPLIBSIZE)
- (Inst_LhaFiles)
- )
-
- (complete 60)
-
-
- ; Disk 4 soll eingelegt werden! - Includes & Libs 3.1
-
- (askdisk
- (prompt #prp-insert-disk4)
- (help #askdir-help)
- (dest "MaxonC++_LIGHT4")
- )
-
- ( ; Includes 3.1 kopieren
- (set @Working #wrk-installing-Includes)
- (set @Source source-lha-Includes)
- (set @Dest "")
- (set @FName.lha ("Incl.lha"))
- (set @Size @CPPINCLSIZE)
- (Inst_LhaFiles)
- )
-
- (complete 80)
-
- ( ; Das Referenz-Handbuch
- (set @Working #wrk-installing-Referenz)
- (set @Dest #dest-compilerpath)
- (set @Source "MaxonC++_LIGHT4:")
- (set @FName "Referenz-Handbuch")
- (set @Size 0)
- (Inst_NormFiles)
- )
-
- ( ; Das Referenz-Handbuch-Icon
- (set @Working #wrk-installing-Ref-Icon)
- (set @Dest #dest-compilerpath)
- (set @Source "MaxonC++_LIGHT4:")
- (set @FName "Referenz-Handbuch.info")
- (set @Size 0)
- (Inst_NormFiles)
- )
-
- ; Nun wird die C++ Pref-Datei zusammengebastelt!
-
- (set Mcpref
- (cat "-X1,0,7,624,200,0\n"
- "-X2,0,7,366,186,0\n"
- "-X3,0,7,506,203,0\n"
- "-X4,0,0,612,193,0\n"
- "-X5,0,7,592,210,0\n"
- "-X6,0,65529,308,221,0\n"
- "-X7,0,65506,484,167,0\n"
- "-X8,0,20,640,200,0\n"
- "-X10,1 -X11,0 -X12,1 -X13,1 -X14,0 -X15,1 -X16,20 -X17,1 -X18,1\n"
- "-X20,\"prt:\" -X21,\"\" -X22,\"\" -X23,\"\"\n"
- " -pc -gb0 -gm -b0 -bs0 -a0 -as0 -go -gD -g00 -g80 -mX -t -px -wNFREVopTCaM -i \"MCPP:Include\" -h0 -w100\n"
- " -j \"MCPP:Lib\"\n"
- "-X\"Edward:Edward\"\n")
- )
- (working #wrk-create-pref-file)
- (textfile
- (dest "S:MCPP.Config")
- (append mcpref)
- )
-
- (complete 90)
-
- ; ------- STARTUP ÄNDERN
-
- (set command1 (cat "ASSIGN MCPP: " #dest-compilerpath "\nASSIGN EDWARD: MCPP:BIN" "\nPATH MCPP:BIN ADD"))
-
- (set command1.txt
- (cat
- "\n\n\nUm mit dem MaxonC++ richtig arbeiten zu "
- "können muß eine Änderung an der User-Startup vorgenommen werden.\n\n"
- command1
- )
- )
-
- (startup "MaxonC++.app"
- (prompt command1.txt)
- (help #help-startup)
- (command command1)
- )
-
- (makeassign "MCPP")
- (makeassign "EDWARD")
- (makeassign "MCPP" #dest-compilerpath)
- (makeassign "EDWARD" "MCPP:BIN")
- (run ("PATH MCPP:BIN ADD"))
-
- (complete 100)
-
- ; ------- FERTIG
-
- (message (cat
- "Installation der MaxonC++ Compilers beendet.\n"
- "Falls die Zeilen:\n" command1 "\nnicht in Ihre Startup-Sequence bzw. "
- "User-Startup eingefügt wurde, dann holen Sie dies bitte nach.\n\n"
- "Entfernen Sie nun die Diskette aus Ihrem Laufwerk und starten Sie "
- "MaxonC++.\n\nViel Erfolg!")
- )
-