cvsuser 05/04/06 07:02:53
Modified: . MANIFEST README.win32
config/gen/makefiles root.in
Added: tools/dev mk_inno.pl
Log:
[perl #34625] [PATCH] make setup on MSWin32
I add a new target 'setup' in the main Makefile.
That's allow the creation of a setup-parrot-x.y.z.exe ('standard' binary
distribution) that contains all parrot install directories and the ICU
shared libraries.
A new script tools/dev/mk_setup.pl creates a script 'parrot.iss' for Inno
Setup .
Courtesy of Fran�ois Perrad <[EMAIL PROTECTED]>
Add-ons
- renamed setup target:
$MAKE win32-inno-installer
- and script:
tools/dev/mk_inno.pl
Revision Changes Path
1.862 +1 -0 parrot/MANIFEST
Index: MANIFEST
===================================================================
RCS file: /cvs/public/parrot/MANIFEST,v
retrieving revision 1.861
retrieving revision 1.862
diff -u -r1.861 -r1.862
--- MANIFEST 5 Apr 2005 14:07:31 -0000 1.861
+++ MANIFEST 6 Apr 2005 14:02:51 -0000 1.862
@@ -2972,6 +2972,7 @@
tools/dev/install_files.pl [devel]
tools/dev/lib_deps.pl [devel]
tools/dev/manicheck.pl [devel]
+tools/dev/mk_inno.pl [devel]
tools/dev/mk_manifests.pl [devel]
tools/dev/mk_native_pbc [devel]
tools/dev/nm.pl [devel]
1.4 +25 -9 parrot/README.win32
Index: README.win32
===================================================================
RCS file: /cvs/public/parrot/README.win32,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- README.win32 26 Jan 2005 10:59:49 -0000 1.3
+++ README.win32 6 Apr 2005 14:02:51 -0000 1.4
@@ -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<http://prdownloads.sf.net/mingw/mingw32-make-3.80.0-3.exe>
+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<free> installer for Windows programs.
+
+The latest release of Inno Setup at the time of writing is 5.0.8.
+
+The HomePage is on L<http://www.jrsoftware.org/>.
+
+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<http://prdownloads.sf.net/mingw/MSYS-1.0.10.exe>
+L<http://prdownloads.sf.net/mingw/MinGW-3.1.0-1.exe>
The HomePage is on L<http://www.mingw.org/>.
-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<http://search.cpan.org/dist/perl/README.win32>,
-and source on L<http://www.cpan.org/src/stable.tar.gz>.
+ 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
1.1 parrot/tools/dev/mk_inno.pl
Index: mk_inno.pl
===================================================================
#! perl -w
################################################################################
# Copyright: 2005 The Perl Foundation. All Rights Reserved.
# $Id: mk_inno.pl,v 1.1 2005/04/06 14:02:52 leo Exp $
################################################################################
=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<prefix>
The install prefix.
=item C<version>
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;
1.293 +8 -1 parrot/config/gen/makefiles/root.in
Index: root.in
===================================================================
RCS file: /cvs/public/parrot/config/gen/makefiles/root.in,v
retrieving revision 1.292
retrieving revision 1.293
diff -u -r1.292 -r1.293
--- root.in 5 Apr 2005 14:07:36 -0000 1.292
+++ root.in 6 Apr 2005 14:02:52 -0000 1.293
@@ -107,6 +107,8 @@
# ex: make LINTOPTS='-posixstrictlibs +posixlibs' lint
LINTOPTS =
+INNO_SETUP = iscc
+
###############################################################################
#
@@ -601,6 +603,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."
@@ -1335,6 +1338,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: