|
| 1 | +.. _contributing: |
| 2 | + |
| 3 | +Contributing to the CE C Toolchain |
| 4 | +================================== |
| 5 | + |
| 6 | +If you are brave enough to contribute source to the CE C Toolchain, this page is for you! |
| 7 | + |
| 8 | +Creating PRs for review |
| 9 | +----------------------- |
| 10 | + |
| 11 | +Pull Requests (PRs) should branch from git :code:`master`. |
| 12 | +Before creating a PR, it is a good idea to get some feedback either from IRC or by creating a relevant issue. |
| 13 | +This will increase the chances of your PR being merged in a timely fashion. |
| 14 | +Please do not make large PRs; it is better to make smaller changes in different PRs. |
| 15 | + |
| 16 | +For information on how to fork a repo and create a PR using GitHub, see the `forking documentation <https://docs.github.com/en/free-pro-team@latest/github/getting-started-with-github/fork-a-repo>`_. |
| 17 | + |
| 18 | +Building the CE C Toolchain |
| 19 | +--------------------------- |
| 20 | + |
| 21 | +Linux and macOS |
| 22 | +~~~~~~~~~~~~~~~ |
| 23 | + |
| 24 | +Get the `ez80-clang LLVM compiler <https://github.com/jacobly0/llvm-project/wiki>`_. |
| 25 | +Make sure the compiler is located in the system's PATH environment variable. |
| 26 | + |
| 27 | +Get the `fasmg assembler <https://flatassembler.net/download.php>`_. |
| 28 | +The download is located near the bottom of the page. |
| 29 | +Extract the `fasmg` executable for your operating system to either the same place |
| 30 | +as `ez80-clang`, or in the system's PATH environment variable. |
| 31 | + |
| 32 | +Clone the repo: |
| 33 | + |
| 34 | +.. code-block:: bash |
| 35 | +
|
| 36 | + git clone --recurse-submodules https://github.com/CE-Programming/toolchain.git |
| 37 | +
|
| 38 | +Build and install the toolchain: |
| 39 | + |
| 40 | +.. code-block:: bash |
| 41 | +
|
| 42 | + cd toolchain |
| 43 | + make |
| 44 | + make install |
| 45 | +
|
| 46 | +By default, the toolchain is installed into the home (`~/CEdev`) directory. |
| 47 | + |
| 48 | +This is configurable with :code:`make install PREFIX=[LOCATION]` |
| 49 | + |
| 50 | +Windows |
| 51 | +~~~~~~~ |
| 52 | + |
| 53 | +Get `MinGW <http://www.mingw.org>`_. |
| 54 | +The only required pacakges are `mingw32-base` and `mingw32-gcc-g++`. |
| 55 | +Make sure the `MinGW/bin` directory is in the system's PATH environment variable. |
| 56 | + |
| 57 | +Get the `ez80-clang LLVM compiler <https://github.com/jacobly0/llvm-project/wiki>`_. |
| 58 | +Make sure the compiler is located in the system's PATH environment variable. |
| 59 | + |
| 60 | +Get the `fasmg assembler <https://flatassembler.net/download.php>`_. |
| 61 | +The download is located near the bottom of the page. |
| 62 | +Extract the `fasmg` executable for your operating system to either the same place |
| 63 | +as `ez80-clang`, or in the system's PATH environment variable. |
| 64 | + |
| 65 | +Clone the repo: |
| 66 | + |
| 67 | +.. code-block:: bash |
| 68 | +
|
| 69 | + git clone --recurse-submodules https://github.com/CE-Programming/toolchain.git |
| 70 | +
|
| 71 | +Build and install the toolchain: |
| 72 | + |
| 73 | +.. code-block:: bash |
| 74 | +
|
| 75 | + cd toolchain |
| 76 | + mingw32-make |
| 77 | + mingw32-make install |
| 78 | +
|
| 79 | +By default, the toolchain is installed into the root (C:\\CEdev) directory. |
| 80 | + |
| 81 | +This is configurable with :code:`mingw32-make install PREFIX=[LOCATION]` |
0 commit comments