Download Latest Version mingw-w64-for-perl-20120411-4.6.3.7z (33.9 MB)
Email in envelope

Get an email when there's a new version of Citrus GCC (mingw-w64) for Perl

Home / Compiler for 64 bit Windows
Name Modified Size InfoDownloads / Week
Parent folder
Separate Packages 2013-05-19
mingw-w64-for-perl-20130519-4.6.4.7z 2013-05-19 32.3 MB
mingw-w64-for-perl-20130519-4.6.4.zip 2013-05-19 71.1 MB
mingw-w64-for-perl-20121012-4.6.3.zip 2012-10-16 71.0 MB
mingw-w64-for-perl-20121012-4.6.3.7z 2012-10-16 32.3 MB
mingw-w64-for-perl-20120411-4.6.3.zip 2012-04-12 80.4 MB
mingw-w64-for-perl-20120411-4.6.3.7z 2012-04-12 33.9 MB
README_mgfp_compiler-w64.txt 2012-04-04 5.0 kB
Totals: 8 Items   321.0 MB 0
------------------------------------------------------------
GCC COMPILER BUNDLE FOR 64 BIT WINDOWS
------------------------------------------------------------

The archives contain a single top level directory - 'mingw64'
Download one of the archives (7-zip is recommended) and 
extract to a path on your system with NO SPACES.

Once extracted, to use place '<extractedpath>\mingw64\bin'
on your path.

You may do this by adding the path to the start of your
PATH environment variable, or more commonly you may create
batch files that set up your environment. For example:

mydevenv.bat >>

set PATH=C:\extractedpath\mingw64\bin;%PATH%
cmd /K

<<

The compiler bundle includes c, c++ and fortran compilers.

make.exe has been renamed with the aliases gmake and 
mingw32-make to avoid conflict with msys make if you use 
that enviroment.

The 'dmake' make utility is included for use with Perl.

------------------------------------------------------------
USE WITH PERL
------------------------------------------------------------

For use with Perl you may also choose to add the path to
Perl allowing you to set up environments for several
different Perl installations.

mydevenv.bat >>

set MPERLPATH=C:\myperl
set PATH=%MPERLPATH%\site\bin;%MPERLPATH%\bin;%PATH%
set PATH=C:\extractedpath\mingw64\bin;%PATH%
cmd /K

<<

For use with ActivePerl, you may wish to rely on ActivePerl
itself passing out the correct configuration options during
module compilation which all recent versions of ActivePerl
should do. ActivePerl passes link library options that 
include '-lmsvcrt'. It appears this is the wrong thing to do
with some gcc versions but the issue only manifests itself
compiling particular xs modules. You may therefore choose to 
use the bundled configuration module in 
..\mingw64\perllib\Config_MinGWFP.pm.
You can place this module in your $PERL\site\lib and then 
set up your environment bat as:

mydevenv.bat >>

set MPERLPATH=C:\myperl
set PATH=%MPERLPATH%\site\bin;%MPERLPATH%\bin;%PATH%
set PATH=C:\extractedpath\mingw64\bin;%PATH%
set PERL5OPT=-MConfig_MinGWFP
cmd /K

<<

------------------------------------------------------------
COMPILING YOUR OWN PERL
------------------------------------------------------------

Compiling your own Perl is quite straightforward.

Download the source for Perl 5.12.x or Perl 5.14.x.

Edit the file ..\win32\makefile.mk

The text below shows the edits you might choose to make which
can easily applied by hand. (Edits are the same for Perl 5.12)

=======================================================================
--- perl-5.14.2/win32/makefile.mk 2011-06-17 01:06:09.000000000 +0100
+++ perl-5.14.2/win32/makefile.mk 2011-10-15 19:04:39.931400000 +0100
@@ -23,12 +23,12 @@
 # newly built perl.
 #
 INST_DRV   *= c:
-INST_TOP   *= $(INST_DRV)\perl
+INST_TOP   *= $(INST_DRV)\myperl
 
 #
 # Uncomment if you want to build a 32-bit Perl using a 32-bit compiler
 # on a 64-bit version of Windows.
 #WIN64  *= undef
 
 #
 # Comment this out if you DON'T want your perl installation to be versioned.
@@ -58,7 +58,7 @@
 # before anything else.  This script can then be set up, for example,
 # to add additional entries to @INC.
 #
-#USE_SITECUST  *= define
+USE_SITECUST   *= define
 
 #
 # uncomment to enable multiple interpreters.  This is need for fork()
@@ -194,7 +194,7 @@
 .IF "$(CCTYPE)" == "BORLAND"
 CCHOME     *= C:\Borland\BCC55
 .ELIF "$(CCTYPE)" == "GCC"
-CCHOME     *= C:\MinGW
+CCHOME     *= C:\extractedpath\mingw64
 .ELSE
 CCHOME     *= $(MSVCDIR)
 .ENDIF
@@ -210,8 +210,8 @@
 # unsure about the correct name.)
 # Without these corrections, the op/taint.t test script will fail.
 #
-#GCC_4XX       *= define
-#GCCHELPERDLL  *= $(CCHOME)\bin\libgcc_s_sjlj-1.dll
+GCC_4XX        *= define
+GCCHELPERDLL   *= $(CCHOME)\bin\libgcc_s_sjlj-1.dll
 #GCCHELPERDLL  *= $(CCHOME)\bin\libgcc_s_dw2-1.dll
 #GCCHELPERDLL  *= $(CCHOME)\bin\libgcc_s_1.dll
 
@@ -230,8 +230,8 @@
 CCINCDIR *= $(CCHOME)\mingw\include
 CCLIBDIR *= $(CCHOME)\mingw\lib
 .ELSE
-CCINCDIR *= $(CCHOME)\include
-CCLIBDIR *= $(CCHOME)\lib
+CCINCDIR *= $(CCHOME)\x86_64-w64-mingw32\include
+CCLIBDIR *= $(CCHOME)\x86_64-w64-mingw32\lib
 .ENDIF
 
 #

=======================================================================

Once you have make your edits to makefile.mk, you can change to the
..\win32 directory of the Perl source and run

dmake

Once Perl has compiled, BEFORE you run the tests you must copy
libstdc++-6.dll to the ..\t directory of the Perl source in which you
are building. Then.

dmake test

You can then

dmake install

So that your Perl installation can run even when your compiler bin is 
not on your path, copy two dlls from ..\mingw64\bin to your <perl>\bin
so that they are side by side with perl.exe

libgcc_s_sjlj-1.dll
libstdc++-6.dll























Source: README_mgfp_compiler-w64.txt, updated 2012-04-04