Contributing to the CE Toolchain
If you are brave enough to contribute source to the CE Toolchain, this page is for you!
Creating PRs for review
Pull Requests (PRs) should branch from git master.
Before creating a PR, it may be a good idea to get some feedback from IRC/Discord first.
This will increase the chances of your PR being merged in a timely fashion.
Please do not make large PRs - it is better to make smaller changes in different PRs.
For information on how to fork a repo and create a PR using GitHub, see the forking documentation.
Building the CE Toolchain
Linux and macOS
It is usually easier to download a toolchain release which already contains the needed binaries for compiling/assembling if you are just making code modifications to the toolchain. If you need to do everything from scratch though, the steps are below.
Download the prebuilt ez80 LLVM compiler.
Make sure that ez80-clang and ez80-link are reachable by the system’s PATH environment variable.
Download the prebuilt ez80 GNU binutils
Make sure that bin directory is reachable by the system’s PATH environment variable.
Download the fasmg assembler.
The download is located near the bottom of the page.
Extract the fasmg.x64 executable to the same location as the compiler.
Rename it to just fasmg.
Clone the repo:
git clone https://github.com/CE-Programming/toolchain.git
cd toolchain
git submodule update --init --recursive
Build and install the toolchain:
make
make install
By default, the toolchain is installed into the home (~/CEdev) directory.
This is configurable with make install PREFIX=[LOCATION]
Windows
It is usually easier to download a toolchain release which already contains the needed binaries for compiling/assembling if you are just making code modifications to the toolchain. If you need to do everything from scratch though, the steps are below.
Get MSYS2 and use the MinGW64 environment.
The only required pacakge is mingw-w64-x86_64-toolchain.
Make sure the C:\msys64\mingw64\bin directory is in the system’s PATH environment variable.
Download the prebuilt ez80 LLVM compiler.
Make sure that ez80-clang.exe and ez80-link.exe are reachable by the system’s PATH environment variable.
Download the prebuilt ez80 GNU binutils
Make sure that bin directory is reachable by the system’s PATH environment variable.
Download the fasmg assembler.
The download is located near the bottom of the page.
Extract the fasmg.exe executable to the same location as the compiler.
Clone the repo:
git clone https://github.com/CE-Programming/toolchain.git
cd toolchain
git submodule update --init --recursive
Build and install the toolchain:
mingw32-make
mingw32-make install
By default, the toolchain is installed into the root (C:\CEdev) directory.
This is configurable with mingw32-make install PREFIX=[LOCATION]