; $VER: FinalWrapper.install 3.0 (29.01.95) by NDY's

(PROCEDURE copy
  (IF (= @user-level 2)
    (IF (= (ASKBOOL (PROMPT (CAT prefix file infix destdr postfix)) (HELP @askbool-help) (DEFAULT 1) (CHOICES (CAT no yes))) 1)
      (
        (IF (NOT (EXISTS destdr)) (MAKEDIR destdr))
        (COPYFILES (SOURCE file) (DEST destdr))
      )
    )
    (
      (IF (NOT (EXISTS destdr)) (MAKEDIR destdr))
      (COPYFILES (SOURCE file) (DEST destdr))
    )
  )
)
(PROCEDURE setenv
  (
    (SET destdr "ENVARC:FinalWrapper")
    (IF (NOT (EXISTS destdr)) (MAKEDIR destdr))
    (SET envarcloc "ENVARC:Locale")
    (IF (EXISTS envarcloc (NOREQ)) (DELETE envarcloc))
    (SET fwdef "ENVARC:FinalWrapper.def")
    (IF (EXISTS fwdef (NOREQ)) (DELETE fwdef))
    (TEXTFILE (DEST "ENVARC:FinalWrapper/FWPath") (APPEND (SUBSTR destname 0 (- (STRLEN destname) (STRLEN (FILEONLY destname))))))
    (RUN (CAT "SetLanguage " @language))
  )
)

(IF (= @language "deutsch")
  (
    (SET defdest "FinalWriter_D/FWMacros")
    (SET hi "\nWilkommen zum Installer-Skript\nvon FinalWrapper 3.0!\n\n(c) 1995 by\n\nAndreas Weiss\nDorfstrasse 24\nCH-8212 Nohl\n(Schweiz)\n\nDas Programm ist SHAREWARE!\n(siehe Anleitung)")
    (SET kick "Sorry, FinalWrapper benötigt mindestens OS2.0!")
    (SET macro "Wählen Sie Ihr Final Writer Makroverzeichnis:")
    (SET macrohelp "FinalWrapper wird in dieses Verzeichnis\ninstalliert, die Anleitung nach HELP:deutsch,\ndie benötigten Libraries nach LIBS:\nund ein kleines Hilfsprogramm nach ENVARC:")
    (SET nosuchdir "Verzeichnis nicht gefunden:")
    (SET alreadynewer "Diese oder eine neuere Version ist bereits installiert:\n\n")
    (SET manual "FinalWrapperSmallD.Guide")
    (SET dosetenv "Umgebungsvariable 'Language' setzen?\nWird für deutsche\nBenutzerführung benötigt.")
    (SET yes "Ja")
    (SET no "Nein")
    (SET prefix "")
    (SET infix " nach ")
    (SET postfix " kopieren?")
    (SET done "FinalWrapper 3.0 wurde\nerfolgreich installiert!")
  )
  (
    (SET defdest "FinalWriter/FWMacros")
    (SET hi "\nWelcome to the Installer script\nof  FinalWrapper 3.0!\n\n(c) 1995 by\n\nAndreas Weiss\nDorfstrasse 24\nCH-8212 Nohl\n(Switzerland)\n\nThe program is SHAREWARE!\n(see manual)")
    (SET kick "Sorry, FinalWrapper needs at least OS2.0!")
    (SET macro "Choose your Final Writer macro directory:")
    (SET macrohelp "FinalWrapper will be installed to this\ndirectory, the manual to HELP:english,\nthe needed libraries to LIBS:\nand a small help program to ENVARC:")
    (SET nosuchdir "Directory not found:")
    (SET alreadynewer "This or a newer version is already installed:\n\n")
    (SET manual "FinalWrapperSmall.Guide")
    (SET dosetenv "Set environnement variable 'Language'?\nIs needed for all languages\nexept English.")
    (SET yes "Yes")
    (SET no "No")
    (SET prefix "Copy ")
    (SET infix " to ")
    (SET postfix " ?")
    (SET done "FinalWrapper 3.0 has been\nsuccessfully installed!")
  )
)
(IF (< (SHIFTRIGHT (GETVERSION) 16) 37) (EXIT kick))
(MESSAGE hi)
(IF (= @user-level 0) (SET @default-dest (TACKON @default-dest defdest)))
(SET destdr (ASKDIR (PROMPT macro) (DEFAULT @default-dest) (HELP macrohelp)))
(IF (NOT (EXISTS destdr (NOREQ))) (EXIT nosuchdir destdr))
(SET file "FinalWrapper.rexx")
(SET destname (TACKON destdr file))
(IF (EXISTS destname (NOREQ))
  (
    (SET env "FWInstall.temp")
    (RUN (CAT "Version >ENV:" env " \"" file "\""e))
    (SET sourcever (GETENV env))
    (RUN (CAT "Version >ENV:" env " \"" destname "\""))
    (SET destver (GETENV env))
    (DELETE (TACKON "ENV:" env))
    (IF (>= destver sourcever) (EXIT alreadynewer destver))
  )
)

(copy)
(FOREACH "FW_Macros" "FW_#?.rexx"
  (
    (SET file (TACKON "FW_Macros" @each-name))
    (copy)
  )
)
(SET file manual)
(SET destdr (TACKON "HELP:" @language))
(IF (NOT (EXISTS destdr (NOREQ))) (SET destdr "ENVARC:FinalWrapper"))
(copy)
(SET destdr "LIBS:")
(FOREACH "libs" "#?.library"
  (
    (SET file (TACKON "libs" @each-name))
    (copy)
  )
)
(IF (= @user-level 2)
  (IF (= (ASKBOOL (PROMPT dosetenv) (HELP @askbool-help) (DEFAULT 1) (CHOICES (CAT no yes))) 1)
    (setenv)
  )
  (setenv)
)
(EXIT done)
