| .. _no-west: |
| |
| Using Zephyr without west |
| ######################### |
| |
| There are many valid usecases to avoid using a meta-tool such as west which has |
| been custom-designed for a particular project and its requirements. |
| This section applies to Zephyr users who fall into one or more of these |
| categories: |
| |
| - Already use a multi-repository management system (for example Google repo) |
| |
| - Do not need additional functionality beyond compiling and linking |
| |
| In order to obtain the Zephyr source code and build it without the help of |
| west you will need to manually clone the repositories listed in the |
| `manifest file`_ one by one, at the path indicated in it. |
| |
| .. code-block:: console |
| |
| mkdir zephyrproject |
| cd zephyrproject |
| git clone https://github.com/zephyrproject-rtos/zephyr |
| # clone additional repositories listed in the manifest file, |
| # and check out the specified revisions |
| |
| If you want to manage Zephyr's repositories without west but still need to |
| use west's additional functionality (flashing, debugging, etc.) it is possible |
| to do so by manually creating an installation: |
| |
| .. code-block:: console |
| |
| # cd into zephyrproject if not already there |
| git clone https://github.com/zephyrproject-rtos/west.git .west/west |
| |
| Then create a file :file:`.west/config` with the following contents: |
| |
| .. code-block:: none |
| |
| [manifest] |
| path = zephyr |
| |
| After that, and in order for ``ninja`` to be able to invoke ``west`` |
| to flash and debug, you must specify the west directory. This can be |
| done by setting the environment variable ``WEST_DIR`` to point to |
| :file:`zephyrproject/.west/west` before running CMake to set up a |
| build directory. |
| |
| .. _manifest file: |
| https://github.com/zephyrproject-rtos/zephyr/blob/master/west.yml |