-
Notifications
You must be signed in to change notification settings - Fork 19
Development Setup
If you want to help out with rebooting the MPS you'll need a suitable development environment. This page explains what is required. You can help out on other platforms, but this is what you'll need for the critical path to getting MLWorks rebooted. See Roadmap.
- 32-bit Windows 7. The MLWorks 2.0 installer won't run under WOW64 on 64-bit Windows. I'm using Windows 7 under VMware Fusion on my Mac Mini.
- MLWorks 2.0. You will be able to play with the MLWorks 2.0 IDE for 10 minutes with under the "Personal Edition" license.
- Cygwin with "make" and "gcc-core". The MLWorks build uses GNU Make and GCC's assembler.
- Visual Studio 2010 or later. The free Express edition will do.
- (Optional) Git for Windows. You can use some other way to get the source tree onto Windows if you want.
- (Optional) Emacs for Windows. You could use some other kind of environment.
Here are the steps to getting the hacked RTS build to remove MLWorks 2.0's licensing restrictions.
-
Start → Visual Studio → Visual Studio Tools → Visual Studio Command Prompt. This gets you the environment variables to reach the Microsoft compilers.
-
C:\cygwin\bin\bash -l
. This gets you the environment to reach GNU Make and GCC. -
(Optional)
C:\Program Files\emacs-*\bin\runemacs
. This gets you something better than CMD to work in. -
Get the MLWorks repo and switch to the rts-rewind branch. Something like this:
git clone git://github.com/Ravenbrook/mlworks.git git checkout -t -b rts-rewind origin/rts-rewind
-
Build the hacked RTS:
cd mlworks/src/rts make ARCH=I386 OS=NT
-
You can now apply the hacked RTS to the MLWorks 2.0 image files. For example, this should launch the MLWorks IDE "Professional Edition", without licensing restrictions:
./runtime-g -load "C:\Program Files\Harlequin\MLWorks\images\gui.img" -pass zalgo -gui zalgo
-
Start working on boostrapping like this:
cd .. rts/runtime-g -load "C:\Program Files\Harlequin\MLWorks\images\batch.img" -pass foo -project batch.mlp -configuration I386/NT -target __batch.sml -build foo
So far only the MLWorks batch compiler is only rebooted on Windows. You can help out by getting the rest of the development environment going, or getting MLWorks cross-compiled to Linux or Mac OS X.
-
Get the MLWorks "reboot" release. The contains the rebooted runtime and batch compiler, based on the latest source tree retrieved from Harlequin.
-
Try compiling projects like this:
$ cd mlworks/src $ ~/MLWorks-reboot/bin/I386/NT/main -MLWpass foo -load $(cygpath -w ~/MLWorks-reboot/images/I386/NT/batch.img) foo -pervasive-dir pervasive -project basis.mlp -configuration I386/NT -target require_all.sml -build