On 31.08.2009, at 11:08, Ian Piumarta wrote:
Unix VM hackers,
I've published a preview of the 3.11.3 Unix VM for the amusement of alpha testers everywhere. Lots of things are bound to be broken and/ or forgotten and/or incomplete and/or begging for improvement. I'm not quite finished tweaking but comments and suggestions are definitely welcome at this stage!
Hi Ian,
Attached is an updated platforms/cmake/configure script that does a better job of building in a directory outside of the platforms tree. It fixes the generation of VM_VERSION (and hence also the name of the target install directory). It also causes --src=<directory> to do the right thing for both VM_VERSION and for the cmake argument list when specifying a source directory outside of the platforms tree. If the "--src=<directory" option is not specified, it defaults to the sources in platforms/unix/src.
For background, here is why this was a problem for me. My customary directory layout is:
./SVN/squeak-svn-source-2127/platforms ./platforms -> ./SVN/squeak-svn-source-2127/platforms ./src32 ./src64 ./src -> ./src32 ./build32 ./build64
When using the config/configure script, I would work in the ./build32 (or ./build64) directory. When running configure without arguments, the default ../src source location would follow my symlink to ../src32, hence "cd build32; ..platforms/unix/config/configure; make; make install" to build a VM.
When running the new cmake/configure script, I was expecting it to find ../src32 but instead it used ../platforms/unix/src. In addition, cmake had CMAKE_VERBOSE_MAKEFILE set to FALSE, so it cheerfully built my VM from the wrong source directory, and I was none the wiser until I noticed that changes to a plugin that I was debugging were not getting included in the build.
Phew, how did I get off on that tangent? Oh, yes, I was going to look into that "[Vm-dev] Bug in BitBlt. Need help" thing that Juan posted ;)
Dave