Contributing to the CE C Toolchain

If you are brave enough to contribute source to the CE C Toolchain, this page is for you!

Creating PRs for review

Pull Requests (PRs) should branch from git master. Before creating a PR, it is a good idea to get some feedback either from IRC or by creating a relevant issue. 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 C Toolchain

Linux and macOS

Get the ez80-clang LLVM compiler. Make sure the compiler is located in the system’s PATH environment variable.

Get the fasmg assembler. The download is located near the bottom of the page. Extract the fasmg executable for your operating system to either the same place as ez80-clang, or in the system’s PATH environment variable.

Clone the repo:

git clone --recurse-submodules https://github.com/CE-Programming/toolchain.git

Build and install the toolchain:

cd toolchain
make
make install

By default, the toolchain is installed into the home (~/CEdev) directory.

This is configurable with make install PREFIX=[LOCATION]

Windows

Get MinGW. The only required pacakges are mingw32-base and mingw32-gcc-g++. Make sure the MinGW/bin directory is in the system’s PATH environment variable.

Get the ez80-clang LLVM compiler. Make sure the compiler is located in the system’s PATH environment variable.

Get the fasmg assembler. The download is located near the bottom of the page. Extract the fasmg executable for your operating system to either the same place as ez80-clang, or in the system’s PATH environment variable.

Clone the repo:

git clone --recurse-submodules https://github.com/CE-Programming/toolchain.git

Build and install the toolchain:

cd 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]