Annotation of gforth/iss.sh, revision 1.28

1.4       pazsan      1: #!/bin/bash
                      2: 
1.25      pazsan      3: #Copyright (C) 2000,2003,2006,2007,2009,2011 Free Software Foundation, Inc.
1.4       pazsan      4: 
                      5: #This file is part of Gforth.
                      6: 
                      7: #Gforth is free software; you can redistribute it and/or
                      8: #modify it under the terms of the GNU General Public License
1.16      anton       9: #as published by the Free Software Foundation, either version 3
1.4       pazsan     10: #of the License, or (at your option) any later version.
                     11: 
                     12: #This program is distributed in the hope that it will be useful,
                     13: #but WITHOUT ANY WARRANTY; without even the implied warranty of
                     14: #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.#See the
                     15: #GNU General Public License for more details.
                     16: 
                     17: #You should have received a copy of the GNU General Public License
1.16      anton      18: #along with this program; if not, see http://www.gnu.org/licenses/.
1.4       pazsan     19: 
                     20: # This is the horror shell script to create an automatic install for
                     21: # Windoze.
                     22: # Note that I use sed to create a setup file
                     23: 
1.9       pazsan     24: # use iss.sh >gforth.iss
                     25: # copy the resulting *.iss to the location of your Windows installation
1.4       pazsan     26: # of Gforth, and start the setup compiler there.
                     27: 
1.18      pazsan     28: VERSION=$(cat version)
                     29: 
