| 1 : |
pazsan
|
1.4
|
#!/bin/bash |
| 2 : |
|
|
|
| 3 : |
pazsan
|
1.25
|
#Copyright (C) 2000,2003,2006,2007,2009,2011 Free Software Foundation, Inc. |
| 4 : |
pazsan
|
1.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 : |
anton
|
1.16
|
#as published by the Free Software Foundation, either version 3 |
| 10 : |
pazsan
|
1.4
|
#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 : |
anton
|
1.16
|
#along with this program; if not, see http://www.gnu.org/licenses/. |
| 19 : |
pazsan
|
1.4
|
|
| 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 : |
pazsan
|
1.9
|
# use iss.sh >gforth.iss |
| 25 : |
|
|
# copy the resulting *.iss to the location of your Windows installation |
| 26 : |
pazsan
|
1.4
|
# of Gforth, and start the setup compiler there. |
| 27 : |
|
|
|
| 28 : |
pazsan
|
1.18
|
VERSION=$(cat version) |
| 29 : |
|
|
|
| 30 : |
pazsan
|
1.23
|
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 : |
|
|
|
| 38 : |
pazsan
|
1.4
|
cat <<EOT |
| 39 : |
pazsan
|
1.15
|
; This is the setup script for Gforth on Windows |
| 40 : |
pazsan
|
1.4
|
; Setup program is Inno Setup |
| 41 : |
|
|
|
| 42 : |
|
|
[Setup] |
| 43 : |
|
|
AppName=Gforth |
| 44 : |
pazsan
|
1.18
|
AppVerName=Gforth $VERSION |
| 45 : |
pazsan
|
1.25
|
AppCopyright=Copyright © 1995,1996,1997,1998,2000,2003,2006,2007,2008,2009,2010,2011 Free Software Foundation |
| 46 : |
pazsan
|
1.8
|
DefaultDirName={pf}\gforth |
| 47 : |
pazsan
|
1.4
|
DefaultGroupName=Gforth |
| 48 : |
|
|
AllowNoIcons=1 |
| 49 : |
pazsan
|
1.8
|
InfoBeforeFile=COPYING |
| 50 : |
pazsan
|
1.22
|
Compression=lzma |
| 51 : |
pazsan
|
1.8
|
DisableStartupPrompt=yes |
| 52 : |
pazsan
|
1.18
|
OutputBaseFilename=gforth-$VERSION |
| 53 : |
pazsan
|
1.8
|
|
| 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 |
| 64 : |
pazsan
|
1.4
|
|
| 65 : |
|
|
[Dirs] |
| 66 : |
pazsan
|
1.8
|
$(make distfiles -f Makedist | tr ' ' '\n' | grep -v CVS | (while read i; do |
| 67 : |
pazsan
|
1.4
|
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' \ |
| 74 : |
pazsan
|
1.8
|
-e 's,^\(..*\)$,Name: "{app}\\\1",g') |
| 75 : |
|
|
Name: "{app}\doc\gforth" |
| 76 : |
|
|
Name: "{app}\doc\vmgen" |
| 77 : |
pazsan
|
1.18
|
Name: "{app}\lib\gforth\\$VERSION\libcc-named" |
| 78 : |
pazsan
|
1.22
|
Name: "{app}\include\gforth\\$VERSION" |
| 79 : |
pazsan
|
1.4
|
|
| 80 : |
|
|
[Files] |
| 81 : |
|
|
; Parameter quick reference: |
| 82 : |
|
|
; "Source filename", "Dest. filename", Copy mode, Flags |
| 83 : |
pazsan
|
1.8
|
Source: "README.txt"; DestDir: "{app}"; Flags: isreadme |
| 84 : |
pazsan
|
1.25
|
Source: "c:\cygwin\bin\sh.exe"; DestDir: "{app}" |
| 85 : |
pazsan
|
1.23
|
Source: "c:\cygwin\bin\cygwin1.dll"; DestDir: "{app}" |
| 86 : |
pazsan
|
1.25
|
Source: "c:\cygwin\bin\cyggcc_s-1.dll"; DestDir: "{app}" |
| 87 : |
pazsan
|
1.23
|
Source: "c:\cygwin\bin\cygintl-8.dll"; DestDir: "{app}" |
| 88 : |
|
|
Source: "c:\cygwin\bin\cygiconv-2.dll"; DestDir: "{app}" |
| 89 : |
pazsan
|
1.25
|
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}" |
| 93 : |
pazsan
|
1.22
|
Source: "gforthmi.sh"; DestDir: "{app}" |
| 94 : |
pazsan
|
1.8
|
$(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') |
| 96 : |
pazsan
|
1.18
|
$(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') |
| 97 : |
pazsan
|
1.22
|
$(ls include/gforth/$VERSION | sed -e 's:/:\\:g' -e 's,^\(..*\)$,Source: "engine\\\1"; DestDir: "{app}\\include\\gforth\\'$VERSION'",g') |
| 98 : |
pazsan
|
1.8
|
$(make distfiles -f Makedist EXE=.exe | tr ' ' '\n' | grep -v engine.*exe | (while read i; do |
| 99 : |
pazsan
|
1.4
|
if [ ! -d $i ]; then echo $i; fi |
| 100 : |
|
|
done) | sed \ |
| 101 : |
|
|
-e 's:/:\\:g' \ |
| 102 : |
pazsan
|
1.8
|
-e 's,^\(..*\)\\\([^\\]*\)$,Source: "\1\\\2"; DestDir: "{app}\\\1",g' \ |
| 103 : |
|
|
-e 's,^\([^\\]*\)$,Source: "\1"; DestDir: "{app}",g' \ |
| 104 : |
|
|
-e 's,^\(.*\.[oib]".*\),\1; Components: objects,g' \ |
| 105 : |
pazsan
|
1.9
|
-e 's,^\(.*\.p\)s\(".*\),\1df\2; Components: print,g' \ |
| 106 : |
pazsan
|
1.8
|
-e 's,^\(.*\.info.*".*\),\1; Components: info,g') |
| 107 : |
pazsan
|
1.4
|
|
| 108 : |
|
|
[Icons] |
| 109 : |
|
|
; Parameter quick reference: |
| 110 : |
|
|
; "Icon title", "File name", "Parameters", "Working dir (can leave blank)", |
| 111 : |
|
|
; "Custom icon filename (leave blank to use the default icon)", Icon index |
| 112 : |
pazsan
|
1.8
|
Name: "{group}\Gforth"; Filename: "{app}\gforth.exe"; WorkingDir: "{app}" |
| 113 : |
|
|
Name: "{group}\Gforth-fast"; Filename: "{app}\gforth-fast.exe"; WorkingDir: "{app}" |
| 114 : |
|
|
Name: "{group}\Gforth-dict"; Filename: "{app}\gforth-dict.exe"; WorkingDir: "{app}" |
| 115 : |
|
|
Name: "{group}\Gforth-itc"; Filename: "{app}\gforth-itc.exe"; WorkingDir: "{app}" |
| 116 : |
|
|
Name: "{group}\Gforth-prof"; Filename: "{app}\gforth-prof.exe"; WorkingDir: "{app}" |
| 117 : |
|
|
Name: "{group}\Gforth Manual"; Filename: "{app}\doc\gforth\index.html"; WorkingDir: "{app}"; Components: help |
| 118 : |
pazsan
|
1.12
|
Name: "{group}\Gforth Manual (PDF)"; Filename: "{app}\doc\gforth.pdf"; WorkingDir: "{app}"; Components: help |
| 119 : |
pazsan
|
1.8
|
Name: "{group}\VMgen Manual"; Filename: "{app}\doc\vmgen\index.html"; WorkingDir: "{app}"; Components: help |
| 120 : |
pazsan
|
1.12
|
Name: "{group}\Bash"; Filename: "{app}\sh.exe"; WorkingDir: "{app}" |
| 121 : |
pazsan
|
1.8
|
Name: "{group}\Uninstall Gforth"; Filename: "{uninstallexe}" |
| 122 : |
pazsan
|
1.4
|
|
| 123 : |
pazsan
|
1.13
|
[Run] |
| 124 : |
pazsan
|
1.22
|
Filename: "{app}\gforth.exe"; WorkingDir: "{app}"; Parameters: "fixpath.fs gforth-fast.exe" |
| 125 : |
|
|
Filename: "{app}\gforth.exe"; WorkingDir: "{app}"; Parameters: "fixpath.fs gforth-ditc.exe" |
| 126 : |
|
|
Filename: "{app}\gforth.exe"; WorkingDir: "{app}"; Parameters: "fixpath.fs gforth-itc.exe" |
| 127 : |
|
|
Filename: "{app}\gforth.exe"; WorkingDir: "{app}"; Parameters: "fixpath.fs gforth-prof.exe" |
| 128 : |
|
|
Filename: "{app}\gforth-fast.exe"; WorkingDir: "{app}"; Parameters: "fixpath.fs gforth.exe" |
| 129 : |
|
|
Filename: "{app}\sh.exe"; WorkingDir: "{app}"; Parameters: "./gforthmi.sh" |
| 130 : |
pazsan
|
1.4
|
|
| 131 : |
pazsan
|
1.23
|
[UninstallDelete] |
| 132 : |
|
|
Type: files; Name: "{app}\gforth.fi" |
| 133 : |
|
|
Type: files; Name: "{app}\temp-image.fi1" |
| 134 : |
|
|
Type: files; Name: "{app}\temp-image.fi2" |
| 135 : |
|
|
|
| 136 : |
pazsan
|
1.5
|
;[Registry] |
| 137 : |
|
|
;registry commented out |
| 138 : |
pazsan
|
1.8
|
; WorkingDir: "{app}"; Parameter quick reference: |
| 139 : |
pazsan
|
1.4
|
; "Root key", "Subkey", "Value name", Data type, "Data", Flags |
| 140 : |
pazsan
|
1.8
|
;HKCR, ".fs"; STRING, "forthstream", |
| 141 : |
pazsan
|
1.5
|
;HKCR, ".fs", "Content Type", STRING, "application/forth", |
| 142 : |
pazsan
|
1.8
|
;HKCR, ".fb"; STRING, "forthblock", |
| 143 : |
pazsan
|
1.5
|
;HKCR, ".fb", "Content Type", STRING, "application/forth-block", |
| 144 : |
pazsan
|
1.8
|
;HKCR, "forthstream"; STRING, "Forth Source", |
| 145 : |
pazsan
|
1.5
|
;HKCR, "forthstream", "EditFlags", DWORD, "00000000", |
| 146 : |
pazsan
|
1.8
|
;HKCR, "forthstream\DefaultIcon"; STRING, "{sys}\System32\shell32.dll,61" |
| 147 : |
|
|
;HKCR, "forthstream\Shell"; STRING, "" |
| 148 : |
|
|
;HKCR, "forthstream\Shell\Open\command"; STRING, "{app}\gforth.exe %1" |
| 149 : |
|
|
;HKCR, "forthblock"; STRING, "Forth Block", |
| 150 : |
pazsan
|
1.5
|
;HKCR, "forthblock", "EditFlags", DWORD, "00000000", |
| 151 : |
pazsan
|
1.8
|
;HKCR, "forthblock\DefaultIcon"; STRING, "{sys}\System32\shell32.dll,61" |
| 152 : |
pazsan
|
1.4
|
EOT |
| 153 : |
pazsan
|
1.19
|
|
| 154 : |
pazsan
|
1.20
|
sed -e 's/$/\r/' <README >README.txt |