This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Improve support for building on Windows with mingw-w64.sf.net binaries
authorSteve Hay <steve.m.hay@googlemail.com>
Mon, 9 Jul 2012 08:16:21 +0000 (09:16 +0100)
committerSteve Hay <steve.m.hay@googlemail.com>
Mon, 9 Jul 2012 08:20:01 +0000 (09:20 +0100)
commit20634986f97107f7b774c0232e3a3feb99f9011f
tree59f8ba713422c45b892d921ce973ddb66bd85c42
parentc9c0535823bbd207e509723201c3b1ea752cc280
Improve support for building on Windows with mingw-w64.sf.net binaries

The cross-compiler has headers and libraries in a sub-directory called
x86_64-w64-mingw32\, which is also copied to mingw\ in the automated
builds but not in other builds (e.g. rubenvb's build), so rely on the
folder which is always present.

The DLLs required for op\taint.t to work are nomrally found in \bin\, but
for the cross-compiler are found in the same folder as the libraries since
they are 64-bit DLLs, whereas the compiler binaries themselves are 32-bit.

With these fixes we now support the following MinGW/gcc compilers:

Native 32-bit compilers (WIN64=undef GCCCROSS=undef): mingw.org, rubenvb's
build of mingw-w64.sf.net, Mark Dootson's build of the same (used in
Strawberry Perl).

Native 64-bit compilers (WIN64=define GCCCROSS=undef): rubenvb's build of
mingw-w64.sf.net, Mark Dootson's build of the same (used in Strawberry
Perl).

32-bit cross-compilers producing 64-bit binaries (WIN64=define
GCCCROSS=define): rubenvb's build of mingw-w64.sf.net, the automated build
of the same.

There is currently no automated build of a native 64-bit compiler on
mingw-w64.sf.net, and their automated build of a native 32-bit compiler is
not currently supported since it uses an anomalous naming convention
compared to the other options above.

See http://www.nntp.perl.org/group/perl.perl5.porters/2012/07/msg189461.html
for discussion.
win32/makefile.mk