# New Ticket Created by  François PERRAD 
# Please include the string:  [perl #36844]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org/rt3/Ticket/Display.html?id=36844 >


Index: README.win32
===================================================================
--- README.win32        (revision 8881)
+++ README.win32        (working copy)
@@ -21,7 +21,7 @@
 
        Borland C++ (bcc)               version xxx or later
        Microsoft Visual C++ (cl)       version 13.10.3077 or later
-       MinGW32 with GCC (gcc)          version 3.2.3 or later
+       MinGW32 with GCC (gcc)          version 3.4.2 or later
        Intel C++ (icl)                  version 8.0.48 works
 
 =head2 Setting Up Parrot
@@ -61,14 +61,12 @@
 Configure.pl to use it.
 
     mkdir C:\usr\lib
-    unzip icu-3.2-Win32-msvc7.1.zip -d C:\usr\lib
+    unzip icu-3.4-Win32-msvc7.1.zip -d C:\usr\lib
     mkdir C:\usr\lib\data
     set PATH=%PATH%;C:\usr\lib\icu\bin
     cd <parrot directory>
     perl Configure.pl --icushared="C:\usr\lib\icu\lib\icudt.lib 
C:\usr\lib\icu\lib\icuuc.lib" --icuheaders="C:\usr\lib\icu\include" 
--icudatadir="C:\usr\local\icu\data"
 
-With MinGW32, use icu-3.2-Win32-msvc6.zip.
-
 Note the step of creating the F<C:\usr\lib\data> directory, as Parrot
 really wants it and the binary packages don't contain it.  It doesn't
 need to contain anything though, as the data is pulled in from
@@ -104,7 +102,7 @@
 
 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 latest release of Inno Setup at the time of writing is 5.1.4. 
 
 The HomePage is on L<http://www.jrsoftware.org/>.
 
@@ -130,9 +128,9 @@
 
 =item MinGW32 with GCC
 
-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/MinGW-3.1.0-1.exe>
+The latest release of MinGW package at the time of writing is 4.1.1, 
+which contains gcc-3.4.2. It can be downloaded here: 
+L<http://prdownloads.sf.net/mingw/MinGW-4.1.1.exe>
 
 The HomePage is on L<http://www.mingw.org/>.
 
@@ -212,6 +210,6 @@
 
 GCC/mingw32 support was added in 0.1.2 (François Perrad).
 
-Last updated: 31 May 2005
+Last updated: 9 August 2005
 
 =cut
Index: tools/dev/mk_inno.pl
===================================================================
--- tools/dev/mk_inno.pl        (revision 8881)
+++ tools/dev/mk_inno.pl        (working copy)
@@ -62,8 +62,8 @@
        my $icuroot = $options{icudatadir};
        $icuroot =~ s/\\\w+$//;
        $icu_section = qq{
-Source: "$icuroot\\share\\icu\\3.2\\license.html"; DestDir: "{app}\\icu"; 
Flags:
-Source: "$icuroot\\lib\\icu*.dll"; DestDir: "{app}\\bin"; Flags:
+Source: "$icuroot\\license.html"; DestDir: "{app}\\icu"; Flags:
+Source: "$icuroot\\bin\\icu*.dll"; DestDir: "{app}\\bin"; Flags:
 };
 }
 
Index: lib/Parrot/Configure/Step.pm
===================================================================
--- lib/Parrot/Configure/Step.pm        (revision 8881)
+++ lib/Parrot/Configure/Step.pm        (working copy)
@@ -241,6 +241,7 @@
         my $slash = Configure::Data->get('slash');
         '/' x ($len/2) . ($len%2 ? $slash : '');
       }eg;
+      s{(\\\*)}{\\$1}g; # replace \* with \\*, so make will not eat the \
     }
     print OUT;
   }
Index: config/init/hints/mswin32.pl
===================================================================
--- config/init/hints/mswin32.pl        (revision 8881)
+++ config/init/hints/mswin32.pl        (working copy)
@@ -162,21 +162,26 @@
                                'a' => '.a',
                                'ar' => 'ar',
                                'cc' => 'gcc',
