Posts Tagged ‘i686-w64-mingw32’
HowTo: Build Strawberry Perl v5.12.3 x86 with GCC toolchain mingw64-w32-gcc4.4.6_20110503-v2.zip and kmx/32_libs 20110506.zip
As result:
-- Strawberry Perl v5.12.3 x86 with GCC toolchain mingw64-w32-gcc4.4.6_20110503-v2.zip and kmx/32_libs 20110506.zip
( strawberry-perl-5.12.3.0-32bit-build-2011-06-09.zip / .msi )
Screenshot:
==
C:\strawberry>gcc -v
Using built-in specs.
Target: i686-w64-mingw32
Configured with: ../gcc44-svn/configure --host=i686-w64-mingw32 --target=i686-w64-mingw32 --disable-multilib --enable-checking=release --prefix=/mingw32 --enabl
e-languages=c,c++,fortran --enable-libgomp --with-gmp=/mingw32 --with-mpfr=/mingw32 --disable-nls --disable-win32-registry
Thread model: win32
gcc version 4.4.6 20110416 (release) [svn/rev.172578 - mingw-w64/oz] (GCC)
C:\strawberry>perl -v
This is perl 5, version 12, subversion 3 (v5.12.3) built for MSWin32-x86-multi-thread
Copyright 1987-2010, Larry Wall
. . .
==
Download:
http://strawberryperl.com/download/5.12.3.0/strawberry-perl-5.12.3.0-64bit.zip
( VVM: Or http://strawberryperl.com/download/5.12.3.0/strawberry-perl-5.12.3.0-32bit.zip , but this not tested )
unpack it to
c:\sb\
Save to c:\sb\portableshell.bat :
==
@echo off
set drive=%~dp0
set drivep=%drive%
If $#\#$==$#%drive:~-1%#$ set drivep=%drive:~0,-1%
set PATH=%drivep%\perl\site\bin;%drivep%\perl\bin;%drivep%\c\bin;%PATH%
set TERM=dumb
echo ----------------------------------------------
echo Welcome to Strawberry Perl Portable Edition!
echo * URL - http://www.strawberryperl.com/
echo * see README.portable.TXT for more info
echo ----------------------------------------------
perl -e "printf("""Perl executable: %%s\nPerl version : %%vd\n""", $^X, $^V)" 2>nul
if ERRORLEVEL==1 echo.&echo FATAL ERROR: 'perl' does not work; check if your strawberry pack is complete!
echo.
cmd
==
#{
# Old:
#
Download:
http://strawberryperl.com/download/5.12.3.0/strawberry-perl-5.12.3.0-portable.zip
unpack only portableshell.bat from it to
c:\sb\
#
#
#}
Run:
portableshell.bat
In portableshell.bat shell:
set PERL_MM_USE_DEFAULT=1
cpanp s save system
===
C:\sb>cpanp s save system
Configuration successfully saved to CPANPLUS::Config::System
(C:\sb\perl\lib\CPANPLUS\Config\System.pm)
===
cpanp s edit system
Replace
strawberryperl to sb
==
$conf->set_conf( base => 'C:\\sb\\cpanplus' );
==
If found:
==
$conf->set_conf( signature => 1 );
==
replace to
==
$conf->set_conf( signature => 0 );
==
Save file.
cpanp i IPC::Run
cpanp i Perl::Dist::Strawberry
cpanp i Perl::Dist::WiX::BuildPerl::5123
cpanp i Perl::Dist::Strawberry::BuildPerl::5123
Screenshot:
===
Preparing Math::Pari
** GET http://strawberryperl.com/package/32bit-gcc4/Math-Pari-2.01080605-MSWin32-x86-multi-thread-5.14.0.par ==> 404 Not Found
===
=>
GoTo:
C:\sb\perl\site\lib\Perl\Dist\
rename
Strawberry.pm
to
Strawberry.pm.Orig
apply patch to Strawberry.pm:
===
--- Strawberry.pm.Orig Tue May 31 04:09:10 2011
+++ Strawberry.pm Tue Jun 14 12:33:15 2011
@@ -449,10 +449,10 @@
name => 'Win32::EventLog',
force => 1, # Tests fail on only one computer, will be reported later
);
- $self->install_modules('Win32::API') if not 64 == $self->bits();
+#VVM $self->install_modules('Win32::API') if not 64 == $self->bits();
# Install additional math modules
- $self->install_pari() if not 64 == $self->bits();
+#VVM $self->install_pari() if not 64 == $self->bits();
$self->install_modules( qw{
Math::BigInt::GMP
} );
@@ -676,7 +676,7 @@
Net::SSLeay
IO::Socket::SSL
Net::SMTP::TLS
- }) if 32 == $self->bits();
+ }) if 932 == $self->bits(); #VVM
# The rest of the Net::SSH::Perl toolchain.
$self->install_module(
@@ -690,7 +690,7 @@
# Check why this one isn't working.
$self->install_modules( qw{
Crypt::DSA
- }) if 32 == $self->bits();
+ }) if 932 == $self->bits(); #VVM
$self->install_modules( qw{
Class::ErrorHandler
Convert::ASN1
@@ -712,7 +712,7 @@
# Requires Math::Pari.
$self->install_modules( qw{
Crypt::Random
- }) if 32 == $self->bits();
+ }) if 932 == $self->bits(); #VVM
$self->install_modules( qw{
Convert::ASCII::Armour
Digest::MD2
@@ -722,14 +722,14 @@
$self->install_modules( qw{
Crypt::Primes
Crypt::RSA
- }) if 32 == $self->bits();
+ }) if 932 == $self->bits(); #VVM
$self->install_modules( qw{
Digest::BubbleBabble
});
# Does not build 64-bit yet.
$self->install_modules( qw{
Crypt::IDEA
- }) if 32 == $self->bits();
+ }) if 932 == $self->bits(); #VVM
$self->install_modules( qw{
String::CRC32
Net::SSH2
@@ -751,7 +751,7 @@
# Crypt::RSA, and Math::Pari.
$self->install_modules( qw{
Crypt::OpenPGP
- }) if 32 == $self->bits();
+ }) if 932 == $self->bits(); #VVM
$self->install_modules( qw{
Algorithm::Diff
Text::Diff
@@ -762,7 +762,7 @@
name => 'FLORA/Module-Signature-0.66.tar.gz',
mod_name => 'Module::Signature',
makefilepl_param => [ 'INSTALLDIRS=vendor', ],
- ) if 32 == $self->bits();
+ ) if 932 == $self->bits(); #VVM
# version 0.67 of Module::Signature can have serious problems on Windows
# See https://rt.cpan.org/Ticket/Display.html?id=46339
# IPC::Run is a prereq only for 0.67
===
( Install all skiped modules later ( if need) by cpan/CPANPLUS )
GoTo:
C:\sb\perl\site\lib\Perl\Dist\WiX\Mixin\
rename
Libraries.pm
to
Libraries.pm.Orig
apply patch to Libraries.pm:
===
--- Libraries.pm.Orig Sun Jun 05 15:17:58 2011
+++ Libraries.pm Fri Jun 10 16:50:14 2011
@@ -49,19 +49,28 @@
# 'mingw-runtime' => 'mingw-runtime-3.13.tar.gz',
# 'w32api' => 'w32api-3.10.tar.gz',
},
+# VVM 2011-06-10 16-18
'32bit-gcc4' => {
'dmake' => '32bit-gcc4/dmake-SVN20091127-bin_20100524.zip',
'mingw-make' => '32bit-gcc4/gmake-3.81-20090914-bin_20100524.zip',
'pexports' => '32bit-gcc4/pexports-0.44-bin_20100120.zip',
- 'gcc-toolchain' => '32bit-gcc4/mingw64-w32-20100123-kmx-v2.zip',
- 'gcc-license' => '32bit-gcc4/mingw64-w32-20100123-kmx-v2-lic.zip',
+# [ VVM 2011-06-10 16-18
+ 'gcc-toolchain' => 'kmx/32_gcctoolchain/mingw64-w32-gcc4.4.6_20110503-v2.zip',
+ 'gcc-license' => 'kmx/32_gcctoolchain/mingw64-w32-gcc4.4.6_20110503-v2-lic.zip',
+# ]
},
+# VVM 2011-06-09 09-56
'64bit-gcc4' => {
+# 'dmake' => 'kmx/64_tools/64bit_dmake-SVN20091127-bin_20100308.zip', # older? <= ( 20100308 '64bit-gcc4/dmake-SVN20091127-bin_20100524.zip',
+# 'mingw-make' => 'kmx/64_tools/64bit_gmake-3.82-bin_20110503.zip', # Has error? VVM 2011-06-09 15-43
'mingw-make' => '64bit-gcc4/gmake-3.81.90_20100127_20100524.zip',
+# 'pexports' => 'kmx/64_tools/64bit_pexports-0.44-bin_20100110.zip', # Not need? VVM 2011-06-09 09-56
'pexports' => '64bit-gcc4/pexports-0.44-bin_20100110.zip',
- 'gcc-toolchain' => '64bit-gcc4/mingw64-w64-20100123-kmx-v2.zip',
- 'gcc-license' => '64bit-gcc4/mingw64-w64-20100123-kmx-v2-lic.zip',
+# [ VVM 2011-06-09 09-56
+ 'gcc-toolchain' => 'kmx/64_gcctoolchain/mingw64-w64-gcc4.4.6_20110503-v2.zip',
+ 'gcc-license' => 'kmx/64_gcctoolchain/mingw64-w64-gcc4.4.6_20110503-v2-lic.zip',
+#]
},
);
===
GoTo:
C:\sb\perl\site\lib\Perl\Dist\Strawberry\
rename
Libraries.pm
to
Libraries.pm.Orig
apply patch to Libraries.pm:
===
--- Libraries.pm.Orig Tue May 31 04:09:10 2011
+++ Libraries.pm Mon Jun 13 16:10:27 2011
@@ -93,7 +93,7 @@
'mysql5121' => undef,
'mysql5122' => undef,
'mysql5123' => undef,
- 'mysqllib' => '32bit-gcc4/mysql-5.1.44-bin_20100304.zip',
+ 'mysqllib' => 'kmx/32_libs/5.14/32bit_mysql-5.1.44-bin_20100304.zip', # VVM 2011-06-09 09-56
'pari589' => undef,
'pari5100' => undef,
'pari5101' => undef,
@@ -101,34 +101,38 @@
'pari5120' => '32bit-gcc4/Math-Pari-2.01080604-MSWin32-x86-multi-thread-5.12.0.par',
'pari5121' => '32bit-gcc4/Math-Pari-2.01080604-MSWin32-x86-multi-thread-5.12.0.par',
'pari5122' => '32bit-gcc4/Math-Pari-2.01080604-MSWin32-x86-multi-thread-5.12.0.par',
- 'pari5123' => '32bit-gcc4/Math-Pari-2.01080604-MSWin32-x86-multi-thread-5.12.3.par',
+ 'pari5123' => '32bit-gcc4/Math-Pari-2.01080605-MSWin32-x86-multi-thread-5.14.0.par', # VVM 2011-06-09 09-56
+# 'pari5123' => '32bit-gcc4/Math-Pari-2.01080604-MSWin32-x86-multi-thread-5.12.3.par', # VVM 2011-06-09 09-56 : not shue what is Ok with GCC v4.6.6
'pari5140' => '32bit-gcc4/Math-Pari-2.01080605-MSWin32-x86-multi-thread-5.14.0.par',
- 'zlib' => '32bit-gcc4/zlib-1.2.3-bin_20091126.zip',
- 'libiconv' => '32bit-gcc4/libiconv-1.13.1-bin_20091126.zip',
- 'libxml2' => '32bit-gcc4/libxml2-2.7.3-bin_20091126.zip',
- 'libexpat' => '32bit-gcc4/expat-2.0.1-bin_20091126.zip',
- 'gmp' => '32bit-gcc4/gmp-5.0.1-419f6a4cc606-bin_20110218.zip',
- 'libxslt' => '32bit-gcc4/libxslt-1.1.26-bin_20091126.zip',
- 'libjpeg' => '32bit-gcc4/jpeg-6b-gnuwin32-bin_20091126.zip',
- 'libgif' => '32bit-gcc4/giflib-4.1.6-bin_20091126.zip',
- 'libpng' => '32bit-gcc4/libpng-1.2.40-bin_20091126.zip',
- 'libtiff' => '32bit-gcc4/tiff-3.9.1-bin_20091126.zip',
- 'libgd' => '32bit-gcc4/gd-2.0.35-bin_20091126.zip',
- 'libfreetype' => '32bit-gcc4/freetype-2.3.11-bin_20091126.zip',
- 'libopenssl' => '32bit-gcc4/openssl-0.9.8l-bin_20091126.zip',
- 'libpostgresql' => '32bit-gcc4/postgresql-8.4.1-bin_20091126.zip',
- 'libdb' => '32bit-gcc4/db-4.8.24-bin_20091126.zip',
- 'libgdbm' => '32bit-gcc4/gdbm-1.8.3-bin_20100112.zip',
- 'libxpm' => '32bit-gcc4/libXpm-3.5.8-bin_20091126.zip',
- 'libxz' => '32bit-gcc4/liblzma-xz-4.999.9beta-bin_20100308.zip',
- 'mpc' => '32bit-gcc4/mpc-0.8.1-bin_20100306.zip',
- 'mpfr' => '32bit-gcc4/mpfr-2.4.2-bin_20100306.zip',
- 'libmysql' => '32bit-gcc4/mysql-5.1.44-bin_20100304.zip',
- 'freeglut' => '32bit-gcc4/freeglut-2.6.0-bin_20100213.zip',
- 'libssh2' => '32bit-gcc4/libssh2-1.2.5-bin_20100520.zip',
+# [ VVM 2011-06-09 09-56
+ 'zlib' => 'kmx/32_libs/5.14/32bit_zlib-1.2.5-bin_20110506.zip',
+ 'libiconv' => 'kmx/32_libs/5.14/32bit_libiconv-1.13.1-sezero20110428-bin_20110506.zip',
+ 'libxml2' => 'kmx/32_libs/5.14/32bit_libxml2-2.7.8-bin_20110506.zip',
+ 'libexpat' => 'kmx/32_libs/5.14/32bit_expat-2.0.1-sezero20110428-bin_20110506.zip',
+ 'gmp' => 'kmx/32_libs/5.14/32bit_gmp-5.0.1-bin_20110506.zip',
+ 'libxslt' => 'kmx/32_libs/5.14/32bit_libxslt-1.1.26-bin_20110506.zip',
+ 'libjpeg' => 'kmx/32_libs/5.14/32bit_jpeg-8c-bin_20110506.zip',
+ 'libgif' => 'kmx/32_libs/5.14/32bit_giflib-4.1.6-bin_20110506.zip',
+ 'libpng' => 'kmx/32_libs/5.14/32bit_libpng-1.5.2-bin_20110506.zip',
+ 'libtiff' => 'kmx/32_libs/5.14/32bit_tiff-3.9.5-bin_20110506.zip',
+ 'libgd' => 'kmx/32_libs/5.14/32bit_gd-2.0.35(OLD-jpg-png)-bin_20110506.zip',
+ 'libfreetype' => 'kmx/32_libs/5.14/32bit_freetype-2.4.4-bin_20110506.zip',
+ 'libopenssl' => 'kmx/32_libs/5.14/32bit_openssl-1.0.0d-bin_20110506.zip',
+ 'libpostgresql' => 'kmx/32_libs/5.14/32bit_postgresql-9.0.4-bin_20110506.zip',
+ 'libdb' => 'kmx/32_libs/5.14/32bit_db-5.1.25-bin_20110506.zip',
+ 'libgdbm' => 'kmx/32_libs/5.14/32bit_gdbm-1.8.3-bin_20110506.zip',
+ 'libxpm' => 'kmx/32_libs/5.14/32bit_libXpm-3.5.9-bin_20110506.zip',
+ 'libxz' => 'kmx/32_libs/5.14/32bit_xz-5.0.2-bin_20110506.zip',
+ 'mpc' => 'kmx/32_libs/5.14/32bit_mpc-0.9-bin_20110506.zip',
+ 'mpfr' => 'kmx/32_libs/5.14/32bit_mpfr-3.0.1-bin_20110506.zip',
+ 'libmysql' => 'kmx/32_libs/5.14/32bit_mysql-5.1.44-bin_20100304.zip',
+ 'freeglut' => 'kmx/32_libs/5.14/32bit_freeglut-2.6.0-bin_20110506.zip',
+ 'libssh2' => 'kmx/32_libs/5.14/32bit_libssh2-1.2.8-bin_20110506.zip',
+# ]
},
'64bit-gcc4' => {
'patch' => '64bit-gcc4/patch-2.5.9-7-bin_20100110_20100303.zip',
+# 'patch' => 'kmx/64_tools/64bit_patch-2.5.9-7-bin_20100110_UAC.zip', # VVM 2011-06-09 15-43 ToDo? # [ VVM 2011-06-09 09-56 ( kmx)
'mysql589' => undef,
'mysql5100' => undef,
'mysql5101' => undef,
@@ -146,29 +150,31 @@
'pari5121' => undef,
'pari5122' => undef,
'pari5123' => undef,
- 'zlib' => '64bit-gcc4/zlib-1.2.3-bin_20100110.zip',
- 'libiconv' => '64bit-gcc4/libiconv-1.13.1-bin_20100110.zip',
- 'libxml2' => '64bit-gcc4/libxml2-2.7.3-bin_20100110.zip',
- 'libexpat' => '64bit-gcc4/expat-2.0.1-bin_20100110.zip',
- 'gmp' => '64bit-gcc4/gmp-5.0.1-419f6a4cc606-bin_20100306.zip',
- 'libxslt' => '64bit-gcc4/libxslt-1.1.26-bin_20100111.zip',
- 'libjpeg' => '64bit-gcc4/jpeg-6b-gnuwin32-bin_20100110.zip',
- 'libgif' => '64bit-gcc4/giflib-4.1.6-bin_20100110.zip',
- 'libpng' => '64bit-gcc4/libpng-1.2.40-bin_20100110.zip',
- 'libtiff' => '64bit-gcc4/tiff-3.9.1-bin_20100110.zip',
- 'libgd' => '64bit-gcc4/gd-2.0.35-bin_20100110.zip',
- 'libfreetype' => '64bit-gcc4/freetype-2.3.11-bin_20100110.zip',
- 'libopenssl' => '64bit-gcc4/openssl-1.0.0-beta4-bin_20100110.zip',
- 'libpostgresql' => '64bit-gcc4/postgresql-8.4.1-bin_20100110.zip',
- 'libdb' => '64bit-gcc4/db-4.8.24-bin_20100110.zip',
- 'libgdbm' => '64bit-gcc4/gdbm-1.8.3-bin_20100112.zip',
- 'libxpm' => '64bit-gcc4/libXpm-3.5.8-bin_20100110.zip',
- 'libxz' => '64bit-gcc4/liblzma-xz-4.999.9beta-bin_20100308.zip',
- 'mpc' => '64bit-gcc4/mpc-0.8.1-bin_20100306.zip',
- 'mpfr' => '64bit-gcc4/mpfr-2.4.2-bin_20100306.zip',
- 'libmysql' => '64bit-gcc4/mysql-5.1.44-bin_20100304.zip',
- 'freeglut' => '64bit-gcc4/freeglut-2.6.0-bin_20100213.zip',
- 'libssh2' => '64bit-gcc4/libssh2-1.2.5-bin_20100520.zip',
+# [ VVM 2011-06-09 09-56
+ 'zlib' => 'kmx/64_libs/5.14/64bit_zlib-1.2.5-bin_20110506.zip',
+ 'libiconv' => 'kmx/64_libs/5.14/64bit_libiconv-1.13.1-sezero20110428-bin_20110506.zip',
+ 'libxml2' => 'kmx/64_libs/5.14/64bit_libxml2-2.7.8-bin_20110506.zip',
+ 'libexpat' => 'kmx/64_libs/5.14/64bit_expat-2.0.1-sezero20110428-bin_20110506.zip',
+ 'gmp' => 'kmx/64_libs/5.14/64bit_gmp-5.0.1-bin_20110506.zip',
+ 'libxslt' => 'kmx/64_libs/5.14/64bit_libxslt-1.1.26-bin_20110506.zip',
+ 'libjpeg' => 'kmx/64_libs/5.14/64bit_jpeg-8c-bin_20110506.zip',
+ 'libgif' => 'kmx/64_libs/5.14/64bit_giflib-4.1.6-bin_20110506.zip',
+ 'libpng' => 'kmx/64_libs/5.14/64bit_libpng-1.5.2-bin_20110506.zip',
+ 'libtiff' => 'kmx/64_libs/5.14/64bit_tiff-3.9.5-bin_20110506.zip',
+ 'libgd' => 'kmx/64_libs/5.14/64bit_gd-2.0.35(OLD-jpg-png)-bin_20110506.zip',
+ 'libfreetype' => 'kmx/64_libs/5.14/64bit_freetype-2.4.4-bin_20110506.zip',
+ 'libopenssl' => 'kmx/64_libs/5.14/64bit_openssl-1.0.0d-bin_20110506.zip',
+ 'libpostgresql' => 'kmx/64_libs/5.14/64bit_postgresql-9.0.4-bin_20110506.zip',
+ 'libdb' => 'kmx/64_libs/5.14/64bit_db-5.1.25-bin_20110506.zip',
+ 'libgdbm' => 'kmx/64_libs/5.14/64bit_gdbm-1.8.3-bin_20110506.zip',
+ 'libxpm' => 'kmx/64_libs/5.14/64bit_libXpm-3.5.9-bin_20110506.zip',
+ 'libxz' => 'kmx/64_libs/5.14/64bit_xz-5.0.2-bin_20110506.zip',
+ 'mpc' => 'kmx/64_libs/5.14/64bit_mpc-0.9-bin_20110506.zip',
+ 'mpfr' => 'kmx/64_libs/5.14/64bit_mpfr-3.0.1-bin_20110506.zip',
+ 'libmysql' => 'kmx/64_libs/5.14/64bit_mysql-5.1.44-bin_20100304.zip',
+ 'freeglut' => 'kmx/64_libs/5.14/64bit_freeglut-2.6.0-bin_20110506.zip',
+ 'libssh2' => 'kmx/64_libs/5.14/64bit_libssh2-1.2.8-bin_20110506.zip',
+# ]
},
};
===
GoTo:
C:\sb\perl\site\lib\Perl\Dist\
rename
WiX.pm
to
WiX.pm.Orig
apply patch to WiX.pm:
===
--- WiX.pm.Orig Sun Jun 05 15:17:58 2011
+++ WiX.pm Fri Jun 10 16:18:39 2011
@@ -728,7 +728,7 @@
$_ = 32;
}
- $_ == 32 or $_ == 64;
+ $_ == 32 or $_ == 32; # VVM 2011-06-10 16-18
},
message {
'Not 32 or 64-bit';
===
Run
%SystemRoot%\system32\cmd.exe /c C:\sb\perl\site\bin\perldist_strawberry.bat --output C:\strawberry --skip 1 --skip 2 --skip 3
# { Or
#%SystemRoot%\system32\cmd.exe /c C:\sb\perl\bin\perl.exe -x -S perldist_strawberry.pl --output C:\strawberry --skip 1 --skip 2 --skip 3
# }
Go to directory:
C:\tmp\output\
rename strawberry-perl-5.12.3.0.msi strawberry-perl-5.12.3.0-32bit-build-2011-06-09.msi
rename strawberry-perl-5.12.3.0.zip strawberry-perl-5.12.3.0-32bit-build-2011-06-09.zip
Copy this files from C:\tmp\