1.23      pazsan     30: sed "s/@PACKAGE_VERSION@/$VERSION/g" <gforthmi.sh.in >gforthmi.sh
                     31: 
                     32: for i in lib/gforth/$VERSION/libcc-named/*.la
                     33: do
                     34:     sed "s/dependency_libs='.*'/dependency_libs=''/g" <$i >$i+
                     35:     mv $i+ $i
                     36: done
                     37: 
1.4       pazsan     38: cat <<EOT
1.15      pazsan     39: ; This is the setup script for Gforth on Windows
1.4       pazsan     40: ; Setup program is Inno Setup
                     41: 
                     42: [Setup]
                     43: AppName=Gforth
1.18      pazsan     44: AppVerName=Gforth $VERSION
1.25      pazsan     45: AppCopyright=Copyright © 1995,1996,1997,1998,2000,2003,2006,2007,2008,2009,2010,2011 Free Software Foundation
1.8       pazsan     46: DefaultDirName={pf}\gforth
1.4       pazsan     47: DefaultGroupName=Gforth
                     48: AllowNoIcons=1
1.8       pazsan     49: InfoBeforeFile=COPYING
1.22      pazsan     50: Compression=lzma
1.8       pazsan     51: DisableStartupPrompt=yes
1.18      pazsan     52: OutputBaseFilename=gforth-$VERSION
1.8       pazsan     53: 
                     54: [Messages]
                     55: WizardInfoBefore=License Agreement
                     56: InfoBeforeLabel=Gforth is free software.
                     57: InfoBeforeClickLabel=You don't have to accept the GPL to run the program. You only have to accept this license if you want to modify, copy, or distribute this program.
                     58: 
                     59: [Components]
                     60: Name: "help"; Description: "HTML Documentation"; Types: full
                     61: Name: "info"; Description: "GNU info Documentation"; Types: full
                     62: Name: "print"; Description: "Postscript Documentation for printout"; Types: full
                     63: Name: "objects"; Description: "Compiler generated intermediate stuff"; Types: full
1.4       pazsan     64: 
                     65: [Dirs]
1.8       pazsan     66: $(make distfiles -f Makedist | tr ' ' '\n' | grep -v CVS | (while read i; do
1.4       pazsan     67:   while [ ! -z "$i" ]
                     68:   do
                     69:     if [ -d $i ]; then echo $i; fi
                     70:     if [ "${i%/*}" != "$i" ]; then i="${i%/*}"; else i=""; fi
                     71:   done
                     72: done) | sort -u | sed \
                     73:   -e 's:/:\\:g' \
1.8       pazsan     74:   -e 's,^\(..*\)$,Name: "{app}\\\1",g')
                     75: Name: "{app}\doc\gforth"
                     76: Name: "{app}\doc\vmgen"
1.18      pazsan     77: Name: "{app}\lib\gforth\\$VERSION\libcc-named"
1.22      pazsan     78: Name: "{app}\include\gforth\\$VERSION"
1.4       pazsan     79: 
                     80: [Files]
                     81: ; Parameter quick reference:
                     82: ;   "Source filename", "Dest. filename", Copy mode, Flags
1.8       pazsan     83: Source: "README.txt"; DestDir: "{app}"; Flags: isreadme
1.25      pazsan     84: Source: "c:\cygwin\bin\sh.exe"; DestDir: "{app}"
1.23      pazsan     85: Source: "c:\cygwin\bin\cygwin1.dll"; DestDir: "{app}"
1.25      pazsan     86: Source: "c:\cygwin\bin\cyggcc_s-1.dll"; DestDir: "{app}"
1.23      pazsan     87: Source: "c:\cygwin\bin\cygintl-8.dll"; DestDir: "{app}"
                     88: Source: "c:\cygwin\bin\cygiconv-2.dll"; DestDir: "{app}"
1.25      pazsan     89: Source: "c:\cygwin\bin\cygltdl-7.dll"; DestDir: "{app}"
                     90: Source: "c:\cygwin\bin\cygreadline7.dll"; DestDir: "{app}"
                     91: Source: "c:\cygwin\bin\cygncursesw-10.dll"; DestDir: "{app}"
                     92: Source: "c:\cygwin\bin\cygffi-4.dll"; DestDir: "{app}"
1.22      pazsan     93: Source: "gforthmi.sh"; DestDir: "{app}"
1.8       pazsan     94: $(ls doc/gforth | sed -e 's:/:\\:g' -e 's,^\(..*\)$,Source: "doc\\gforth\\\1"; DestDir: "{app}\\doc\\gforth"; Components: help,g')
                     95: $(ls doc/vmgen | sed -e 's:/:\\:g' -e 's,^\(..*\)$,Source: "doc\\vmgen\\\1"; DestDir: "{app}\\doc\\vmgen"; Components: help,g')
1.18      pazsan     96: $(ls lib/gforth/$VERSION/libcc-named | sed -e 's:/:\\:g' -e 's,^\(..*\)$,Source: "lib\\gforth\\'$VERSION'\\libcc-named\\\1"; DestDir: "{app}\\lib\\gforth\\'$VERSION'\\libcc-named",g')
1.26      pazsan     97: $(ls lib/gforth/$VERSION/libcc-named/.libs | sed -e 's:/:\\:g' -e 's,^\(..*\)$,Source: "lib\\gforth\\'$VERSION'\\libcc-named\\.libs\\\1"; DestDir: "{app}\\lib\\gforth\\'$VERSION'\\libcc-named\\.libs",g')
1.22      pazsan     98: $(ls include/gforth/$VERSION | sed -e 's:/:\\:g' -e 's,^\(..*\)$,Source: "engine\\\1"; DestDir: "{app}\\include\\gforth\\'$VERSION'",g')
1.8       pazsan     99: $(make distfiles -f Makedist EXE=.exe | tr ' ' '\n' | grep -v engine.*exe | (while read i; do
1.4       pazsan    100:   if [ ! -d $i ]; then echo $i; fi
                    101: done) | sed \
                    102:   -e 's:/:\\:g' \
1.8       pazsan    103:   -e 's,^\(..*\)\\\([^\\]*\)$,Source: "\1\\\2"; DestDir: "{app}\\\1",g' \
                    104:   -e 's,^\([^\\]*\)$,Source: "\1"; DestDir: "{app}",g' \
                    105:   -e 's,^\(.*\.[oib]".*\),\1; Components: objects,g' \
1.9       pazsan    106:   -e 's,^\(.*\.p\)s\(".*\),\1df\2; Components: print,g' \
1.8       pazsan    107:   -e 's,^\(.*\.info.*".*\),\1; Components: info,g')
1.4       pazsan    108: 
                    109: [Icons]
                    110: ; Parameter quick reference:
                    111: ;   "Icon title", "File name", "Parameters", "Working dir (can leave blank)",
                    112: ;   "Custom icon filename (leave blank to use the default icon)", Icon index
1.8       pazsan    113: Name: "{group}\Gforth"; Filename: "{app}\gforth.exe"; WorkingDir: "{app}"
                    114: Name: "{group}\Gforth-fast"; Filename: "{app}\gforth-fast.exe"; WorkingDir: "{app}"
                    115: Name: "{group}\Gforth-dict"; Filename: "{app}\gforth-dict.exe"; WorkingDir: "{app}"
                    116: Name: "{group}\Gforth-itc"; Filename: "{app}\gforth-itc.exe"; WorkingDir: "{app}"
                    117: Name: "{group}\Gforth-prof"; Filename: "{app}\gforth-prof.exe"; WorkingDir: "{app}"
                    118: Name: "{group}\Gforth Manual"; Filename: "{app}\doc\gforth\index.html"; WorkingDir: "{app}"; Components: help
1.12      pazsan    119: Name: "{group}\Gforth Manual (PDF)"; Filename: "{app}\doc\gforth.pdf"; WorkingDir: "{app}"; Components: help
1.8       pazsan    120: Name: "{group}\VMgen Manual"; Filename: "{app}\doc\vmgen\index.html"; WorkingDir: "{app}"; Components: help
1.12      pazsan    121: Name: "{group}\Bash"; Filename: "{app}\sh.exe"; WorkingDir: "{app}"
1.8       pazsan    122: Name: "{group}\Uninstall Gforth"; Filename: "{uninstallexe}"
1.4       pazsan    123: 
1.13      pazsan    124: [Run]
1.22      pazsan    125: Filename: "{app}\gforth.exe"; WorkingDir: "{app}"; Parameters: "fixpath.fs gforth-fast.exe"
                    126: Filename: "{app}\gforth.exe"; WorkingDir: "{app}"; Parameters: "fixpath.fs gforth-ditc.exe"
                    127: Filename: "{app}\gforth.exe"; WorkingDir: "{app}"; Parameters: "fixpath.fs gforth-itc.exe"
                    128: Filename: "{app}\gforth.exe"; WorkingDir: "{app}"; Parameters: "fixpath.fs gforth-prof.exe"
                    129: Filename: "{app}\gforth-fast.exe"; WorkingDir: "{app}"; Parameters: "fixpath.fs gforth.exe"
                    130: Filename: "{app}\sh.exe"; WorkingDir: "{app}"; Parameters: "./gforthmi.sh"
1.4       pazsan    131: 
1.23      pazsan    132: [UninstallDelete]
                    133: Type: files; Name: "{app}\gforth.fi"
                    134: Type: files; Name: "{app}\temp-image.fi1"
                    135: Type: files; Name: "{app}\temp-image.fi2"
                    136: 
1.27      pazsan    137: [Registry]
                    138: Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: expandsz; ValueName: "Path"; ValueData: "{olddata};{app}"
1.28    ! pazsan    139: Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: expandsz; ValueName: "GFORTHPATH"; ValueData: ".;{app}"
1.27      pazsan    140: 
1.5       pazsan    141: ;[Registry]
                    142: ;registry commented out
1.8       pazsan    143: ; WorkingDir: "{app}"; Parameter quick reference:
1.4       pazsan    144: ;   "Root key", "Subkey", "Value name", Data type, "Data", Flags
1.8       pazsan    145: ;HKCR, ".fs"; STRING, "forthstream",
1.5       pazsan    146: ;HKCR, ".fs", "Content Type", STRING, "application/forth",
1.8       pazsan    147: ;HKCR, ".fb"; STRING, "forthblock",
1.5       pazsan    148: ;HKCR, ".fb", "Content Type", STRING, "application/forth-block",
1.8       pazsan    149: ;HKCR, "forthstream"; STRING, "Forth Source",
1.5       pazsan    150: ;HKCR, "forthstream", "EditFlags", DWORD, "00000000",
1.8       pazsan    151: ;HKCR, "forthstream\DefaultIcon"; STRING, "{sys}\System32\shell32.dll,61"
                    152: ;HKCR, "forthstream\Shell"; STRING, ""
                    153: ;HKCR, "forthstream\Shell\Open\command"; STRING, "{app}\gforth.exe %1"
                    154: ;HKCR, "forthblock"; STRING, "Forth Block",
1.5       pazsan    155: ;HKCR, "forthblock", "EditFlags", DWORD, "00000000",
1.8       pazsan    156: ;HKCR, "forthblock\DefaultIcon"; STRING, "{sys}\System32\shell32.dll,61"
1.4       pazsan    157: EOT
1.19      pazsan    158: 
1.20      pazsan    159: sed -e 's/$/\r/' <README >README.txt

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>