home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / Archives / ARexxTools / InfraRexx1_3.lha / InfraRexx / Install < prev    next >
Encoding:
Text File  |  1994-08-19  |  15.9 KB  |  743 lines

  1. (message
  2.   "\nWelcome to the\nInfraRexx Installer Utility\n\n"
  3.   "This program will install\n"
  4.   "InfraRexx release 1.3.\n"
  5.   "\n"
  6.   "Please read the AmigaGuide for\n"
  7.   "more information about InfraRexx.\n"
  8.   "\n"
  9.   "InfraRexx and InfraJoy are\n"
  10.   "© 1994 by Leon Woestenberg\n"
  11.   "and Jeroen Steenblik.\n"
  12. )
  13. (welcome)
  14.  
  15. ;
  16. ; check AmigaOS version
  17. ;
  18. (transcript "Checking AmigaOS version...")
  19. (if
  20.   (<
  21.     (/
  22.       (getversion)
  23.       65536
  24.     )
  25.     37
  26.   )
  27.   (
  28.     (transcript "Aborting because AmigaOS Release 2.04 (or higher) is not available.")
  29.     (abort "\nInfraRexx requires at least AmigaOS Release 2.04 to run.\n\n"
  30.            "Press the Proceed button to abort the installation procedure.")
  31.  
  32.   )
  33.   (transcript "AmigaOS version 2.04 (or higher) found. Proceeding.")
  34. )
  35. (complete 0)
  36.  
  37. ;
  38. ; Ask for the version of the used hardware
  39. ;
  40. (set hardware-choice
  41.   (askchoice
  42.     (prompt "What hardware is used?\n(Use 'Help' if you are unsure)")
  43.     (help "Determining the hardware version:\n"
  44.           "    InfraRexx requires a small hardware extension in order to "
  45.           "operate. Due to the availability of several hardware versions "
  46.           "the software has to be configured to use the correct version.\n"
  47.           "\n"
  48.           "    If you have ordered the hardware directly from the authors, you "
  49.           "can read the version number from the print circuit board. If there's "
  50.           "no version indication, you have a InfraJoy v1 design.\n"
  51.           "\n"
  52.           "    If you built (or later patched) the hardware yourself, check the "
  53.           "building (or patch) documentation to determine the version number.\n"
  54.           "\n"
  55.           "    If you have no hardware yet, you can either order it from the authors "
  56.           "or build it yourself. See the documentation for more information on this. "
  57.           "If you choose to install the software now, please select the latest version number.\n"
  58.           "\n"
  59.           @askchoice-help
  60.     )
  61.     (choices
  62.       "InfraJoy v1"
  63.       "InfraJoy v2"
  64.       "InfraJoy v3"
  65.     )
  66.     (default 2)
  67.   )
  68. )
  69.  
  70. ;
  71. ; Ask where to install the InfraRexx drawer
  72. ;
  73. (set infrarexx-dest
  74.   (tackon
  75.     (askdir
  76.       (prompt "Where should the InfraRexx drawer be installed?")
  77.       (help @askdir-help)
  78.       (default @default-dest)
  79.     )
  80.     "InfraRexx"
  81.   )
  82. )
  83. (set @default-dest infrarexx-dest)
  84. (complete 10)
  85.  
  86. (copyfiles
  87.   (source "InfraRexxEditor")
  88.   (dest infrarexx-dest)
  89.   (infos)
  90. )
  91. (complete 20)
  92.  
  93. (copyfiles
  94.   (source "InfraRexxDaemon")
  95.   (dest infrarexx-dest)
  96.   (infos)
  97. )
  98. (complete 30)
  99.  
  100. ;
  101. ; Set the hardware version tooltypes
  102. ;
  103. (tooltype
  104.   (dest
  105.     (tackon
  106.       infrarexx-dest
  107.       "InfraRexxEditor"
  108.     )
  109.   )
  110.   (settooltype
  111.     "HARDWARE"
  112.     (select
  113.       hardware-choice
  114.       "1"
  115.       "2"
  116.       "3"
  117.     )
  118.   )
  119. )
  120. (tooltype
  121.   (dest
  122.     (tackon
  123.       infrarexx-dest
  124.       "InfraRexxDaemon"
  125.     )
  126.   )
  127.   (settooltype
  128.     "HARDWARE"
  129.     (select
  130.       hardware-choice
  131.       "1"
  132.       "2"
  133.       "3"
  134.     )
  135.   )
  136. )
  137. (complete 35)
  138. ;
  139. ; Check for locale.library
  140. ;
  141. (if
  142.   (>=
  143.     (/
  144.       (getversion "LIBS:locale.library")
  145.       65536
  146.     )
  147.     38
  148.   )
  149.   (
  150.     ;
  151.     ; Guess catalogs to be installed
  152.     ;
  153.     (set catalog-options
  154.       (+
  155.         (if (exists "LOCALE:Catalogs/Nederlands") 1)
  156.         ;(if (exists "LOCALE:Catalogs/Italiano") 2)
  157.         ;(if (exists "LOCALE:Catalogs/Dansk") 4)
  158.         0
  159.       )
  160.     )
  161.     ;
  162.     ; Ask for catalogs to be installed
  163.     ;
  164.     (set catalog-options
  165.       (askoptions
  166.         (prompt "Which language catalogs do you want to install?\n"
  167.         (choices
  168.           "Nederlands"
  169.          ;"Italiano"
  170.         )
  171.         (default catalog-options)
  172.         (help
  173.           "Language catalogs:\n"
  174.           "    Starting from Workbench 2.1, Amiga programs can present "
  175.           "themselves in different languages, as long as so-called "
  176.           "catalogs for that language are present. Currently, only the "
  177.           "dutch language is supported, apart from the built-in english "
  178.           "texts.\n"
  179.           "\n"
  180.           @askoptions-help)
  181.         )
  182.       )
  183.     )
  184.     ;
  185.     ; Install the selected catalogs
  186.     ;
  187.     (set current 0)
  188.     (while
  189.       (< current 2) ;latest number indicates #languages
  190.       (
  191.         (if
  192.           (IN catalog-options current)
  193.           (
  194.             (copyfiles
  195.               (prompt "Copying the selected catalogs...\n")
  196.               (source
  197.                 (tackon
  198.                   "Catalogs"
  199.                   (select current
  200.                     "Nederlands"
  201.                    ;"Italiano"
  202.                   )
  203.                 )
  204.               )
  205.               (pattern
  206.                 "#?.catalog"
  207.               )
  208.               (dest
  209.                 (tackon
  210.                   "LOCALE:Catalogs"
  211.                   (select current
  212.                     "Nederlands"
  213.                    ;"Italiano"
  214.                   )
  215.                 )
  216.               )
  217.               (help @copyfiles-help)
  218.             )
  219.           )
  220.         )
  221.         (set current (+ current 1))
  222.       )
  223.     )
  224.   )
  225. )
  226. (complete 40)
  227. ;
  228. ; Rename previous codeset directory if present
  229. ;
  230. (if
  231.   (=
  232.     (exists
  233.       (tackon
  234.          infrarexx-dest
  235.          "Codesets"
  236.       )
  237.       (noreq)
  238.     )
  239.     2
  240.   )
  241.   (
  242.     (transcript "Codesets directory found.")
  243.     (rename
  244.       (tackon
  245.         infrarexx-dest
  246.         "Codesets"
  247.       )
  248.       (tackon
  249.         infrarexx-dest
  250.         "Your_Pre_1.3_Codesets"
  251.       )
  252.       (prompt
  253.         "Renaming your old codesets directory to prevent "
  254.         "overwriting your edited codeset files.\n")
  255.       (help
  256.         "Renaming Codesets directory:\n"
  257.         "    The Install Utility tried to install the codeset "
  258.         "directory, but such a directory was already present. "
  259.         "You are now asked to rename the existing directory, so "
  260.         "that the contained files will not be overwritten. "
  261.         "Select either 'Proceed' to rename the existing directory to "
  262.         "'Your_Pre_1.3_Codesets' or 'Skip' to resume without renaming."
  263.       )
  264.       (confirm)
  265.     )
  266.   )
  267. )
  268. (complete 45)
  269. ;
  270. ; Ask for codeset to be used
  271. ;
  272. (set usedcodeset-options
  273.   (select
  274.     (set usedcodeset-choice
  275.       (askchoice
  276.         (prompt "Please select the command codeset that you want to use initially:\n")
  277.         (choices
  278.          ;"Akai"
  279.          ;"Canon"
  280.          ;"Goldstar"
  281.          ;"Hitachi"
  282.          ;"JVC"
  283.          ;"Kenwood"
  284.          ;"NEC"
  285.          ;"Onkyo"
  286.           "Panasonic"
  287.           "Philips"
  288.           "Pioneer"
  289.          ;"Sharp"
  290.           "Sony"
  291.          ;"Teac"
  292.           "Technics"
  293.          ;"Yamaha"
  294.         )
  295.         (default 0)
  296.         (help "Initial codeset selection:\n"
  297.               "    You are asked for a command codeset that will be used if "
  298.               "you start the InfraRexx Daemon immediately after installation. "
  299.               "Of course you can later change this using the argument/tooltype "
  300.               "FROM.\n"
  301.               "\n"
  302.               @askchoice-help
  303.         )
  304.       )
  305.     )
  306.    ;(shiftleft 1 0)  ;Akai
  307.    ;(shiftleft 1 1)  ;Canon
  308.    ;(shiftleft 1 2)  ;Goldstar
  309.    ;(shiftleft 1 3)  ;Hitachi
  310.    ;(shiftleft 1 4)  ;JVC
  311.    ;(shiftleft 1 5)  ;Kenwood
  312.    ;(shiftleft 1 6)  ;NEC
  313.    ;(shiftleft 1 7)  ;Onkyo
  314.     (shiftleft 1 8)  ;Panasonic
  315.     (shiftleft 1 9)  ;Philips
  316.     (shiftleft 1 10) ;Pioneer
  317.    ;(shiftleft 1 11) ;Sharp
  318.     (shiftleft 1 12) ;Sony
  319.    ;(shiftleft 1 13) ;Teac
  320.     (shiftleft 1 14) ;Technics
  321.    ;(shiftleft 1 15) ;Yamaha
  322.   )
  323. )
  324. ;
  325. ; Set FROM tooltype to used codeset
  326. ;
  327. (tooltype
  328.   (dest
  329.     (tackon
  330.       infrarexx-dest
  331.       "InfraRexxDaemon"
  332.     )
  333.   )
  334.   (settooltype
  335.     "FROM"
  336.     (tackon
  337.       infrarexx-dest
  338.       (tackon
  339.         "Codesets"
  340.         (select
  341.           usedcodeset-choice
  342.          ;"Akai"
  343.          ;"Canon"
  344.          ;"Goldstar"
  345.          ;"Hitachi"
  346.          ;"JVC"
  347.          ;"Kenwood"
  348.          ;"NEC"
  349.          ;"Onkyo"
  350.           "Panasonic"
  351.           "Philips"
  352.           "Pioneer"
  353.          ;"Sharp"
  354.           "Sony"
  355.          ;"Teac"
  356.           "Technics"
  357.          ;"Yamaha"
  358.         )
  359.       )
  360.     )
  361.   )
  362. )
  363. (complete 50)
  364. ;
  365. ; Ask for additional codesets to be installed
  366. ;
  367. (set additionalcodeset-options
  368.   (askoptions
  369.     (prompt "Please select additional command codesets that you want to install: (Empty codesets are marked with ¹)\n"
  370.     (choices
  371.        "Akai¹"
  372.        "Canon¹"
  373.        "Goldstar¹"
  374.        "Hitachi¹"
  375.        "JVC¹"
  376.        "Kenwood¹"
  377.        "NEC¹"
  378.        "Onkyo¹"
  379.        "Panasonic"
  380.        "Philips"
  381.        "Pioneer"
  382.        "Sharp¹"
  383.        "Sony"
  384.        "Teac¹"
  385.        "Technics"
  386.        "Yamaha¹"
  387.     )
  388.     (default usedcodeset-options)
  389.     (help
  390.       "Additional codesets selection:\n"
  391.       "    Here you may choose codesets that will be installed into the "
  392.       "codesets directory, either empty codesets that you use as a base "
  393.       "project for learning new codes, or suplemental codesets for "
  394.       "other electronic brands than that of the initial codeset.\n"
  395.       "\n"
  396.       @askoptions-help)
  397.     )
  398.   )
  399. )
  400. ;
  401. ; Merge the used and additonal codesets together
  402. ;
  403. (set codesets-options
  404.   (BITOR
  405.     usedcodeset-options
  406.     additionalcodeset-options
  407.   )
  408. )
  409. ;
  410. ; Install the selected codesets
  411. ;
  412. (set current 0)
  413. (while
  414.   (< current 16) ;latest number indicates #codesets
  415.   (
  416.     (if
  417.       (IN codesets-options current)
  418.       (
  419.         (copyfiles
  420.           (prompt "Copying the selected codesets...\n")
  421.           (source
  422.             (tackon
  423.               "Codesets"
  424.               (select
  425.                 current
  426.                 "Akai"
  427.                 "Canon"
  428.                 "Goldstar"
  429.                 "Hitachi"
  430.                 "JVC"
  431.                 "Kenwood"
  432.                 "NEC"
  433.                 "Onkyo"
  434.                 "Panasonic"
  435.                 "Philips"
  436.                 "Pioneer"
  437.                 "Sharp"
  438.                 "Sony"
  439.                 "Teac"
  440.                 "Technics"
  441.                 "Yamaha"
  442.               )
  443.             )
  444.           )
  445.           (dest
  446.             (tackon infrarexx-dest "Codesets")
  447.           )
  448.           (help @copyfiles-help)
  449.         )
  450.       )
  451.     )
  452.     (set current (+ current 1))
  453.   )
  454. )
  455. (complete 60)
  456. ;
  457. ; Guess documentation to be installed
  458. ;
  459. (set documentation-options
  460.   (if
  461.     (=
  462.       hardware-choice
  463.       2
  464.     )
  465.     3
  466.     31)
  467. )
  468. ;
  469. ; Ask for documentation to be installed
  470. ;
  471. (set documentation-options
  472.   (askoptions
  473.     (prompt "What documentation do you want to install?\n"
  474.     (choices "InfraRexx User Guide"
  475.              "Hardware (Info/Build/Patch) Guide"
  476.              "Hardware Schematic (IFF format)"
  477.              "Hardware PCB Layout (IFF format)"
  478.              "Hardware PCB Layout (Postscript format)"
  479.     )
  480.     (default documentation-options)
  481.     (help "Documentation description:\n"
  482.           "    The Infrarexx guide describes every aspect of this package, "
  483.           "except the hardware construction. It is therefore advisable to "
  484.           "install this guide, unless you suffer from storage capacity "
  485.           "shortage.\n"
  486.           "\n"
  487.           "    The hardware can be ordered from the authors (see the "
  488.           "InfraRexx User Guide), but you can also build it yourself. "
  489.           "For this purpose, we supplied a hardware manual to guide you "
  490.           "through the building process in a comfortable way. For users "
  491.           "that already have the hardware, there are patch instructions "
  492.           "to upgrade it.\n"
  493.           "\n"
  494.           "    Choose the hardware schematic and/or print circuit board "
  495.           "layouts as a source for your hardware. Both are available in "
  496.           "IFF format, common to the Amiga, and the layout is available "
  497.           "in PostScript too, common to high quality laserprinters.\n"
  498.           "\n"
  499.           @askoptions-help)
  500.     )
  501.   )
  502. )
  503. (complete 65)
  504. ;
  505. ; Determine if MultiView exists on this system
  506. ;
  507. (set multiview-exists
  508.   (exists
  509.     "SYS:Utilities/MultiView"
  510.     (noreq)
  511.   )
  512. )
  513. ;
  514. ; Install InfraRexx User Guide if selected
  515. ;
  516. (if
  517.   (IN documentation-options 0)
  518.   (
  519.     (copyfiles
  520.       (prompt "Installing the InfraRexx User Guide...")
  521.       (source "InfraRexx.guide")
  522.       (dest
  523.         (set userguide-dest
  524.           (askdir
  525.             (prompt "Select a place for the InfraRexx User Guide.")
  526.             (default infrarexx-dest)
  527.             (help @askdir-help)
  528.           )
  529.         )
  530.       )
  531.       (infos)
  532.       (help @copyfiles-help)
  533.     )
  534.     (copyfiles
  535.       (prompt "Installing the InfraRexx Order Form...")
  536.       (source "OrderForm")
  537.       (dest userguide-dest)
  538.       (help @copyfiles-help)
  539.     )
  540.     (if
  541.       multiview-exists
  542.       (tooltype
  543.         (dest
  544.           (tackon userguide-dest "InfraRexx.guide")
  545.         )
  546.         (setdefaulttool "MultiView")
  547.       )
  548.     )
  549.   )
  550. )
  551. (complete 75)
  552. ;
  553. ; Install InfraRexx Hardware Guide if selected
  554. ;
  555. (if
  556.   (IN documentation-options 1)
  557.   (
  558.     (copyfiles
  559.       (prompt "Installing the Hardware Building Guide...")
  560.       (source "Hardware/Hardware.guide")
  561.       (dest
  562.         (tackon
  563.           infrarexx-dest
  564.           "Hardware"
  565.         )
  566.       )
  567.       (infos)
  568.       (help @copyfiles-help)
  569.     )
  570.     (if
  571.       multiview-exists
  572.       (tooltype
  573.         (dest
  574.           (tackon userguide-dest "Hardware.guide")
  575.         )
  576.         (setdefaulttool "MultiView")
  577.       )
  578.     )
  579.   )
  580. )
  581. (complete 80)
  582. ;
  583. ; Install InfraRexx Hardware Schematic if selected
  584. ;
  585. (if
  586.   (IN documentation-options 2)
  587.   (
  588.     (copyfiles
  589.       (prompt "Installing the Hardware Schematic...")
  590.       (source "Hardware/Schematic.iff")
  591.       (dest
  592.         (tackon
  593.           infrarexx-dest
  594.           "Hardware"
  595.         )
  596.       )
  597.       (infos)
  598.       (help @copyfiles-help)
  599.     )
  600.     (if
  601.       multiview-exists
  602.       (tooltype
  603.         (dest
  604.           (tackon infrarexx-dest "Hardware/Schematic.iff")
  605.         )
  606.         (setdefaulttool "MultiView")
  607.       )
  608.     )
  609.   )
  610. )
  611. (complete 85)
  612. ;
  613. ; Install InfraRexx Hardware Layouts (IFF) if selected
  614. ;
  615. (if
  616.   (IN documentation-options 3)
  617.   (
  618.     (copyfiles
  619.       (prompt "Installing the Hardware Layouts (IFF)...")
  620.       (source "Hardware")
  621.       (dest
  622.         (tackon
  623.           infrarexx-dest
  624.           "Hardware"
  625.         )
  626.       )
  627.       (choices
  628.         "BothSides.iff"
  629.         "ComponentSide.iff"
  630.         "SolderSide.iff"
  631.       )
  632.       (infos)
  633.       (help @copyfiles-help)
  634.     )
  635.     (if
  636.       multiview-exists
  637.       (
  638.         (tooltype
  639.           (dest
  640.             (tackon infrarexx-dest "Hardware/BothSides.iff")
  641.           )
  642.           (setdefaulttool "MultiView")
  643.         )
  644.         (tooltype
  645.           (dest
  646.             (tackon infrarexx-dest "Hardware/ComponentSide.iff")
  647.           )
  648.           (setdefaulttool "MultiView")
  649.         )
  650.         (tooltype
  651.           (dest
  652.             (tackon infrarexx-dest "Hardware/SolderSide.iff")
  653.           )
  654.           (setdefaulttool "MultiView")
  655.         )
  656.       )
  657.     )
  658.   )
  659. )
  660. (complete 90)
  661. ;
  662. ; Install InfraRexx Hardware Layouts (PostScript) if selected
  663. ;
  664. (if
  665.   (IN documentation-options 4)
  666.   (
  667.     (copyfiles
  668.       (prompt "Installing the Hardware Layouts (PostScript)...")
  669.       (source "Hardware")
  670.       (dest
  671.         (tackon
  672.           infrarexx-dest
  673.           "Hardware"
  674.         )
  675.       )
  676.       (choices
  677.         "ComponentSide.ps"
  678.         "SolderSide.ps"
  679.       )
  680.       (infos)
  681.       (help @copyfiles-help)
  682.     )
  683.   )
  684. )
  685. (complete 95)
  686. ;
  687. ; Ask for examples to be installed
  688. ;
  689. (set examples-options
  690.   (askoptions
  691.     (prompt "Please select any examples you want to install:"
  692.     (choices "Scala Example"
  693.              "Toolmanager Example"
  694.     )
  695.     (default 3)
  696.     (help @askoptions-help)
  697.     )
  698.   )
  699. )
  700. ;
  701. ; Install the selected examples
  702. ;
  703. (set current 0)
  704. (while
  705.   (< current 2) ;latest number indicates #examples
  706.   (
  707.     (if
  708.       (IN examples-options current)
  709.       (
  710.         (copyfiles
  711.           (prompt "Copying the selected examples...\n")
  712.           (source
  713.             "Examples"
  714.           )
  715.           (pattern
  716.             (select
  717.                current
  718.                "ScalaExample#?"
  719.                "ToolManagerExample#?"
  720.             )
  721.           )
  722.           (dest
  723.             (tackon infrarexx-dest "Examples")
  724.           )
  725.           (infos)
  726.           (help @copyfiles-help)
  727.         )
  728.       )
  729.     )
  730.     (set current (+ current 1))
  731.   )
  732. )
  733. (complete 100)
  734.  
  735. (exit "You have just installed release 1.3 of InfraRexx.\n"
  736.       "\n"
  737.       "That wasn't that hard, was it?! :-)\n"
  738.       "\n"
  739.       "InfraRexx and InfraJoy are\n"
  740.       "© 1994 by Leon Woestenberg\n"
  741.       "and Jeroen Steenblik.\n"
  742. )
  743.