I've now successfully built a Pike from CVS with MinGW. The big trouble has been bison, but I took a Cygwin-compiled bison and put in the MinGW installation and it worked. There are still some minor problems with sed-scripts and make rules, but with some manual tinkering I managed to get a working Hilfe.
A more detailed description of the current state... How to build Pike from CVS on Windows:
Download and install the following MinGW environment: http://pike.ida.liu.se/generated/MinGW.exe
Start the environment through msys.bat (the first invokation will create a home directory).
Check out the Pike source from CVS in your home directory. (You will need to install a CVS application on your own first)
You need to have an installed Pike on your system. Make sure it is in the msys environment path (i.e. so that you can start Hilfe with "pike").
Replace Parser.pmod/C.pmod in your installed Pike with the latest one from Pike 7.7 and delete C.pmod.o.
Back in the CVS source, Stdio.pmod/module.pmod contains a reference to the peek() function, which isn't implemented on Windows. Thus the compilation of this file currently fails. Put a #if 0/#endif around the if-block in which peek() is used.
Something is possibly wrong with strip_opcodes which makes generation of interpret_protos.h go bad. You'll have to copy this file from a unix build tree or a source dist.
Make sure the line breaks in modules/system/mkerrnos.sed are unix-style (e.g. do Stdio.write_file("mkerrnos.sed",Stdio.read_file("mkerrnos.sed")-"\r"); in Hilfe)
Type make and Pike should build.
Problem summary so far: - interpret_protos.h isn't generated correctly. - mkerrnos.sed breaks if line breaks are \r\n. - make verify will try to run sprsh. We need to more accurately detect a sprsh-environment and only run sprsh in that case. - Line-splicing with \ appears to be broken in CPP for \r\n line breaks. - Many tests in the testsuite fails because A) the unix-path is used and not the windows path, and B) the path contains a space ("Program Files").
pike-devel@lists.lysator.liu.se