I've been moving forward with building the VM for Windows from the GitHub sources with MinGW.Now, to get the thing to compile, I had to replace the oft_t things by _oft_t, same for the 64 flavor.So, modifiying two header files, one being mingw.h where I put #define oft_t _oft_t at the end.This did the trick and I now have all plugins/dlls building fine:
FT2Plugin.dlllibcairo-2.dlllibeay32.dlllibfreetype-6.dlllibfreetype.dll.alibFT2Plugin.dll.alibpixman-1-0.dlllibpng-3.dlllibSqueakFFIPrims.dll.alibSqueakSSL.dll.aSqueakFFIPrims.dllSqueakSSL.dllssleay32.dllzlib1.dllare in results/Also, to get there, one has to create a vmVersionInfo.h file in platforms\Cross\vm with something in the REVISION_STRING#define REVISION_STRING "Pharo VM - Philippe Back from GitHub Sources 20131119"
I wonder why this isn't something automagically generated in the process as it seems that the CI build has something.The last step is getting Pharo.exe to link but this doesn't work:Linking C executable /C/MinGW/msys/1.0/home/Philippe/pharo-vm/results/Pharo.exec:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot find -lcrtdllcollect2.exe: error: ld returned 1 exit statusmake[2]: *** [C:/MinGW/msys/1.0/home/Philippe/pharo-vm/results/Pharo.exe] Error1make[1]: *** [CMakeFiles/Pharo.dir/all] Error 2make: *** [all] Error 2Looks like a library path is wrong or else.Idea?Also, there are quite a number of warnings spit out during the compiling process all over the place, more than the Mac VM build I think.e.g.[ 92%] Building C object CMakeFiles/Pharo.dir/C_/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/win32/vm/sqWin32Prefs.c.objIn file included from C:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/Cross/vm/sq.h:193:0,from c:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/win32/vm/sqWin32Prefs.c:20:C:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/win32/vm/sqPlatformSpecific.h:52:0: warning: "VM_EXPORT" redefined [enabled by default]# define VM_EXPORT __declspec( dllexport )^In file included from c:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/win32/vm/sqWin32Prefs.c:20:0:C:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/Cross/vm/sq.h:48:0: note: this is the location of the previous definition#define VM_EXPORT^[ 93%] Building C object CMakeFiles/Pharo.dir/C_/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/win32/vm/sqWin32Utils.c.objIn file included from C:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/Cross/vm/sq.h:193:0,from c:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/win32/vm/sqWin32Utils.c:14:C:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/win32/vm/sqPlatformSpecific.h:52:0: warning: "VM_EXPORT" redefined [enabled by default]# define VM_EXPORT __declspec( dllexport )^In file included from c:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/win32/vm/sqWin32Utils.c:14:0:C:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/Cross/vm/sq.h:48:0: note: this is the location of the previous definition#define VM_EXPORT
Phil