50 lines
1.5 KiB
ReStructuredText
50 lines
1.5 KiB
ReStructuredText
.. _toolchain_xtools:
|
|
|
|
Crosstool-NG (Deprecated)
|
|
#########################
|
|
|
|
.. warning::
|
|
|
|
``xtools`` toolchain variant is deprecated. The
|
|
:ref:`cross-compile toolchain variant <other_x_compilers>` should be used
|
|
when using a custom toolchain built with Crosstool-NG.
|
|
|
|
You can build toolchains from source code using crosstool-NG.
|
|
|
|
#. Follow the steps on the crosstool-NG website to `prepare your host
|
|
<http://crosstool-ng.github.io/docs/os-setup/>`_.
|
|
|
|
#. Follow the `Zephyr SDK with Crosstool NG instructions
|
|
<https://github.com/zephyrproject-rtos/sdk-ng/blob/master/README.md>`_ to
|
|
build your toolchain. Repeat as necessary to build toolchains for multiple
|
|
target architectures.
|
|
|
|
You will need to clone the ``sdk-ng`` repo and run the following command:
|
|
|
|
.. code-block:: console
|
|
|
|
./go.sh <arch>
|
|
|
|
.. note::
|
|
|
|
Currently, only i586 and Arm toolchain builds are verified.
|
|
|
|
#. :ref:`Set these environment variables <env_vars>`:
|
|
|
|
- Set :envvar:`ZEPHYR_TOOLCHAIN_VARIANT` to ``xtools``.
|
|
- Set :envvar:`XTOOLS_TOOLCHAIN_PATH` to the toolchain build directory.
|
|
|
|
#. To check that you have set these variables correctly in your current
|
|
environment, follow these example shell sessions (the
|
|
:envvar:`XTOOLS_TOOLCHAIN_PATH` values may be different on your system):
|
|
|
|
.. code-block:: console
|
|
|
|
# Linux, macOS:
|
|
$ echo $ZEPHYR_TOOLCHAIN_VARIANT
|
|
xtools
|
|
$ echo $XTOOLS_TOOLCHAIN_PATH
|
|
/Volumes/CrossToolNGNew/build/output/
|
|
|
|
.. _crosstool-ng site: http://crosstool-ng.org
|