# 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