home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / C / MAXON_C1.DMS / in.adf / INSTALL-MaxonC++-HD < prev    next >
Encoding:
Text File  |  1994-11-01  |  15.2 KB  |  484 lines

  1. ; $VER: MaxonC++ Ligh V3 Install Version 2.0 (31.10.94)
  2. ; Script zum Installieren von MaxonC++ Light auf Festplatte
  3.  
  4. ;====================================================================
  5. ; Einige Initialisierungen
  6. ;====================================================================
  7.  
  8. (complete 0)
  9.  
  10. (set os-version (/ (getversion) 65536))
  11. (set os-13 (< os-version 36))
  12. (set os-20 (>= os-version 36))
  13. (set os-21 (>= os-version 38))
  14.  
  15. ; Die Pfadnamen der einzelnen Quell-Dateien.
  16.  
  17. (set source-more                          "MaxonC++_LIGHT1:C/More")
  18. (set source-lhx                                    "MaxonC++_LIGHT3:LHX/LHX")
  19. (set source-rctlib                            "MaxonC++_LIGHT1:Libs/rct.library")
  20.  
  21. ; Patternkopie mit #? (alle auf dem angegebenen Pfad)
  22.  
  23. (set source-pattern-compiler        "MaxonC++_LIGHT1:BIN")
  24. (set source-pattern-demos                "MaxonC++_LIGHT3:Demos")
  25.  
  26. ; LHA-Dateien
  27.  
  28. (set source-lha-Includes            "MaxonC++_LIGHT4:")
  29. (set source-lha-Libs                    "MaxonC++_LIGHT4:lib.lha")
  30. (set source-lha-Morelibs            "MaxonC++_LIGHT4:morelibs.lha")
  31. (set source-lha-Clicomp                "MaxonC++_LIGHT3:CLI-MCPP.lha")
  32. (set source-lha-HotHelp                "MaxonC++_LIGHT3:")
  33.  
  34. ;============================
  35. ;=== Deutsche Erklärungen ===
  36. ;============================
  37. (set #askdir-global
  38. (cat "Beschreibung der Schalter:\n\n"
  39.       "Der große \"Rollbereich\" in der Mitte des Fensters zeigt den "
  40.      "Inhalt der aktuellen Diskette oder des aktuellen Verzeichnisses. "
  41.      "Schubladen werden durch\ndie invertierten Buchstaben \"DRW\" vor "
  42.      "deren Namen gekennzeichnet. Der Name der Diskette oder des "
  43.      "Verzeichnisses, das dargestellt wird, erscheint darunter in einem "
  44.      "hervorgehobenen Kasten. Auf der rechten Seite des Inhaltsfeldes "
  45.      "befindete sich ein Schieber, mit dem man sich durch eine "
  46.      "Verzeichnis- liste bewegen kann, falls der sichtbare Platz nicht für "
  47.      "alle Einträge ausreicht.\n\n"
  48.      "Man kann das aktuelle Verzeichnis wechseln, indem auf den Namen "
  49.      "einer Schublade geklickt wird.\n\n"
  50.      "Mit dem Schalter \"Parent Drawer\" gelangt man wieder in das "
  51.      "übergeordnete Verzeichnis (von dem aus eine Schublade angeklickt "
  52.      "wurde.)\n\n"
  53.      "Der Schalter \"Show Drives\" zeigt alle am Amiga ange- schlossenen "
  54.      "Geräte (z.B. Disketten- oder Fest- platten-Laufwerke) an. Klicken "
  55.      "auf einen Namen, um sich den Inhalt des betreffenden Gerätes "
  56.      "anzusehen.\n\n"
  57.      "Über den Schalter \"Make New Drawer\" können Sie ein neues "
  58.      "Verzeichnis erzeugen. Diese neue Schublade\nwird in dem Verzeichnis "
  59.      "angelegt, das Sie soeben betrachten.\nBei der Installation von MaxonC++"
  60.          "wird automatisch ein Verzeichnis mit dem Namen \"MCPP\" angelegt\n\n"
  61.      "Mit dem Schalter \"Proceed\" erklären Sie sich mit dem eingestellten "
  62.      "Verzeichnis zufrieden und fahren mit der Installation fort.\n\n"
  63.      "Ein Klick auf den Schalter \"Abort Install\" bricht die Installation "
  64.      "an dieser Stelle ab. Es werden keine weiteren Änderungen mehr "
  65.      "vorgenommen.\n\n"
  66.      "\"Help...\" zeigt diesen Text."))
  67. (set #introduction
  68. (cat "Mit diesem Installationsprogramm können Sie\n\n MaxonC++ Light V3\n\n auf einer "
  69.      "Festplatte installieren.\nDie komplette Installation läuft "
  70.      "nahezu vollständig automatisch ab.\n"
  71.      "Das Compilersystem belegt ca. 2,5 MByte auf Ihrer Festplatte!\n\n"
  72.      "Drücken Sie \"Proceed\", um mit der Installation fortzufahren.\n"
  73.      "Drücken Sie \"Abort Install\", um die Installation abzubrechen."))
  74. (set #askdir-help
  75. (cat "\nWählen Sie zuerst die Partition Ihrer Festplatte aus, auf der "
  76.      "Sie gerne MaxonC++ installieren möchten. Dann drücken Sie "
  77.      "auf \"PROCEED\" und das Programm beginnt mit der Arbeit.\n\n"
  78.         #askdir-global))
  79.  
  80. (set #askdir-Beispiele
  81. (cat "\nWählen Sie zuerst die Partition Ihrer Festplatte aus, auf der "
  82.      "Sie gerne die HotHelp Beispiele installieren möchten. Dann drücken Sie "
  83.      "auf \"PROCEED\" und das Programm beginnt mit der Arbeit.\n\n"
  84.         #askdir-global))
  85.  
  86. (set #help-startup
  87. (cat "Die Datei \"user-startup\" befindet sich im Verzeichnis \"S:\". "
  88.      "In ihr befinden sich spezielle Kommandos, die einige Programme "
  89.      "bereits beim Systemstart ausführen.\n\n"
  90.      "Wenn Sie auf den Schalter \"Proceed\" klicken, so wird Ihre "
  91.      "\"user-startup\" automatisch um die angezeigten Zeilen ergänzt. "
  92.      "Wollen Sie jedoch diesen Teil überspringen, so klicken Sie auf "
  93.      "den Schalter \"Skip This Part\"\n\n"
  94.      "\"Abort\" bricht die Installation an dieser Stelle ab."))
  95. (set #help-delete
  96. (cat "Die Datei \"Assigns\" ist nur nötig, wenn Sie keine Änderungen in der "
  97.      "User-Startup bzw. Startup-Sequence vorgenommen haben.\n\n"
  98.      "Wenn Sie auf den Schalter \"Proceed\" klicken, so wird die Datei "
  99.      "\"Assigns\" gelöscht.\n\n"
  100.      "Wollen Sie jedoch diesen Teil überspringen, so klicken Sie auf "
  101.      "den Schalter \"Skip This Part\". Die Datei \"Assigns\" bleibt im "
  102.      "Installationsverzeichnis erhalten.\n\n"
  103.      "\"Abort\" bricht die Installation an dieser Stelle ab."))
  104. (set #startup-help
  105. (cat "Erklärung der Schalter:\n\n"
  106.      "\"Install for Real\"\n"
  107.      "Dies veranlaßt den Installer, die Installation tatsächlich vorzunehmen.\n\n"
  108.      "\"Pretend to Install\"\n"
  109.      "Hiermit führt der Installer alle Schritte der Installation durch. "
  110.      "Allerdings werden keine Änderungen an irgendwelchen Dateien vorgenommen. "
  111.      "Man kann diese Option dazu verwenden, um zu sehen, was der Installer tun "
  112.      "wird, bevor man die eigentliche Installation veranlaßt. In Verbindung "
  113.      "mit dem Schalter \"Log File\" darunter erhält man außerdem eine komplette "
  114.      "Liste über alle durchgeführten Aktionen.\n\n"
  115.      "\"Printer\"\n"
  116.      "Hiermit wird eine Liste aller Aktionen des Installers auf dem Drucker "
  117.      "ausgegeben.\n\n"
  118.      "\"Log File\"\n"
  119.      "Alle Aktionen des Installers werden in eine Protokolldatei geschrieben. Wenn "
  120.      "die Installation beendet ist, werden Sie über den Ort dieser Datei informiert. "
  121.      "Sie können diese Liste mit einem beliebigen Editor betrachten.\n\n"
  122.      "\"None\"\n"
  123.      "Ist dieser Schalter gedrückt, so wird keine Protokolldatei erzeugt.\n"))
  124.  
  125.     (set #wrk-create-pref-file
  126.         "\nDie Voreinstellungs-Datei wird erzeugt...")
  127.     (set #wrk-installing-Compiler
  128.         "\nDas Compilersystem wird installiert...\n")
  129.     (set #wrk-installing-CLICompiler
  130.         "\nDas CLI-Compilersystem wird installiert...\n")
  131.     (set #wrk-installing-Demos
  132.         "\nDie Compiler-Demodateien werden installiert...\n")
  133.     (set #wrk-installing-Includes
  134.         "\nDie Includes für Kickstart 3.1 werden entpackt!\n")
  135.     (set #wrk-installing-Libs
  136.         "\nDie Bibliotheken für C++ und Kickstart 3.1 werden entpackt!\n")
  137.     (set #wrk-installing-Projekte
  138.         "\nDie Compiler-Fehlermeldungs-Projekte werden installiert\n")
  139.     (set #wrk-installing-Referenz
  140.         "\nDie Compiler-Referenz wird kopiert\n")
  141.     (set #wrk-installing-Ref-Icon
  142.         "\nDie Compiler-Referenz wird kopiert\n")
  143.  
  144.  
  145.  
  146.  
  147.     (set #prp-copy-rct-lib
  148.         "Kopieren der RCT-Library")
  149.     (set #hlp-copy-rct-lib
  150.       (cat    "Die RCT-Library beinhaltet den Standard-Filerequester "
  151.         "Wenn Sie diese Bibliothek schon auf Ihrer Festplatte "
  152.         "installiert haben, dann ist hier eine neuere Version.\n\n"))
  153.  
  154.     (set #wrk-installing-header
  155.         "\nDie Header-Dateien werden installiert...")
  156.  
  157.  
  158. (set #no-inst
  159. (cat "\nDer Platz in dem von Ihnen gewählten Verzeichnis reicht nicht aus, um die "
  160.      "nötigsten MaxonC++-Dateien zu kopieren\n\n"
  161.      "!!! Die Installation wird abgebrochen !!!"))
  162.  
  163. (set #prp-insert-disk1
  164.         (cat "\n\n\nBitte legen Sie nun die Diskette 2 \"MaxonC++_LIGHT1\" "
  165.                  "in ein beliebiges Laufwerk ein!"))
  166. (set #prp-insert-disk2
  167.         (cat "\n\n\nBitte legen Sie nun die Diskette 3 \"MaxonC++_LIGHT2\" "
  168.                  "in ein beliebiges Laufwerk ein!"))
  169. (set #prp-insert-disk3
  170.         (cat "\n\n\nBitte legen Sie nun die Diskette 4 \"MaxonC++_LIGHT3\" "
  171.                  "in ein beliebiges Laufwerk ein!"))
  172. (set #prp-insert-disk4
  173.         (cat "\n\n\nBitte legen Sie nun die Diskette 5 \"MaxonC++_LIGHT4\" "
  174.                  "in ein beliebiges Laufwerk ein!"))
  175. (set #prp-somefiles
  176.         (cat "\nEinige Installationsdateien werden kopiert ...\n"))
  177.  
  178.  
  179. (set #ERRORRAM (cat "Kann die notwendigen Dateien nicht in die Ram disk kopieren."))
  180.  
  181. (set #COPYFILES (cat "\nKopiere Dateien!\n"))
  182. (set #COPVERZ    (cat "Auf welches Partition soll MaxonC++\nkopiert werden?\n\n"))
  183. (set #CPPINCLDEKOMP    (cat "\nDie Includes für Kickstart 3.1 werden entpackt!\n"))
  184. (set #CPPLIBDEKOMP    (cat "\nDie Linker-Libs werden entpackt!\n"))
  185.  
  186. (set @CPPSIZE    0)
  187. (set @DEMOSIZE    0)
  188. (set @CPPINCLSIZE 0)
  189. (set @CPPLIBSIZE 0)
  190.  
  191. (set @abort-button "Abbruch")
  192. (set @language "Deutsch")
  193.  
  194. (Procedure Inst_NormFiles
  195. ;    (if (< (getdiskspace @Dest) @Size)
  196. ;        (abort #no-inst))
  197.  
  198.     (set @anzeige (cat "Kopiere "@FName" aus "@SOURCE" \nnach "@Dest))
  199.     (copyfiles (prompt @anzeige)(help @copyfiles-help)(source @Source)(choices @FName)(files)(infos)(dest @Dest)(confirm))
  200. )
  201.  
  202. (Procedure Inst_PatternFiles
  203.     (set @Dest_File (tackon #dest-compilerpath @Dest))
  204.     (if                                          ; Verzeichnis erzeugen
  205.         (= (exists @Dest_File) 0)
  206.         (makedir (@Dest_File))
  207.     )
  208.  
  209. ;    (if (< (getdiskspace @Dest) @Size)
  210. ;        (abort #no-inst))
  211.  
  212.     (set @anzeige (cat "Kopiere "@FName" aus "@SOURCE" \nnach "@Dest_File))
  213.     (working @Working @Dest)
  214.     (copyfiles (prompt @anzeige)(help @copyfiles-help)(source @Source)(pattern @Pattern)(infos)(dest @Dest_File)(confirm))
  215. )
  216.  
  217. (Procedure Inst_LhaFiles
  218.     (set @TMP (tackon "RAM:" @FName.lha))
  219.     (set @Dest_File (tackon #dest-compilerpath @Dest))
  220.     (if                                          ; Verzeichnis erzeugen
  221.         (= (exists @Dest_File) 0)
  222.         (makedir (@Dest_File)(infos))
  223.     )
  224.  
  225.     (copyfiles (prompt "")(help "")(source @Source)(choices @FName.lha)(dest "RAM:")(confirm))
  226.     (working @Working @Dest)
  227.     (run ("RAM:Lhx -E -N x %s \"%s/\"" @TMP @Dest_File))
  228.     (delete @TMP)
  229. )
  230.  
  231.  
  232. (message #introduction)
  233. (welcome)
  234.  
  235. (set @default-dest                           ;Laufwerk aussuchen 
  236.     (askdir
  237.         (prompt #COPVERZ)
  238.         (help    #askdir-help)
  239.         (default "DDX:")
  240.         (disk)
  241.     )
  242. )
  243.  
  244. (set @default-dest
  245.     (pathonly @default-dest))                            ; Nur das Laufwerk wird benötigt
  246.  
  247. (set #dest-compilerpath (tackon @default-dest "MCPP"))
  248.  
  249. (if                                          ; Compiler-Verzeichnis erzeugen
  250.     (= (exists #dest-compilerpath) 0)
  251.     (makedir #dest-compilerpath)
  252. )
  253.  
  254.  
  255. ; Diskette 1 liegt wahrscheinlich schon im Laufwerk. Dennoch Sicherheitshalber die Abfrage!
  256.  
  257. (askdisk
  258.     (prompt #prp-insert-disk1)
  259.     (help #askdir-help)
  260.     (dest "MaxonC++_LIGHT1")
  261. )
  262.  
  263.  
  264. (if
  265.   (= (exists "C:More") 0)
  266.         (copyfiles                                        ; MuchMore kopieren
  267.         (prompt #prp-somefiles)
  268.         (help @copyfiles-help)
  269.         (source "MaxonC++_LIGHT1:C")
  270.         (dest "C:")
  271.        (choices "More")
  272.     )
  273. )
  274.  
  275. (copylib                                              ; RCT-LIB kopieren
  276.         (prompt #prp-copy-rct-lib)
  277.         (help #hlp-copy-rct-lib)
  278.         (source source-rctlib)
  279.         (dest "LIBS:")
  280.         (confirm)
  281. )
  282.  
  283. (complete 5)
  284.  
  285. (                                                                ; Das komplette Compilersystem wird kopiert
  286.     (set @Working #wrk-installing-Compiler)
  287.     (set @Source source-pattern-compiler)
  288.     (set @Dest "BIN")
  289.   (set @Pattern "#?")
  290.     (set @Size @CPPSIZE)
  291.     (Inst_PatternFiles)
  292. )
  293.  
  294. (complete 20)
  295.  
  296. (                                                                ; Das Compiler-Icon
  297.     (set @Working #wrk-installing-Compiler-Icon)
  298.     (set @Dest #dest-compilerpath)
  299.     (set @Source "MaxonC++_LIGHT1:")
  300.     (set @FName  "BIN.info")
  301.     (set @Size 0)
  302.     (Inst_NormFiles)
  303. )
  304.  
  305. (complete 25)
  306.  
  307. ; Disk 3 soll eingelegt werden! - Die Demos, der CLI-Compiler und andere Dinge
  308.  
  309. (askdisk
  310.     (prompt #prp-insert-disk3)
  311.     (help #askdir-help)
  312.     (dest "MaxonC++_LIGHT3")
  313. )
  314.  
  315. (copyfiles                                            ; LHX kopieren
  316.     (prompt #prp-somefiles)
  317.     (help @copyfiles-help)
  318.     (source "MaxonC++_LIGHT3:LHX")
  319.     (dest "RAM:")
  320.   (choices "Lhx")
  321. )
  322.  
  323. (if(= 0 (exists "RAM:Lhx"))
  324.     (abort #ERRORRAM))
  325.  
  326.  
  327. (                                                                ; Die Compiler-Demos werden Installiert
  328.     (set @Working #wrk-installing-Demos)
  329.     (set @Source source-pattern-demos)
  330.     (set @Dest "Demos")
  331.   (set @Pattern "#?")
  332.     (set @Size @DEMOSIZE)
  333.     (Inst_PatternFiles)
  334. )
  335.  
  336. (complete 30)
  337.  
  338. ; Nun wird das Verzeichnis ausgewählt, in dem alle HotHelp-Dateien untergebracht
  339. ; werden sollen. Diesem Verzeichnis wird später das HOTHELP:-Device zugeordnet.
  340.  
  341. ; Falls HOTHELP: schon assigned ist (HotHelp also schon mal installiert wurde),
  342. ; weisen wir hier den entsprechenden Pfad an 'hothelp-dir' zu - andernfalls wird
  343. ; als Default "WORK:HotHelp" angenommen.
  344.  
  345. (set hothelp-dir (getassign "HOTHELP"))
  346. (if (<> hothelp-dir "")
  347.     (
  348.         (set hothelp-projekte (tackon hothelp-dir "Projekte"))
  349.         
  350.         (                    ; HotHelp-Projekt Fehlermeldungen kopieren
  351.             (set @TMP (tackon "RAM:" "Comperrors_HH.lha"))
  352.         
  353.             (copyfiles (prompt "")(help "")(source source-lha-HotHelp)(choices "Comperrors_HH.lha")(dest "RAM:")(confirm))
  354.             (working #wrk-installing-Projekte hothelp-projekte)
  355.             (run ("RAM:Lhx -E -N x %s \"%s/\"" @TMP hothelp-projekte))
  356.             (delete @TMP)
  357.         )
  358.     )
  359. )
  360.  
  361. (complete 40)
  362.  
  363. (                                                            ; CLI-Compiler kopieren
  364.     (set @Working #wrk-installing-CLICompiler)
  365.     (set @Source source-lha-HotHelp)
  366.     (set @Dest "BIN")
  367.     (set @FName.lha ("CLI-MCPP.lha"))
  368.     (set @Size 0)
  369.     (Inst_LhaFiles)
  370. )
  371.  
  372. (complete 50)
  373.  
  374. (                                                            ; Libs 3.1 kopieren
  375.     (set @Working #wrk-installing-Libs)
  376.     (set @Source source-lha-HotHelp)
  377.     (set @Dest "")
  378.     (set @FName.lha ("LIB.lha"))
  379.     (set @Size @CPPLIBSIZE)
  380.     (Inst_LhaFiles)
  381. )
  382.  
  383. (complete 60)
  384.  
  385.  
  386. ; Disk 4 soll eingelegt werden! - Includes & Libs 3.1
  387.  
  388. (askdisk
  389.     (prompt #prp-insert-disk4)
  390.     (help #askdir-help)
  391.     (dest "MaxonC++_LIGHT4")
  392. )
  393.  
  394. (                                                                ; Includes 3.1 kopieren
  395.     (set @Working #wrk-installing-Includes)
  396.     (set @Source source-lha-Includes)
  397.     (set @Dest "")
  398.     (set @FName.lha ("Incl.lha"))
  399.     (set @Size @CPPINCLSIZE)
  400.     (Inst_LhaFiles)
  401. )
  402.  
  403. (complete 80)
  404.  
  405. (                                                                ; Das Referenz-Handbuch
  406.     (set @Working #wrk-installing-Referenz)
  407.     (set @Dest #dest-compilerpath)
  408.     (set @Source "MaxonC++_LIGHT4:")
  409.     (set @FName  "Referenz-Handbuch")
  410.     (set @Size 0)
  411.     (Inst_NormFiles)
  412. )
  413.  
  414. (                                                                ; Das Referenz-Handbuch-Icon
  415.     (set @Working #wrk-installing-Ref-Icon)
  416.     (set @Dest #dest-compilerpath)
  417.     (set @Source "MaxonC++_LIGHT4:")
  418.     (set @FName  "Referenz-Handbuch.info")
  419.     (set @Size 0)
  420.     (Inst_NormFiles)
  421. )
  422.  
  423. ; Nun wird die C++ Pref-Datei zusammengebastelt!
  424.  
  425. (set Mcpref
  426.     (cat    "-X1,0,7,624,200,0\n"
  427.                 "-X2,0,7,366,186,0\n"
  428.                 "-X3,0,7,506,203,0\n"
  429.                 "-X4,0,0,612,193,0\n"
  430.                 "-X5,0,7,592,210,0\n"
  431.                 "-X6,0,65529,308,221,0\n"
  432.                 "-X7,0,65506,484,167,0\n"
  433.                 "-X8,0,20,640,200,0\n"
  434.                 "-X10,1 -X11,0 -X12,1 -X13,1 -X14,0 -X15,1 -X16,20 -X17,1 -X18,1\n"
  435.                 "-X20,\"prt:\" -X21,\"\" -X22,\"\" -X23,\"\"\n"
  436.                 " -pc -gb0 -gm -b0 -bs0 -a0 -as0 -go -gD -g00 -g80 -mX -t -px -wNFREVopTCaM -i \"MCPP:Include\" -h0 -w100\n"
  437.                 " -j \"MCPP:Lib\"\n"
  438.                 "-X\"Edward:Edward\"\n")
  439. )
  440. (working #wrk-create-pref-file)
  441. (textfile
  442.     (dest "S:MCPP.Config")
  443.     (append mcpref)
  444. )
  445.  
  446. (complete 90)
  447.  
  448. ; ------- STARTUP ÄNDERN
  449.  
  450. (set command1 (cat  "ASSIGN MCPP: " #dest-compilerpath "\nASSIGN EDWARD: MCPP:BIN" "\nPATH MCPP:BIN ADD"))
  451.  
  452. (set command1.txt
  453.     (cat 
  454.          "\n\n\nUm mit dem MaxonC++ richtig arbeiten zu "
  455.       "können muß eine Änderung an der User-Startup vorgenommen werden.\n\n"
  456.          command1
  457.     )
  458. )
  459.  
  460. (startup "MaxonC++.app"
  461.     (prompt command1.txt)
  462.     (help #help-startup)
  463.     (command command1)
  464. )
  465.  
  466. (makeassign "MCPP")
  467. (makeassign "EDWARD")
  468. (makeassign "MCPP" #dest-compilerpath)
  469. (makeassign "EDWARD" "MCPP:BIN")
  470. (run ("PATH MCPP:BIN ADD"))
  471.  
  472. (complete 100)
  473.  
  474. ; ------- FERTIG
  475.  
  476. (message (cat 
  477.    "Installation der MaxonC++ Compilers beendet.\n"
  478.    "Falls die Zeilen:\n" command1 "\nnicht in Ihre Startup-Sequence bzw. "
  479.    "User-Startup eingefügt wurde, dann holen Sie dies bitte nach.\n\n"
  480.    "Entfernen Sie nun die Diskette aus Ihrem Laufwerk und starten Sie "
  481.    "MaxonC++.\n\nViel Erfolg!")
  482. )
  483.