Self-hosting toolchain for the XR/station and Fox32 platforms.
Features a self-hosting compiler for the Jackal language, an assembler, a linker, and a multi-threaded build tool; all written in Jackal. These tools can run on any little-endian platform that has a C compiler, and also on the XR/17032 and Fox32 architectures.
To initially build the Jackal compiler, type ./bootstrap.sh
to cause the "precompiled" C files to be built into the initial compiler at ./bin/jkl.exe
. The custom build system will also be built at ./bin/xrbt.exe
.
Typing ./buildall.sh [desired multithread count]
will then do a "proper" build of all of the tools.
Subsequent compilations of the tools can be performed as:
./bin/xrbt.exe ./build.xrbt JOBS=[desired multithread count] [toolname]
Where toolname is one of the following choices:
Jackal - The Jackal compiler.
XrBuildTool - The build system.
XrAsm - The assembler.
XrLink - The linker.
XrDiskUpdateTool - The disk tool.
- Jackal -> C bootstrap transpiler.
- Self-hosted Jackal compiler with C, Fox32, and XR/17032 backends.
- Self-hosted build tool
xrbt
to replacemake
. - New generic assembler written in Jackal with XR/17032 and Fox32 support.
- New linker written in Jackal with XR/17032 and Fox32 support.
- Disk image creation and partitioning tool. Also with support for formatting, reading, and writing AisixFS.
-
xrbt
support for automatically creating and updating rebuilt files in disk images if configured to do so. - Complete rewrite of the MINTIA OS in Jackal.
- New middle-end and backends for the Jackal compiler, since those turned out suboptimal (it was my first time!).