35 lines
1.3 KiB
Plaintext
35 lines
1.3 KiB
Plaintext
|
-*-mode:org-*-
|
||
|
|
||
|
M2-Planet being based on the goal of bootstrapping the Minimal C compiler required to support structs, arrays, inline assembly and self hosting;
|
||
|
is rather small, under 1.7Kloc according to sloccount
|
||
|
|
||
|
* SETUP
|
||
|
The most obvious way to setup for M2-Planet development is to clone and setup mescc-tools first (https://github.com/oriansj/mescc-tools.git)
|
||
|
Then be sure to install any C compiler and make clone of your choice.
|
||
|
|
||
|
Should you wish to verify or leverage the M2-Moon bootstrap path;
|
||
|
please make sure to setup M2-Moon (https://github.com/oriansj/M2-Moon.git)
|
||
|
and then setup the knight-vm (https://github.com/oriansj/knight-vm.git)
|
||
|
|
||
|
* BUILD
|
||
|
The standard C based approach to building M2-Planet is simply running:
|
||
|
make M2-Planet
|
||
|
|
||
|
Should you wish to verify that M2-Planet was built correctly run:
|
||
|
make test
|
||
|
|
||
|
* ROADMAP
|
||
|
The current outstanding work for M2-Planet involves porting M2-Planet into M2-Moon and extending its functionality
|
||
|
|
||
|
* DEBUG
|
||
|
To get a properly debuggable binary:
|
||
|
make M2-Planet-gcc
|
||
|
|
||
|
* Bugs
|
||
|
M2-Planet assumes a very heavily restricted subset of the C language and many C
|
||
|
programs will break hard when passed to M2-Planet.
|
||
|
|
||
|
M2-Planet does not actually implement any primitive functionality, it is assumed
|
||
|
that will be written in inline assembly by the programmer or provided by the
|
||
|
programmer durring the assembly and linking stages
|