1: #!/bin/bash
2:
3: #Copyright (C) 2000,2003,2006,2007 Free Software Foundation, Inc.
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
9: #as published by the Free Software Foundation, either version 3
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
18: #along with this program; if not, see http://www.gnu.org/licenses/.
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:
24: # use iss.sh >gforth.iss
25: # copy the resulting *.iss to the location of your Windows installation
26: # of Gforth, and start the setup compiler there.
27:
28: cat <<EOT
29: ; This is the setup script for Gforth on Windows
30: ; Setup program is Inno Setup
31:
32: [Setup]
33: AppName=Gforth
34: AppVerName=Gforth $(cat version)
35: AppCopyright=Copyright © 1995,1996,1997,1998,2000,2003,2006,2007 Free Software Foundation
36: DefaultDirName={pf}\gforth
37: DefaultGroupName=Gforth
38: AllowNoIcons=1
39: InfoBeforeFile=COPYING
40: Compression=bzip
41: DisableStartupPrompt=yes
42:
43: [Messages]
44: WizardInfoBefore=License Agreement
45: InfoBeforeLabel=Gforth is free software.
46: 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.
47:
48: [Components]
49: Name: "help"; Description: "HTML Documentation"; Types: full
50: Name: "info"; Description: "GNU info Documentation"; Types: full
51: Name: "print"; Description: "Postscript Documentation for printout"; Types: full
52: Name: "objects"; Description: "Compiler generated intermediate stuff"; Types: full
53:
54: [Dirs]
55: $(make distfiles -f Makedist | tr ' ' '\n' | grep -v CVS | (while read i; do
56: while [ ! -z "$i" ]
57: do
58: if [ -d $i ]; then echo $i; fi
59: if [ "${i%/*}" != "$i" ]; then i="${i%/*}"; else i=""; fi
60: done
61: done) | sort -u | sed \
62: -e 's:/:\\:g' \
63: -e 's,^\(..*\)$,Name: "{app}\\\1",g')
64: Name: "{app}\doc\gforth"
65: Name: "{app}\doc\vmgen"
66:
67: [Files]
68: ; Parameter quick reference:
69: ; "Source filename", "Dest. filename", Copy mode, Flags
70: Source: "README.txt"; DestDir: "{app}"; Flags: isreadme
71: Source: "cygwin1.dll"; DestDir: "{app}"
72: Source: "sh.exe"; DestDir: "{app}"
73: Source: "cygintl-3.dll"; DestDir: "{app}"
74: Source: "cygiconv-2.dll"; DestDir: "{app}"
75: Source: "cygreadline6.dll"; DestDir: "{app}"
76: Source: "cygncurses-8.dll"; DestDir: "{app}"
77: Source: "cygffi-2-00-beta.dll"; DestDir: "{app}"
78: Source: "gforth.fi"; DestDir: "{app}"
79: $(ls doc/gforth | sed -e 's:/:\\:g' -e 's,^\(..*\)$,Source: "doc\\gforth\\\1"; DestDir: "{app}\\doc\\gforth"; Components: help,g')
80: $(ls doc/vmgen | sed -e 's:/:\\:g' -e 's,^\(..*\)$,Source: "doc\\vmgen\\\1"; DestDir: "{app}\\doc\\vmgen"; Components: help,g')
81: $(make distfiles -f Makedist EXE=.exe | tr ' ' '\n' | grep -v engine.*exe | (while read i; do
82: if [ ! -d $i ]; then echo $i; fi
83: done) | sed \
84: -e 's:/:\\:g' \
85: -e 's,^\(..*\)\\\([^\\]*\)$,Source: "\1\\\2"; DestDir: "{app}\\\1",g' \
86: -e 's,^\([^\\]*\)$,Source: "\1"; DestDir: "{app}",g' \
87: -e 's,^\(.*\.[oib]".*\),\1; Components: objects,g' \
88: -e 's,^\(.*\.p\)s\(".*\),\1df\2; Components: print,g' \
89: -e 's,^\(.*\.info.*".*\),\1; Components: info,g')
90:
91: [Icons]
92: ; Parameter quick reference:
93: ; "Icon title", "File name", "Parameters", "Working dir (can leave blank)",
94: ; "Custom icon filename (leave blank to use the default icon)", Icon index
95: Name: "{group}\Gforth"; Filename: "{app}\gforth.exe"; WorkingDir: "{app}"
96: Name: "{group}\Gforth-fast"; Filename: "{app}\gforth-fast.exe"; WorkingDir: "{app}"
97: Name: "{group}\Gforth-dict"; Filename: "{app}\gforth-dict.exe"; WorkingDir: "{app}"
98: Name: "{group}\Gforth-itc"; Filename: "{app}\gforth-itc.exe"; WorkingDir: "{app}"
99: Name: "{group}\Gforth-prof"; Filename: "{app}\gforth-prof.exe"; WorkingDir: "{app}"
100: Name: "{group}\Gforth Manual"; Filename: "{app}\doc\gforth\index.html"; WorkingDir: "{app}"; Components: help
101: Name: "{group}\Gforth Manual (PDF)"; Filename: "{app}\doc\gforth.pdf"; WorkingDir: "{app}"; Components: help
102: Name: "{group}\VMgen Manual"; Filename: "{app}\doc\vmgen\index.html"; WorkingDir: "{app}"; Components: help
103: Name: "{group}\Bash"; Filename: "{app}\sh.exe"; WorkingDir: "{app}"
104: Name: "{group}\Uninstall Gforth"; Filename: "{uninstallexe}"
105:
106: [Run]
107: Filename: "{app}\gforth.exe"; WorkingDir: "{app}"; Parameters: "fixpath.fs {app} gforth-fast.exe"
108: Filename: "{app}\gforth.exe"; WorkingDir: "{app}"; Parameters: "fixpath.fs {app} gforth-ditc.exe"
109: Filename: "{app}\gforth.exe"; WorkingDir: "{app}"; Parameters: "fixpath.fs {app} gforth-itc.exe"
110: Filename: "{app}\gforth.exe"; WorkingDir: "{app}"; Parameters: "fixpath.fs {app} gforth-prof.exe"
111: Filename: "{app}\gforth-fast.exe"; WorkingDir: "{app}"; Parameters: "fixpath.fs {app} gforth.exe"
112:
113: ;[Registry]
114: ;registry commented out
115: ; WorkingDir: "{app}"; Parameter quick reference:
116: ; "Root key", "Subkey", "Value name", Data type, "Data", Flags
117: ;HKCR, ".fs"; STRING, "forthstream",
118: ;HKCR, ".fs", "Content Type", STRING, "application/forth",
119: ;HKCR, ".fb"; STRING, "forthblock",
120: ;HKCR, ".fb", "Content Type", STRING, "application/forth-block",
121: ;HKCR, "forthstream"; STRING, "Forth Source",
122: ;HKCR, "forthstream", "EditFlags", DWORD, "00000000",
123: ;HKCR, "forthstream\DefaultIcon"; STRING, "{sys}\System32\shell32.dll,61"
124: ;HKCR, "forthstream\Shell"; STRING, ""
125: ;HKCR, "forthstream\Shell\Open\command"; STRING, "{app}\gforth.exe %1"
126: ;HKCR, "forthblock"; STRING, "Forth Block",
127: ;HKCR, "forthblock", "EditFlags", DWORD, "00000000",
128: ;HKCR, "forthblock\DefaultIcon"; STRING, "{sys}\System32\shell32.dll,61"
129: EOT
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>