[perl #36844] [PATCH] various patch for MinGW & Win32

1 view
Skip to first unread message

François PERRAD)

unread,
Aug 9, 2005, 8:11:20 AM8/9/05
to bugs-bi...@rt.perl.org
# 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

Reply all
Reply to author
Forward
0 new messages