MPS issue job003477

TitleMPS is hard to build and debug on Windows
Statusopen
Priorityoptional
Assigned userGareth Rees
OrganizationRavenbrook
DescriptionRB says [1]: "It's hard to build and debug the MPS on Windows. You have to launch a Visual Studio tools shell (and another one for x64) and use NMAKE, which scrolls off the CMD window. Either that or we have to maintain Visual Studio "projects" which can't do anything flexible like run tests. It's not clear that our NMAKE build produces anything that we can debug with Visual Studio."
AnalysisRB [1]: "There are a few possible things to do:

- Ensure our NMAKE build is producing appropriate modern debug info.

- Add a "testrun" target of some sort to NMAKE so that we can quickly verify the MPS on Windows at least. [DONE]

- Emacs to somehow pick up the Visual Studio environment setting necessary to build, so that "M-x compile" can be used to build and edit. Perhaps it can run or scan "vcvars.bat". This work might be portable to CVM to replace part of "cmenv".

- An easy way to run test programs with the vsjitdebugger.exe prefix, so that we can quickly single-step our work."

RB [2]: "We could also consider ditching NMAKE and relying on Cygwin tools like GNU Make. We've avoided this in the past because we wanted other people to be able to build the MPS without many external dependencies. (They can do it now just using the Microsoft SDK.) But since 1.110 we expect anyone using the MPS to build it by simply compiling "mps.c" in their own project, whatever that is."
How foundmanual_test
Evidence[1] <https://info.ravenbrook.com/mail/2013/05/10/10-09-23/0/>
[2] <https://info.ravenbrook.com/mail/2013/05/10/10-27-23/0/>
Observed in1.111.0
Created byGareth Rees
Created on2013-05-10 11:17:43
Last modified byGareth Rees
Last modified on2014-06-19 19:27:33
History2013-05-10 GDR Created.
2013-06-16 RB Downgraded to "optional" as this isn't affecting anyone except us (see job003499).

Fixes

Change Effect Date User Description
182516 open 2013-06-04 20:40:07 Gareth Rees Reorganize Windows build so that facts are mentioned in only one place.
Provide "testrun" target (and batch file) for running the test suite.