home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Exec 5 / CD_Magazyn_EXEC_nr_5.iso / Programy / Muzyczne / stonefree2.lha / Install-StoneTracker < prev    next >
Text File  |  1995-12-18  |  12KB  |  488 lines

  1. ; $VER: StoneTracker Install 1.26 (18 dec 1995) by Lavaire Michael
  2. ;
  3. ; Installation script for StoneTracker (disk version)
  4. ; (c) Copyright 1995 Emmanuel Marty & Michael Lavaire
  5. ;
  6.  
  7.  
  8. ;------------------------
  9. ;    Languages
  10. ;------------------------
  11.  
  12. (if (= @language "français")
  13. (
  14. (set #BadKick
  15.     "Système v2.04 minimum."
  16. )
  17. (set #InsListMsg
  18.     "Sélectionner les éléments que vous désirez installer."
  19. )
  20. (set #InsDevMsg
  21.     "Désirez-vous installer les documents développeur ?"
  22. )
  23. (set #StoneDir-Msg (cat
  24.     "Sélectionnez le répertoire de destination du StoneTracker. "
  25.     "Aucun autre répertoire ne sera ajouté."
  26. ))
  27. (set #StonePref-Msg (cat
  28.     "Sélectionnez le répertoire de destination du fichier de "
  29.     "configuration du StoneTracker."
  30. ))
  31. (set #StoneLocale-Msg (cat
  32.     "Sélectionnez le répertoire de destination de la localisation "
  33.     "en français du StoneTracker"
  34. ))
  35. (set #StoneLib-Msg (cat
  36.     "Sélectionnez le répertoire de destination de la library "
  37.     "StonePlayer."
  38. ))
  39. (set #StoneDocs-Msg (cat
  40.     "Sélectionnez le répertoire de destination de la documentation "
  41.     "du StoneTracker."
  42. ))
  43. (set #StoneExam-Msg (cat
  44.     "Sélectionnez le répertoire de destination des modules d'exemple "
  45.     "du StoneTracker. Aucun autre répertoire ne sera ajouté."
  46. ))
  47. (set #PlayStoneDest-Msg
  48.     "Sélectionnez le répertoire de destination de PlayStone."
  49. )
  50. (set #DeliStoneDest-Msg
  51.     "Sélectionnez le répertoire de destination de DeliStone."
  52. )
  53. (set #EagleStoneDest-Msg
  54.     "Sélectionnez le répertoire de destination d'EagleStone."
  55. )
  56. (set #Includes-Msg
  57.     "Sélectionnez le répertoire de destination des includes assembleur."
  58. )
  59. (set #DevDocs-Msg (cat
  60.     "Sélectionnez le répertoire de destination de la documentation "
  61.     "de la StonePlayer library."
  62. ))
  63. (set #BinPlayers-Msg (cat
  64.     "Sélectionnez le répertoire de destination des players binaires "
  65.     "StonePlayer."
  66. ))
  67. (set #BinTrailers-Msg (cat
  68.     "Sélectionnez le répertoire de destination des mires binaires "
  69.     "StoneTracker."
  70. ))
  71. (set #CExample-Msg (cat
  72.     "Sélectionnez le répertoire de destination des exemples "
  73.     "d'utilisation du player en 'C'."
  74. ))
  75. (set #CInclude-Msg
  76.     "Sélectionnez le répertoire de destination des includes 'C'."
  77. )
  78. (set #CLib-Msg (cat
  79.     "Sélectionnez le répertoire de destination de la "
  80.         "bibliothèque linkée pour le 'C'."
  81. ))
  82.  
  83. (set #InstDoc-Msg
  84.     "Documentation"
  85. )
  86.  
  87. (set #InstMus-Msg
  88.     "Musiques d'exemple"
  89. )
  90.  
  91. (set #InstBinPlayers-Msg
  92.     "Players binaires"
  93. )
  94.  
  95. (set #InstTrailers-Msg
  96.     "Mires"
  97. )
  98.  
  99. (set #InstCMat-Msg
  100.     "Docs 'C'"
  101. )
  102.  
  103. (set #InstCExamples-Msg
  104.     "Exemples C"
  105. )
  106. (set #InstCIncludes-Msg
  107.     "Includes C"
  108. )
  109. (set #InstCLib-Msg
  110.     "Bibliothèque C"
  111. )
  112.  
  113. (set #WorkingInstall
  114.     "Installation en cours ..."
  115. )
  116. )
  117.  
  118. (
  119. (set #BadKick
  120.     "Kickstart 2.04 required."
  121. )
  122. (set #InsListMsg
  123.     "Select elements to be installed."
  124. )
  125. (set #InsDevMsg
  126.     "Would you like to install developer material ?"
  127. )
  128. (set #StoneDir-Msg (cat
  129.     "Select StoneTracker destination directory. "
  130.     "No directory will be created."
  131. ))
  132. (set #StonePref-Msg (cat
  133.     "Select StoneTracker configuration file "
  134.     "destination directory."
  135. ))
  136. (set #StoneLocale-Msg (cat
  137.     "Select StoneTracker french locale file "
  138.     "destination directory."
  139. ))
  140. (set #StoneLib-Msg
  141.     "Select StonePlayer library destination directory."
  142. )
  143. (set #StoneDocs-Msg
  144.     "Select StoneTracker documentation destination directory."
  145. )
  146. (set #StoneExam-Msg (cat
  147.     "Select StoneTracker example modules destination directory. "
  148.     "No directory will be created."
  149. ))
  150. (set #PlayStoneDest-Msg
  151.     "Select PlayStone destination directory."
  152. )
  153. (set #DeliStoneDest-Msg
  154.     "Select DeliStone destination directory."
  155. )
  156. (set #EagleStoneDest-Msg
  157.     "Select EagleStone destination directory."
  158. )
  159. (set #Includes-Msg
  160.     "Select assembler include files destination directory."
  161. )
  162. (set #DevDocs-Msg (cat
  163.     "Select StonePlayer library documentation files "
  164.     "destination directory."
  165. ))
  166. (set #BinPlayers-Msg
  167.     "Select StonePlayer binary players destination directory."
  168. )
  169. (set #BinTrailers-Msg
  170.     "Select StoneTracker binary trailers destination directory."
  171. )
  172. (set #CExample-Msg
  173.     "Select 'C' player programming examples destination directory."
  174. )
  175. (set #CInclude-Msg
  176.     "Select 'C' includes destination directory."
  177. )
  178. (set #CLib-Msg
  179.     "Select 'C' linked library destination directory."
  180. )
  181.  
  182. (set #InstDoc-Msg
  183.     "Documentation"
  184. )
  185.  
  186. (set #InstMus-Msg
  187.     "Example musics"
  188. )
  189.  
  190. (set #InstBinPlayers-Msg
  191.     "Binary players"
  192. )
  193.  
  194. (set #InstTrailers-Msg
  195.     "Trailers"
  196. )
  197.  
  198. (set #InstCMat-Msg
  199.     "'C' material"
  200. )
  201.  
  202. (set #InstCExamples-Msg
  203.     "C Examples"
  204. )
  205.  
  206. (set #InstCIncludes-Msg
  207.     "C Includes"
  208. )
  209.  
  210. (set #InstCLib-Msg
  211.     "C Linked Library"
  212. )
  213.  
  214. (set #WorkingInstall
  215.     "Installation in progress ..."
  216. )
  217.  
  218. ))
  219.  
  220. ;--------------------
  221. ;    Intro
  222. ;--------------------
  223.  
  224. (if (< (/ (getversion) 65536) 37) (abort #BadKick))
  225.  
  226. (welcome)
  227.  
  228.  
  229.  
  230.  
  231. ;----------------------
  232. ;    Options
  233. ;----------------------
  234.  
  235. (set InstList (askoptions
  236.     (prompt #InsListMsg)
  237.     (help @askoptions-help)
  238.     (choices #InstDoc-Msg #InstMus-Msg "PlayStone" "DeliStone" "EagleStone")
  239. ))
  240.  
  241. (set InstDevs (askbool
  242.     (prompt #InsDevMsg)
  243.     (help @askchoice-help)
  244.     (default 0)
  245. ))
  246.  
  247. (If InstDevs
  248. (    (set InstDevsList (askoptions
  249.         (prompt #InsListMsg)
  250.         (help @askoptions-help)
  251.         (choices "Includes" "AutoDocs" #InstBinPlayers-Msg #InstTrailers-Msg #InstCMat-Msg)
  252.     ))
  253.     (If (in InstDevsList 4)
  254.     (    (set InstCDevsList (askoptions
  255.             (prompt #InsListMsg)
  256.             (help @askoptions-help)
  257.             (choices #InstCExamples-Msg #InstCIncludes-Msg #InstCLib-Msg)
  258.         ))
  259.     ))
  260. )
  261. (    (set InstDevsList 0)
  262.     (set InstCDevsList 0)
  263. ))
  264.  
  265.  
  266.  
  267. ;------------------------
  268. ;    Dest Dirs
  269. ;------------------------
  270.  
  271. (set DestStone (askdir
  272.     (prompt #StoneDir-Msg)
  273.     (help @askdir-help)
  274.     (default "WORK:")
  275. ))
  276. (set @default-dest DestStone)
  277.  
  278. (set DestPref (askdir
  279.     (prompt #StonePref-Msg)
  280.     (help @askdir-help)
  281.     (default "ENVARC:")
  282. ))
  283.  
  284. (set DestLocale (askdir
  285.     (prompt #StoneLocale-Msg)
  286.     (help @askdir-help)
  287.     (default "LOCALE:Catalogs/français")
  288. ))
  289.  
  290. (set DestLib (askdir
  291.     (prompt #StoneLib-Msg)
  292.     (help @askdir-help)
  293.     (default "LIBS:")
  294. ))
  295.  
  296. (if (in InstList 0)
  297.     (set DestDocs (askdir
  298.         (prompt #StoneDocs-Msg)
  299.         (help @askdir-help)
  300.         (default DestStone)
  301.     ))
  302.     (set DestDocs "")
  303. )
  304. (if (in InstList 1)
  305.     (set DestExam (askdir
  306.         (prompt #StoneExam-Msg)
  307.         (help @askdir-help)
  308.         (default DestStone)
  309.     ))
  310.     (set DestExam "ST-00:")
  311. )
  312. (if (in InstList 2)
  313.     (set DestPlayStone (askdir
  314.         (prompt #PlayStoneDest-Msg)
  315.         (help @askdir-help)
  316.         (default DestStone)
  317.     ))
  318. )
  319. (if (in InstList 3) (
  320.     (if (exists "ENV:DELICONFIG" (noreq) ) (
  321.         (set DestDeliStone (getenv "DELICONFIG"))
  322.         (set DestDeliStone (pathonly DestDeliStone))
  323.         (set DestDeliStone (tackon DestDeliStone "DeliPlayers"))
  324.         (if (NOT (exists DestDeliStone (noreq))) (set DestDeliStone "RAM:"))
  325.     ) (set DestDeliStone "WORK:")
  326.     )
  327.     (set DestDeliStone (askdir
  328.         (prompt #DeliStoneDest-Msg)
  329.         (help @askdir-help)
  330.         (default DestDeliStone)
  331.     ))
  332. ))
  333. (if (in InstList 4)
  334.     (set DestEagleStone (askdir
  335.         (prompt #EagleStoneDest-Msg)
  336.         (help @askdir-help)
  337.         (default "WORK:")
  338.     ))
  339. )
  340.  
  341. (if (in InstDevsList 0)
  342.     (set DestIncludes (askdir
  343.         (prompt #Includes-Msg)
  344.         (help @askdir-help)
  345.         (default "INCLUDE:")
  346.     ))
  347. )
  348. (if (in InstDevsList 1)
  349.     (set DestDevDocs (askdir
  350.         (prompt #DevDocs-Msg)
  351.         (help @askdir-help)
  352.         (default "AUTODOCS:")
  353.     ))
  354. )
  355. (if (in InstDevsList 2)
  356.     (set DestBinPlayers (askdir
  357.         (prompt #BinPlayers-Msg)
  358.         (help @askdir-help)
  359.         (default "INCLUDE:")
  360.     ))
  361. )
  362. (if (in InstDevsList 3)
  363.     (set DestBinTrailers (askdir
  364.         (prompt #BinTrailers-Msg)
  365.         (help @askdir-help)
  366.         (default "INCLUDE:")
  367.     ))
  368. )
  369.  
  370. (if (in InstCDevsList 0)
  371.     (set DestCExamples (askdir
  372.         (prompt #CExample-Msg)
  373.         (help @askdir-help)
  374.         (default "WORK:")
  375.     ))
  376. )
  377. (if (in InstCDevsList 1)
  378.     (set DestCIncludes (askdir
  379.         (prompt #CInclude-Msg)
  380.         (help @askdir-help)
  381.         (default "INCLUDE:")
  382.     ))
  383. )
  384. (if (in InstCDevsList 2)
  385.     (set DestCLib (askdir
  386.         (prompt #CLib-Msg)
  387.         (help @askdir-help)
  388.         (default "LIB:")
  389.     ))
  390. )
  391.  
  392.  
  393.  
  394. ;-------------------------
  395. ;    Installation
  396. ;-------------------------
  397. (working #WorkingInstall)
  398.  
  399. (copyfiles (source "StoneTracker.Disk1:StoneTracker") (dest DestStone) (infos))
  400.  
  401. (copyfiles (source "StoneTracker.Disk1:Prefs/Env-Archive/StoneTracker.Prefs") (dest "T:"))
  402. (textfile    (dest "ENV:StoneTracker.Prefs")
  403.         (include "T:StoneTracker.Prefs")
  404.         (append "AppIcon        \"")
  405.         (append (tackon DestStone "StoneTracker.Info"))
  406.         (append "\"\nModulePath    \"")
  407.         (append DestExam)
  408.         (append "\"\n")
  409.         (append "Multiview    \"RUN <>NIL: SYS:Utilities/MultiView <>CON:////MultiView/AUTO/WAIT/CLOSE ")
  410.         (append (tackon DestDocs "%s"))
  411.         (append "\"\n")
  412.         )
  413. (copyfiles (source "ENV:StoneTracker.Prefs") (dest DestPref))
  414. (delete ("T:StoneTracker.Prefs"))
  415.  
  416. (copyfiles (source "StoneTracker.Disk1:Locale/catalogs/Français/StoneTracker.Catalog") (dest DestLocale))
  417.  
  418. (copyfiles (source "StoneTracker.Disk1:Libs/StonePlayer.Library") (dest DestLib))
  419. (copyfiles (source "StoneTracker.Disk1:Libs/StonePacker.Library") (dest DestLib))
  420. (copylib (source "StoneTracker.Disk1:Libs/ReqTools.Library") (dest DestLib))
  421.  
  422. (if (in InstList 1)
  423.     (copyfiles (source "StoneTracker.Disk2:Modules") (dest DestExam) (files) (all))
  424. )
  425.  
  426. (copyfiles (source "StoneTracker.Disk2:StoneEx") (dest "T:"))
  427. (makedir "T:Stone")
  428.  
  429. (if (<> (OR (OR (in InstList 2) (in InstList 3)) (in InstList 4)) 0) (
  430.     (run "T:StoneEx >Nil: file StoneTracker.Disk2:Externals.LHS to T:Stone")
  431.     (if (in InstList 2) (
  432.         (copyfiles (source "T:Stone/PlayStone") (dest DestPlayStone))
  433.         (copyfiles (source "T:Stone/PlayStone.catalog") (dest DestLocale))
  434.     ))
  435.     (if (in InstList 3) (copyfiles (source "T:Stone/DeliStone") (dest DestDeliStone)))
  436.     (if (in InstList 4) (copyfiles (source "T:Stone/EagleStone") (dest DestEagleStone)))
  437.     (foreach ("T:Stone") ("#?") (delete (tackon "T:Stone" @each-name)))
  438. ))
  439.  
  440. (if (in InstDevsList 0) (
  441.     (run "T:StoneEx >Nil: file StoneTracker.Disk2:Includes.LHS to T:Stone")
  442.     (copyfiles (source "T:Stone") (dest DestIncludes) (files) (all))
  443.     (foreach ("T:Stone") ("#?") (delete (tackon "T:Stone" @each-name)))
  444. ))
  445.  
  446. (if (in InstDevsList 1) (
  447.     (run "T:StoneEx >Nil: file StoneTracker.Disk2:Docs.LHS to T:Stone")
  448.     (copyfiles (source "T:Stone") (dest DestDevDocs) (files) (all))
  449.     (foreach ("T:Stone") ("#?") (delete (tackon "T:Stone" @each-name)))
  450. ))
  451.  
  452. (if (in InstDevsList 2) (
  453.     (run "T:StoneEx >Nil: file StoneTracker.Disk2:Players.LHS to T:Stone")
  454.     (copyfiles (source "T:Stone") (dest DestBinPlayers) (files) (all))
  455.     (foreach ("T:Stone") ("#?") (delete (tackon "T:Stone" @each-name)))
  456. ))
  457.  
  458. (if (<> (OR (in InstCDevsList 0) (in InstCDevsList 1)) 0) (
  459.     (run "T:StoneEx >Nil: file StoneTracker.Disk2:CDev.LHS to T:Stone")
  460.     (if (in InstCDevsList 0) (copyfiles (source "T:Stone") (dest DestCExamples) (pattern "CPlay#?") (infos)))
  461.     (if (in InstCDevsList 1) (
  462.         (if (NOT (exists (tackon DestCIncludes "clib") (noreq))) (makedir (tackon DestCIncludes "clib")))
  463.         (if (NOT (exists (tackon DestCIncludes "libraries") (noreq))) (makedir (tackon DestCIncludes "libraries")))
  464.         (if (NOT (exists (tackon DestCIncludes "pragmas") (noreq))) (makedir (tackon DestCIncludes "pragmas")))
  465.         (if (NOT (exists (tackon DestCIncludes "proto") (noreq))) (makedir (tackon DestCIncludes "proto")))
  466.         (copyfiles (source "T:Stone/StonePlayer_protos.h") (dest (tackon DestCIncludes "clib")) )
  467.         (copyfiles (source "T:Stone/StonePlayer_Lib.h") (dest (tackon DestCIncludes "libraries")) (newname "StonePlayer.h"))
  468.         (copyfiles (source "T:Stone/StonePlayer_pragmas.h") (dest (tackon DestCIncludes "pragmas")) )
  469.         (copyfiles (source "T:Stone/StonePlayer_proto.h") (dest (tackon DestCIncludes "proto")) (newname "StonePlayer.h"))
  470.     ))
  471.     (if (in InstCDevsList 2) (copyfiles (source "T:Stone/StonePlayer.lib") (dest DestCLib) ))
  472.     (foreach ("T:Stone") ("#?") (delete (tackon "T:Stone" @each-name)))
  473. ))
  474.  
  475. (if (in InstList 0) (
  476.     (copyfiles (source "StoneTracker.Disk3:StoneTracker.Guide") (dest DestDocs) (infos))
  477.     (copyfiles (source "StoneTracker.Disk3:StoneTracker_E.Guide") (dest DestDocs) (infos))
  478. ))
  479.  
  480. (if (in InstDevsList 3) (
  481.     (run "T:StoneEx >Nil: file StoneTracker.Disk3:Trailers.LHS to T:Stone")
  482.     (copyfiles (source "T:Stone") (dest DestBinTrailers) (files) (all))
  483.     (foreach ("T:Stone") ("#?") (delete (tackon "T:Stone" @each-name)))
  484. ))
  485.  
  486. (delete "T:StoneEx")
  487. (delete "T:Stone")
  488.