blob: ce38c06840602674726b59b00bbcd4981f41d9c2 [file] [log] [blame]
.. _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