;Install Script for FLM (c) 1995-96 Denis Unger

(if (= @language "deutsch")
; *** German Installation ***
    (
        (set default-lang 1)
        (set #lpath "deutsch")
        (set #flmdestination
            (cat "Bitte Zielverzeichnis von FLM auswählen.\n"
                 "Ein Verzeichnis FLM wird automatisch erstellt."
            )
        )
        (set #copyhothelp3prefs "Kopiere Prefs-Datei für Hothelp ...")
        (set #copyflm_catalog "Kopiere flm.catalog ...")
        (set #copyflmfiles "Kopiere FLM-Dateien ...")
        (set #copyonlinehelp "Kopiere Online-Hilfe ...")
        (set #instmodetext1 "Shareware-Version")
        (set #instmodetext2 "Update für registrierte Nutzer")
        (set #instmodeprompt "Bitte auswählen")
        (set #flmupdate_dest "Bitte FLM-Verzeichnis auswählen")
        (set #mustnotupdate "FLM muß nicht geupdatet werden.")
        (set #noflmfound "FLM befindet sich nicht\nim angegebene Verzeichnis.")
        (set #flmbenchmark "Soll der FLM-Benchmark kopiert werden ?")
        (set #copybenchmark "Kopiere FLM-Benchmark ...")
    )
)
(if (= @language "english")
; *** English Installation ***
    (
        (set default-lang 2)
        (set #lpath "english")
        (set #flmdestination
            (cat "Please choose destination directory for FLM.\n"
                 "A directory FLM will be created."
            )
        )
        (set #copyflm_catalog "Copying flm.catalog ...")
        (set #copyflmfiles "Copying FLM file ...")
        (set #copyonlinehelp "Copying Online help ...")
        (set #instmodetext1 "Shareware version")
        (set #instmodetext2 "Update for registered user")
        (set #instmodeprompt "Please select")
        (set #flmupdate_dest "Please select FLM directory")
        (set #mustnotupdate "You must not update FLM")
        (set #noflmfound "Cannot find the program FLM")
        (set #flmbenchmark "Should the FLM benchmark be copied ?")
        (set #copybenchmark "Copying FLM-Benchmark ...")
     )
)
(if (= @language "français")
; *** French Installation ***
    (
        (set default-lang 3)
        (set #lpath "français")
        (set #flmdestination
            (cat "Choisissez le répertoire destination de FLM.\n"
                 "Création du répertoire FLM..."
            )
        )
        (set #copyflm_catalog "Copie de flm.catalog ...")
        (set #copyflmfiles "Copie des fichiers FLM ...")
        (set #copyonlinehelp "Copie de l'Aide en ligne ...")
        (set #instmodetext1 "Version shareware")
        (set #instmodetext2 "MàJ pour utilisateur enregistré")
        (set #instmodeprompt "Sélectionnez svp")
        (set #flmupdate_dest "Sélectionnez svp répertoire FLM")
        (set #mustnotupdate "Il ne faut pas mettre à jour FLM")
        (set #noflmfound "Impossible trouver le programme FLM")
        (set #flmbenchmark "Should the FLM benchmark be copied ?")
        (set #copybenchmark "Copie des fichiers FLM-Benchmark ...")
    )
)
; *** all string ok

; *******************************
; *** now installation of FLM ***
; *******************************

; *** get workbench version ****
(set vernum (getversion "libs:version.library"))
(set wbver (/ vernum 65536))

(complete 0)

; *** shareware version or only update
(set instmode
    (askchoice
        (choices #instmodetext1 #instmodetext2)
        (prompt #instmodeprompt)
        (help "")
    )
)

(if (= instmode 0)
    ( ; *** Shareware-Version ***
        (set flm-path
            (askdir
                (prompt #flmdestination)
                (help "")
                (default @default-dest)
            )
         )
         (set @default-dest (tackon flm-path "FLM"))

        ; *** create FLM directory
        (makedir
            (@default-dest)
            (infos)
        )
        ; *** now a directory FLM exists ***

        (complete 10)

        ; *** copy catalogs ...
        (if (> wbver 37)
            (copylib
                (prompt #copyhothelplib_catalog)
                (help "")
                (source (cat "locale/catalogs/" #lpath))
                (dest (cat "locale:catalogs/" #lpath))
                (confirm)
            )
        )
        (complete 20)

        (copyfiles
            (prompt #copyflmfiles)
            (help "")
            (all)
            (source "FLM")
            (dest @default-dest)
        )
        (complete 40)

        (copyfiles
            (prompt #copyflmfiles)
            (help "")
            (all)
            (source (cat "otherfiles/" #lpath))
            (dest @default-dest)
        )
        (complete 60)

        ; *** Online-Help ***
        (copyfiles
            (prompt #copyonlinehelp)
            (help "")
            (all)
            (source (cat "Docs/" #lpath))
            (dest @default-dest)
        )
        (complete 80)

        (set ret
            (askbool
                (prompt #flmbenchmark)
                (help "")
            )
        )
        (if (= ret 1)
            (
            (makedir
                (cat @default-dest "/Benchmark")
                (infos)
            )
            (copyfiles
                (prompt #copybenchmark)
                (help "")
                (all)
                (source "Benchmark")
                (dest (cat @default-dest "/Benchmark"))
            )
            )
        )

        (complete 100)
    )
    ( ;****** update ******

        (set flm-path
            (askdir
                (prompt #flmupdate_dest)
                (help "")
                (default @default-dest)
            )
        )
        (set @default-dest flm-path)

        ; *** existiert FLM im angegebenen Verzeichnis ? ***
        (set test (exists (tackon @default-dest "FLM")))

        (if (= test 1)
            ( ; *** FLM - Version ermitteln
                (set test (getversion (tackon @default-dest "FLM")))
                (set flmoldver1 (/ test 65536))
                (set flmoldver2 (- test (* flmoldver1 65536)))
            )
            ( ; *** FLM wurde nicht gefunden ***
                (message #noflmfound)
                (exit)
            )
        )

        (set test (getversion "FLM/FLM"))
        (set flmnewver1 (/ test 65536))
        (set flmnewver2 (- test (* flmnewver1 65536)))

; *** DEBUG für Updateüberprüfung ... ***
;(message "FLMnewver " flmnewver1 "." flmnewver2 "FLMoldver " flmoldver1 "." flmoldver2)

        (set updateflm 0) ; *** default: FLM nicht update ***

        (if (> flmnewver2 flmoldver2)
            (
                (if (< flmnewver1 flmoldver1)
                    ; *** FLM nicht updaten ***
                    (set updateflm 0)
                    ; *** FLM updaten ***
                    (set updateflm 1)
                )
            )
            (
                (if (> flmnewver1 flmoldver1)
                    (set updateflm 1)
                )
            )
        )

        (if (= updateflm 0)
            ( ; *** Update nicht nötig, da neuere oder gleich Version
                (message #mustnotupdate)
                (exit)
            )
        )

        ; *** Online-Help ***
        (copyfiles
            (prompt #copyonlinehelp)
            (help "")
            (all)
            (source (cat "Docs/" #lpath))
            (dest @default-dest)
        )
        (complete 20)

        ; *** copy catalogs ***
        (if (> wbver 37)
            (copylib
                (prompt #copyflm_catalog)
                (help "")
                (source (cat "locale/catalogs/" #lpath))
                (dest (cat "locale:catalogs/" #lpath))
                (confirm)
            )
        )
        (complete 30)

        ; *** FLMr-Verzeichnis kopieren ***
        (copyfiles
            (prompt #copyflmfiles)
            (help "")
            (source "FLM/FLMconv")
            (dest @default-dest)
        )
        (complete 50)

        ; *** FLM kopieren ***
        (copyfiles
            (prompt #copyflmfiles)
            (help "")
            (source "FLM/FLM")
            (dest @default-dest)
        )
        (complete 70)

        ; *** FLMc kopieren ***
        (copyfiles
            (prompt #copyflmfiles)
            (help "")
            (source "FLM/FLMc")
            (dest @default-dest)
        )
        (complete 100)

    )
)

; *** script erfolgreich beendet
(exit)
