diff -Nur parrot/README.win32 parrot.new/README.win32 --- parrot/README.win32 2005-01-26 12:02:48.000000000 +0100 +++ parrot.new/README.win32 2005-04-06 13:58:06.000000000 +0200 @@ -38,8 +38,7 @@ or ftp://ftp.microsoft.com/Softlib/MSLFILES/nmake15.exe -MinGW works with its GNU "make" port. It can be downloaded here: -L +MinGW works with its GNU "make" (v 3.80) port and its name is 'mingw32-make.exe'. =item Command Shell @@ -62,6 +61,18 @@ With MinGW32, use icu-2.8-Win32_msvc6.zip . +=item Inno Setup + +Inno Setup is a I installer for Windows programs. + +The latest release of Inno Setup at the time of writing is 5.0.8. + +The HomePage is on L. + +Add the directory to PATH. + + set PATH=%PATH%;C:\Program Files\Inno Setup 5 + =item Borland C++ XXX @@ -80,17 +91,15 @@ =item MinGW32 with GCC -The latest release of MSYS package at the time of writing is 1.0.10, +The latest release of MinGW package at the time of writing is 3.1.0, which contains gcc-3.2.3. It can be downloaded here: -L +L The HomePage is on L. -As Configure.pl extracts configuration from the perl program, -first build/install perl with MinGW (no binary distribution available). +With the ActiveState Perl distribution, tell Configure.pl to use gcc : -See details on L, -and source on L. + perl Configure.pl --cc=gcc --icushared="C:\usr\lib\icu\lib\icudata.lib C:\usr\lib\icu\lib\icuuc.lib" --icuheaders="C:\usr\lib\icu\include" Nota: Use only the ICU binary distribution. @@ -112,6 +121,13 @@ $MAKE install +=head2 Installer + + $MAKE win32-inno-installer + +This command creats a setup-parrot-x.y.z.exe that contains all parrot install +directories. + =head2 Usage Hints XXX @@ -144,6 +160,6 @@ This document borrows heavily from perl's README.win32. -Last updated: 23 Jan 2005 +Last updated: 31 March 2005 =cut diff -Nur parrot/config/gen/makefiles/root.in parrot.new/config/gen/makefiles/root.in --- parrot/config/gen/makefiles/root.in 2005-03-06 12:19:30.000000000 +0100 +++ parrot.new/config/gen/makefiles/root.in 2005-04-06 14:06:20.000000000 +0200 @@ -104,6 +104,8 @@ # ex: make LINTOPTS='-posixstrictlibs +posixlibs' lint LINTOPTS = +INNO_SETUP = iscc + ############################################################################### # @@ -603,6 +605,7 @@ @echo "Release:" @echo " release: create a TAR ball." @echo " rpm: create RPMs." + @echo " win32-inno-installer: create MSWin32 setup." @echo "" @echo "Examples:" @echo " hello: 'Hello World' as an executable." @@ -1362,6 +1365,10 @@ sudo cp parrot.spec /usr/src/*/SPECS cd /usr/src/*/SPECS ${make_and} sudo rpm -ba parrot.spec +win32-inno-installer : install + $(PERL) tools/dev/mk_inno.pl --version=$(VERSION) --prefix=$(PREFIX) + $(INNO_SETUP) /Q parrot.iss + ############################################################################### # # miniparrot targets: diff -Nur parrot/tools/dev/mk_inno.pl parrot.new/tools/dev/mk_inno.pl --- parrot/tools/dev/mk_inno.pl 1970-01-01 01:00:00.000000000 +0100 +++ parrot.new/tools/dev/mk_inno.pl 2005-04-06 14:08:46.000000000 +0200 @@ -0,0 +1,89 @@ +#! perl -w +################################################################################ +# Copyright: 2005 The Perl Foundation. All Rights Reserved. +# $Id: mk_inno.pl $ +################################################################################ + +=head1 TITLE + +tools/dev/mk_inno.pl - Create a script for Inno Setup + +=head1 SYNOPSIS + + % perl tools/dev/mk_inno.pl [options] + +=head1 DESCRIPTION + +=head2 Options + +=over 4 + +=item C + +The install prefix. + +=item C + +The parrot version. + +=back + +=head1 SEE ALSO + +http://www.jrsoftware.org/ + +=cut + +################################################################################ + +my %options = ( + version => 'x.y.z', + prefix => '\usr\local\parrot', +); + +foreach (@ARGV) { + if (/^--([^=]+)=(.*)/) { + $options{$1} = $2; + } +} + +$options{prefix} =~ s/\//\\/g; + +open OUT, "> parrot.iss" or die "Can't open parrot.iss"; + +print OUT qq{ +; generated by tools/dev/mk_setup.pl for the Inno Setup Script Compiler. + +[Setup] +AppName=parrot +AppVerName=parrot $options{version} +AppPublisher=The Perl Foundation +AppPublisherURL=http://www.parrotcode.org/ +AppSupportURL=http://www.parrotcode.org/ +AppUpdatesURL=http://www.parrotcode.org/ +DefaultDirName={pf}\\parrot-$options{version} +DefaultGroupName=parrot +AllowNoIcons=yes +LicenseFile=$options{prefix}\\LICENSES\\Artistic +OutputDir=.\\ +OutputBaseFilename=setup-parrot-$options{version} +Compression=lzma +SolidCompression=yes +ChangesAssociations=yes + +[Files] +Source: "$options{prefix}\\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs + +[Icons] +Name: "{group}\\{cm:UninstallProgram,parrot}"; Filename: "{uninstallexe}" +}; + +close OUT;