Building the Project Oberon OS

General discussions about using the Astrobe IDE to program the FPGA RISC5 cpu used in Project Oberon 2013
Post Reply
cfbsoftware
Site Admin
Posts: 493
Joined: Fri Dec 31, 2010 12:30 pm
Contact:

Building the Project Oberon OS

Post by cfbsoftware » Sat Jul 25, 2015 2:57 am

The Astrobe for RISC5 Build command automatically works out the import dependency tree of the module you are currently working on. When you Build a module it works out which imported (directly and indirectly) symbol files / object files are out of date, and automatically compiles them in the correct sequence first. Rebuild does the same except that it recompiles everything in the correct dependency sequence regardless of dates.

For example, the following dummy module which references the top-level Project Oberon modules can be used to rebuild the entire operating system with just one command. When you Rebuild BuildCore it will automatically recompile ALL 23 core modules of the operating system - about 9000 lines in total. The whole process (including generating the disassembly listings) takes less than 700 millseconds on my PC.
build.jpg
build.jpg (93.68000000000001 KiB) Viewed 10122 times
If, for example, you edit the compiler module ORB (referenced by ORP) without changing its exported items and then Build BuildCore, only ORB will be compiled. However, if you change the interface of ORB by adding a new exported item then Build BuildCore will automatically recompile ORP and ORG as well because they both import ORB.

Post Reply