I've just committed an initial patch that allows Pike to be compiled
using mingw32. To compile pike using mingw32, you will have to do the
following:
1) Install the latest mingw32-dist
2) Install Msys
3) Install the mingw Win32 API update
4) Install GMP (either from source or bin package)
5) Install Nettle (untested! I've been using --without-nettle for the
time beeing...)
6) Get a Pike 7.7 source snapshot (or build one yourself). Building
from CVS under mingw32 seems to break due to some cr/lf problem, so
build the source-dist on a unix box.
7) Set the PIKE_PATH_TRANSLATE to some sed-command which translates
the master-paths from you MSYS installation to the regular NT-CMD
filesystem(*).
8) Do "make configure" to configure your buildtree.
9) Do "make" do build pike.
10) (optional) Do "make verify". This will fail, the hard way.. ;(
11) You should now have a pike which is usable to some extent. I
havn't tested it much, but I've done some simple tests and it seems to
hold up fairly well.
(*) I build from my home-dir, /home/SSS668. To create a working
master, I need to translate that path to c:/msys/1.0/home/SSS668. You
need to do the same using some creative sed-command or accept that
your build will fail when it attepmts to build post_modules. You can
modify the master manually if you like. Look for the ¤-sign to find
what places to modify.
So, there it is. Now you should know what you need to build. I believe
that Mingw32 is the easiest way to get Pike to compile on
Win32. However, I'm not so certain it is the best choice since there
seems to be quite a few compatibility issues between mingw32 and the
win32 api (as MS provides it). I have access to both at work and they
do not match in several places.
I believe that we should try to get Pike to work with mingw first, and
then start working towards MSVC native compilation. However, there
will still be the problem of configuring the build. It may be that we
always will need a msys-layer to run configure.