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:
  
  
  

Reply via email to