-                               'ccflags' => '-s -O2 -DWIN32 ',
+                               'ccflags' => '-DWIN32 ',
                                'cp' => '$(PERL) -MExtUtils::Command -e cp',
                                'ld' => 'g++',
                                'ld_load_flags' => '-shared ',
                                'ld_share_flags' => '-shared ',
-                               'ldflags' => '-s ',
+                               'ldflags' => '',
                                'libs' => '-lmsvcrt -lmoldname -lkernel32 
-luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 
-lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 ',
                                'link' => 'gcc',
-                               'linkflags' => '-s ',
+                               'linkflags' => '',
                                'make' => 'mingw32-make',
                                'make_set_make' => 'MAKE = mingw32-make',
                                'ncilib_link_extra' => 'src/libnci_test.def',
                                'o' => '.o',
                                'slash' => '\\',
                        );
+                       if (Configure::Data->get(qw(optimize))) {
+                               Configure::Data->set(
+                                       optimize => '-s -O2'
+                               );
+                       }
                } elsif ($make =~ /dmake/i) {
                        # mingw Perl
                        Configure::Data->set(
Index: config/auto/bc.pl
===================================================================
--- config/auto/bc.pl   (revision 8881)
+++ config/auto/bc.pl   (working copy)
@@ -28,7 +28,8 @@
     my $osname =  $Config{osname};
 
     # This is not really important, let's stick to Linux for now
-    my %bc_does_not_hang = ( linux => 1 
+    my %bc_does_not_hang = ( linux => 1, 
+                             MSWin32 => 1,
                            );
 
     if ( $bc_does_not_hang{$osname} ) {
Index: config/gen/makefiles/root.in
===================================================================
--- config/gen/makefiles/root.in        (revision 8881)
+++ config/gen/makefiles/root.in        (working copy)
@@ -1461,7 +1461,7 @@
 
 win32-inno-installer : world install
        $(PERL) tools/dev/mk_inno.pl --version=$(VERSION) --prefix=$(PREFIX) 
--icudatadir=${icu_datadir}
-       $(INNO_SETUP) /Q parrot.iss
+       $(INNO_SETUP) parrot.iss
 
 ###############################################################################
 #
Index: PLATFORMS
===================================================================
--- PLATFORMS   (revision 8881)
+++ PLATFORMS   (working copy)
@@ -37,7 +37,7 @@
 win32-bcc
 win32-cygwin_1.5.11_1        Y    Y    -     Y*5 Y   Y    Y        20041006
 win32-icl_8.0.48             -    Y    -     -   -   Y    Y/2
-win32-mingw-gcc3.2.3         Y    Y    Y     -   -   Y    Y/81  Y  20050603
+win32-mingw-gcc3.4.2         Y    Y    Y     Y   -   Y    Y/3   Y  20050809
 win32-msvc_6.0               -    Y    -     -   -   Y    Y        20050804
 win32-msvc_7.1               -    Y    -     -   -   Y    Y        20050802
 
Various patchs for MinGW & Win32

- README.win32 : reference some new version
         ICU 3.4
         gcc 3.4.2 (MinGW 4.1.1)
         inno setup 5.1.4

- tools/dev/mk_inno.pl : new path for ICU 3.4
- config/gen/makefiles/root.in

- config/init/hints/mswin32.pl : fix Configure.pl --optimize on MinGW

- PLATFORMS : result on MinGW (now dynclasses work)
Failed Test   Stat Wstat Total Fail  Failed  List of Failed
------------------------------------------------------------------------------- 

t\pmc\timer.t    3   768     8    3  37.50%  4 6-7
2 tests and 68 subtests skipped.
Failed 1/163 test scripts, 99.39% okay. 3/2758 subtests failed, 99.89% okay.

- lib/Parrot/Configure/Step.pm : see #36290

- config/auto/bc.pl : bc is available on http://gnuwin32.sourceforge.net/ 
for Win32

François Perrad

Reply via email to